はじめに
MacOS LLM Controllerは、GitHubでホスティングされているオープンソースのデスクトップアプリケーションで、音声やテキストで自然言語のコマンドを入力することで、macOSのシステムコマンドを実行することができます。Llama-3.2-3B-Instructモデルに基づいており、LlamaStackを使用して、macOSシステムAPIを呼び出してタスクを完了するPythonコードを生成します。ユーザーが "open terminal"(ターミナルを開く)と言ったり、"new folder"(新規フォルダ)と入力すると、ツールが自動的に解析し、操作を実行する。このプロジェクトはReactフロントエンドとFlaskバックエンドを使用し、リアルタイムのステータスフィードバックとコマンド履歴をサポートしており、macOSユーザー、特に開発者やアクセシビリティを必要とする人々の作業効率を向上させるのに適している。コードは公開されており、コミュニティは最適化に参加することができる。
機能一覧
- 音声コマンド認識: マイクを通してあなたの声を入力すると、リアルタイムでmacOSコマンドに変換します。
- テキストコマンド入力:システム操作を行うための自然言語によるテキスト入力をサポート。
- コマンド履歴:実行されたコマンドの成功または失敗のステータスを表示します。
- リアルタイムのステータス・フィードバック:インターフェイスは、サービス接続とコマンド実行のステータスを動的に更新します。
- Pythonコード生成: LlamaStackに基づいて、命令を実行可能なmacOS APIコールコードに変換します。
- ローカライズされた操作:ユーザーのプライバシーを保護するため、すべての処理はローカルで行われます。
- セキュリティチェック: 生成されたPythonコードの基本的なセキュリティ検証を行います。
ヘルプの使用
設置プロセス
MacOS LLMコントローラーは、フロントエンド、バックエンド、LlamaStackモデルを含む環境をmacOSシステム上に設定する必要があります。以下は、ユーザーがスムーズに実行できるようにするための詳細なインストール手順です:
1.環境準備
システムが以下の要件を満たしていることを確認する:
- オペレーティングシステムmacOS(このプロジェクトはmacOS向けに設計されており、他のシステムは明示的にサポートしていません)。
- Node.jsバージョン16以上。
npm
Node.jsのウェブサイトは、Node.jsに関する素晴らしい情報源です。Node.jsのウェブサイトからダウンロードできます。 - パイソンバージョン3.8以上
pip
はPythonのウェブサイトからダウンロードできる。 - オーラマLlamaモデルの実行用。インストールするにはOllamaのウェブサイトをご覧ください。
- ドッカー: LlamaStackを実行するために、Docker Desktopをインストールします。
- ハードウェア要件モデル推論をサポートするために、16GB以上のRAMとマルチコアCPUを推奨します。
2.プロジェクトコードのクローニング
ターミナルを開き、以下のコマンドを実行してコードをクローンする:
git clone https://github.com/duduyiq2001/llama-desktop-controller.git
cd llama-desktop-controller
3.LlamaStackの設定
LlamaStackは、Pythonコードを生成するためのプロジェクトの中核となる依存関係である。設定手順は以下の通り:
環境変数の設定::
ターミナルで以下のコマンドを実行し、推論モデルを指定する:
export INFERENCE_MODEL="meta-llama/Llama-3.2-3B-Instruct"
export OLLAMA_INFERENCE_MODEL="llama3.2:3b-instruct-fp16"
Ollama 推論サーバの起動::
以下のコマンドを実行してモデルを起動し、60分間アクティブに保つように設定する:
ollama run $OLLAMA_INFERENCE_MODEL --keepalive 60m
LlamaStackをDockerで実行する::
ポートを設定し、コンテナを起動する:
export LLAMA_STACK_PORT=5001
docker run \
-it \
-p $LLAMA_STACK_PORT:$LLAMA_STACK_PORT \
-v ~/.llama:/root/.llama \
llamastack/distribution-ollama \
--port $LLAMA_STACK_PORT \
--env INFERENCE_MODEL=$INFERENCE_MODEL \
--env OLLAMA_URL=http://host.docker.internal:11434
LlamaStackが以下の場所にあることを確認してください。 http://localhost:5001
問題なく走っている。
4.バックエンドのセットアップ
バックエンドはFlaskをベースにしており、APIリクエストの処理とコード生成を担当している。手順は以下の通り:
- バックエンドのディレクトリに移動する:
cd backend
- Pythonの依存関係をインストールします:
pip install -r ../requirements.txt
依存関係には以下が含まれる。
flask
そしてflask-cors
そしてrequests
そしてpyobjc
歌で応えるllama-stack-client
.取り付けに失敗した場合は、家庭用の鏡を使用する:pip install -r ../requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- Flaskサーバーを起動します:
python server.py
- バックエンドが
http://localhost:5066
.
5.フロントエンドのセットアップ
フロントエンドはReactベースで、ユーザーインターフェースを提供する。手順は以下の通り:
- フロントエンド・ディレクトリに移動する:
cd .. # 返回项目根目录
- Node.jsの依存関係をインストールします:
npm install
- 開発サーバーを起動します:
npm run dev
- フロントエンドが
http://localhost:5173
.
6.アプリケーションへのアクセス
ブラウザを開き、次のサイトにアクセスする。 http://localhost:5173
.バックエンドと LlamaStack が正しく機能していることを確認してください。
機能操作ガイド
1.音声コマンドの使用
音声入力はプロジェクトの中核機能であり、素早い操作に適している。操作手順は以下の通り:
- 音声モードを起動するメイン・インターフェースの "音声入力 "ボタンをクリックする(またはショートカットキーを使う。)
- 記録方法マイクに向かって「Finderを開く」「Safariを閉じる」などのコマンドを言ってください。認識率を上げるために、静かな環境を保ちましょう。
- 実施プロセスこのツールはSpeechRecognition APIを使って音声をテキストに変換し、それをLlamaStackが解析してPythonコードに変換し、macOS APIを呼び出してタスクを実行する。
- 一般的なコマンドの例::
- "Open Terminal": Terminal.appを起動します。
- 「新規フォルダ」:カレントディレクトリにフォルダを作成する。
- 「スクリーンショット」:macOSのスクリーンショット機能を起動します。
- ほら::
- 初めてマイクを使用する場合は、マイク権限の認証が必要です。
- 認識に失敗した場合は、マイクの設定を確認するか、テキスト入力を切り替えてください。
2.テキスト指示の使用
テキスト入力は精密なコントロールに適しています。操作手順は以下の通り:
- 入力ボックスを開くインターフェイスからテキスト入力エリアを探す。
- 入力カレンダーを開く」、「ボリュームを50%にする」など、自然言語で入力してください。
- 指示書の提出実行ボタンをクリックするか、Enterキーを押すと、ツールがPythonコードを生成して実行します。
- 高度な使用法LlamaStackは、「デスクトップに "Projects "という新しいフォルダを作成し、それを開く」といった複雑なコマンドをサポートしている。LlamaStackはタスクを分解し、順次実行する。
- 注意を引く例えば、"ブラウザを開いてください "よりも "クロームを開いてください "の方がいい。
3.コマンド履歴の表示
インターフェイスには、各コマンドの実行状況を表示するコマンド履歴エリアが用意されている:
- 成功状態緑色のマークは、コマンドが正しく実行されたことを示す。
- エラー状態エラーメッセージを含むレッドフラッグ(例:「パーミッション不足」)。
- リグHistoryをクリックしてコマンドを再実行したり、生成されたPythonコードを見ることができます。
4.リアルタイム状態監視
サービス・ステータスはインターフェイスの右上に表示される:
- よりグリーンバックエンドとLlamaStackは正しく接続されています。
- ピンクサービスが切断されているので、FlaskやLlamaStackが起動しているか確認する必要がある。
- リグ手動で接続をリフレッシュするには、ステータスアイコンをクリックしてください。
5.セキュリティ検査
ツールは、生成されたPythonコードの基本的なセキュリティ検証を行います:
- リスクの高いコマンド(システムファイルの削除など)をフィルタリングする。
- 構文エラーをチェックし、コードが実行可能であることを確認する。
- 銘記する未知のソースからのコマンドを実行しないように注意する必要がある。
ほら
- モデル依存このプロジェクトはLlama-3.2-3B-Instructを使用するように固定されており、他のモデルを直接置き換えることはできません。
- パフォーマンス要件LlamaStackの実行には高い計算能力が必要なため、余計なプログラムは終了しておくことをお勧めします。
- 試運転方法起動に失敗した場合は、端末のログをチェックするか、あるいは
http://localhost:5066/status
バックエンドのステータスをチェックする。 - 能力の問題macOSのコマンドの中には(ファイルへのアクセスやボリュームのコントロールなど)認可が必要なものがあり、初めて実行するときは認可のプロンプトがポップアップ表示されます。
- 地域支援開発者がトラブルシューティングできるように、GitHubのIssuesにエラーログを添付して提出することができます。
アプリケーションシナリオ
- アクセシビリティ支援
視覚障がい者や移動に不自由なユーザーは、音声コマンドを使ってmacOSを操作することができます。例えば、「メールを開く」でMail.appを素早く起動することができ、より使いやすくなります。 - 開発効率
開発者は、「Xcodeを開き、新しいプロジェクトを作成する」といったコマンドを素早く実行できるため、手作業にかかる時間を節約し、開発作業に集中することができる。 - ルーチンオートメーション
毎日デスクトップファイルをアーカイブフォルダに整理する」といった繰り返し作業をテキストコマンドで行うことができ、効率的なオフィスワークに適している。 - 教育と実験
プログラミング愛好者は、LlamaStackがどのように自然言語をコードに変換し、AIがどのようにシステムと統合するかを学ぶことができる。
品質保証
- 不正確な音声認識については?
マイクが動作し、ノイズがない環境であることを確認してください。それでも失敗する場合は、テキスト入力に切り替えるか、SpeechRecognition APIの設定を確認してください。 - バックエンドの起動に失敗したら?
Pythonの依存関係が完全にインストールされていること、およびLlamaStackがhttp://localhost:5001
.見るserver.py
ログの位置決めエラー。 - MacOS以外のシステムをサポートしていますか?
コードがmacOS APIに依存しているため、現在はmacOSのみがサポートされているが、将来的にはコミュニティを通じて他のプラットフォームにも拡張される可能性がある。 - パフォーマンスを最適化するには?
メモリを増やすか、高性能のCPU/GPUを使用し、他のリソースを占有するプログラムを終了してください。また、より効率的なLlamaStackの設定もお試しください。 - コードを提供するには?
リポジトリをフォークし、Pull Requestを提出する。 プロジェクトのドキュメントを読み、コントリビューション・ガイドラインに従うことを推奨する。