はじめに
自分専用のローカルAI「FMATTN」を作るために、現在はモデルの選定や実行環境について調べています。
今回目指しているのは、既存のAIモデルをPC上で動かすだけでなく、Pythonによるアプリケーション制御や会話履歴の管理なども組み合わせ、自分で仕組みを理解しながら開発することです。
この記事では、現時点で検討している技術と、それぞれの役割について整理します。実装できた部分と、まだ検証できていない部分は分けて記載します。
1. モデルと実行環境
モデルの候補として、Qwen3-8BのGGUF版を調査しています。具体的には、Qwen3-8B-Q5_K_M.ggufを検討しています。
GGUFは、対応する推論エンジンで利用するモデルファイル形式です。また、Q5_K_Mは量子化方式を示す名称で、モデルの重みを表現する際のデータ量などに関係します。実際のメモリ使用量や生成速度は、実行環境や設定によって変わるため、動作確認後に測定する予定です。
推論エンジンにはllama.cppを候補として考えています。モデルファイルを用意することと、そのモデルを読み込んで推論を実行することは別なので、まずは実行環境を整える必要があります。
2. Pythonの役割
Pythonは、モデルの重みそのものを作るためではなく、AIアプリケーション側の処理を担当させる予定です。
具体的には、ユーザーからの入力、推論エンジンとの連携、生成結果の表示、会話履歴の保存などを実装することを考えています。
モデルの推論処理とアプリケーションの処理を分けることで、UIやデータ管理の機能を独立して変更しやすくすることが狙いです。
3. 会話履歴とデータ管理
会話履歴や設定情報の保存方法として、JSON形式を検討しています。
ただし、会話をファイルに保存するだけでは、AIが自動的に過去の会話を記憶して利用できるわけではありません。保存した情報を読み込み、必要に応じてモデルへの入力に含める処理が必要になります。
この部分は、データの構造や会話履歴が増えた場合の扱いも含めて、今後設計していく予定です。
4. 今後の予定
まずはモデルのロードとテキスト生成を確認し、その後Pythonとの連携、チャットUI、会話履歴の保存へと進める予定です。
現時点では、これらすべての動作を確認できているわけではありません。実際に試したコマンドや実行結果を記録しながら、段階的に開発を進めていきます。
FM ATTNのダウンロードはこちらから↓