Ollamaをダウンロード

irm https://ollama.com/install.ps1 | iex
上記コマンドをPowerShellで実行する

Android開発向けの軽量モデルをプルする
下記コマンドをPowerShellで実行する
ollama pull qwen2.5-coder:7b

この時点でのGPUの状態

専用GPUメモリは1.2/12GB
Android StudioでGeminiの画面を開く

Use a local modelを押す。
Settings画面のAI > Model Providersの画面が開きます。

DescriptionにOllamaと入力するとPortが自動で入力された。
右側にあるRefreshを押すと、ローカルモデルが選択された。

OKを押す。
Agentの画面が表示される。下のほうに選択したローカルモデルが表示された。

Ask AIでAIを実行した時のGPUのパフォーマンス

AIの回答がかえってくると通知が表示されました。

1分45秒でFinished
OllamaとAndroidStudioが同じPCで設定ができた。
つづいてOllamaとAndroidStudioを別PCにする。
Ollama Ai PC側に以下の2つの変数を追加します。
変数名: OLLAMA_HOST / 変数値: 0.0.0.0 (すべての端末からの接続を許可)
変数名: OLLAMA_ORIGINS / 変数値: * (クロスドメイン接続を許可)



Ollamaを再起動する
タスクバー右下のタスクトレイからQuiet Ollamaを押す。

Ollamaを起動する。

Ollamaのポート(11434)を解放する
「ファイアウォールとネットワーク保護」の
「詳細設定」をクリックする。
「Windows Defender ファイアウォールと詳細設定」画面で、左側の「受信の規則」または「送信の規則」を押す。
ファイアウォールでポートを開放する
Windowsはデフォルトで外部からの接続をブロックするため、Ollamaが使うポート(11434)を通す設定が必要です。
- スタートメニューで「ファイアウォール」と入力し、[セキュリティが強化されたWindows Defender ファイアウォール] を開きます。
- 左メニューの [受信の規則] をクリックし、右メニューの [新しい規則] をクリックします。
- 規則の種類で [ポート] を選択し、[次へ] を押します。


- [TCP] と [特定のローカルポート] にチェックを入れ、空欄に
11434と入力して [次へ] を押します。 - [接続を許可する] を選択して [次へ] を押します。
- プロファイル(ドメイン・プライベート・パブリック)はすべてチェックを入れたまま [次へ] を押します。
- 名前に適当な文字列(例:
Ollama LAN Access)を入力し、[完了] を押します。
Ollama AIサーバーのIPアドレスを調べる
- AIサーバー(Windows)で コマンドプロンプト を開きます。
ipconfigと入力してEnterを押します。- IPv4 アドレス の欄に書かれている数字(例:
192.168.1.50や10.0.0.xなど)をメモします。
わたしのAiサーバーは192.168.1.12でした。
ネットワークの場所が「パブリック」になっていないか確認する
AIサーバー(Windows)のWi-Fiや有線LANの接続設定が「パブリックネットワーク」になっていると、Windowsの強力なセキュリティ機能により、ファイアウォールでポートを開放していても外部からの接続をすべて無視(ステルス状態に)してしまいます。
- AIサーバー(Windows)の 設定(Win + I) を開きます。
- [ネットワークとインターネット] > [Wi-Fi] または [イーサネット] を開きます。
- 接続中のネットワーク名をクリックし、ネットワークプロファイルの種類を [プライベート] に変更します。
- 変更後、Ollamaを一度再起動してください

プライベートネットワークに変更する。
AndroidStudioのPCでChromeを開き、AIサーバーOllama にアクセスする。
Ollama is running と表示すればアクセスOKのようです。

AndroidStudioのAgentにローカルAIサーバーを追加する
Refreshを押す。


なにができるのか。きいてみた。

You:
なにができるのか
Agent:
私はアシスタントとして設計されており、ユーザーが様々なタスクを助けることができます。以下に私が行える主な機能をいくつか紹介します。
- ファイル操作: ファイルの内容を読む、書き換える、削除することができます。また、特定の文字列を検索したり、特定のファイルを見つけることができます。
- ソースコード操作: ソースコードの問題を特定し、修正案を提案することができます。特にAndroidプロジェクトやGradleファイルに関する操作も可能です。
- スクリーンショット: 接続されたデバイスの画面をスクリーンショットを撮影し、それがどのような状態になっているかを確認することができます。
- ウェブ検索: 指定したキーワードでウェブを検索し、その結果を要約して返すことができます。これにより、最新の情報を探したり、特定のトピックについて詳しく知ることができます。
- プラニング: プロジェクトのタスクを計画し、各タスクの進行状況を追跡することができます。タスクの状態を変更するためのコマンドも提供しています。
- Androidプロジェクト管理: Androidプロジェクトの構造を確認し、GradleとAndroid Studioとの間で情報の同期を行うことができます。
- バージョン確認: MavenアーティファクトやAndroidのバージョンなどの最新の情報を確認することができます。
- スクリプト実行: シェルスクリプトを実行できますが、一般的に推奨される方法とは異なるため、プロジェクト外のファイルやシステムレベルの操作を行う際には注意が必要です。
これらが私の主な機能ですが、ユーザーの要件に応じて最適な機能を選択し、必要な操作を実行することができます。