Agent SoulMate — ローカルLLM駆動のAIソウルメイト
概要
Agent_SoulMateは、ローカルホストで動作する大規模言語モデル(Ollamaを介したqwen2.5:14bなど)をバックエンドに据えた“AI伴侶”プラットフォームです。ユーザーはキャラクター(人設、声、アバター、開場の台詞など)をUGCとして作成・公開でき、各キャラクターは専用の知識ベースに紐付けられます。Django REST + ChannelsによるAPIとWebSocketの組合せで、テキスト・音声双方のリアルタイム対話を実現。将来的なMilvus導入を見据えたRAG(Retrieval-Augmented Generation)やASR/TTS連携も想定されており、フロントはReact + Vite + Tailwindでモダンに構築されています。ローカルモデル優先の設計により、プライバシー配慮と低遅延応答が可能です。
リポジトリの統計情報
- スター数: 3
- フォーク数: 0
- ウォッチャー数: 3
- コミット数: 3
- ファイル数: 9
- メインの言語: Python
主な特徴
- ローカルLLM優先(Ollama経由のqwen2.5:14b)による対話生成
- UGC対応のキャラクター作成・公開機能(人設、声質、アバター等)
- Django Channels + WebSocketでのストリーミング応答、リアルタイム音声チャット
- RAG(知識ベース)連携、将来的にMilvusを利用したベクトル検索へ移行予定
技術的なポイント
Agent_SoulMateは「ローカルモデル+フルスタックWebアプリ」の典型的な構成をとります。バックエンドはDjango 4とDjango REST FrameworkでAPIを提供し、Django Channelsを使ってWebSocketベースの双方向ストリーミング通信を実装しているため、モデルからの生成を逐次クライアントへプッシュできます。LLMとの接続はOllamaのローカルAPIを想定しており、qwen2.5:14bのような比較的大きなモデルをオンプレで運用する設計です。これにより外部APIコストを抑えつつ、データを社外に出さない運用が可能になります。
RAGの実装は現状ローカルの知識ベースと結びついており、ドキュメントをキャラクターに紐付けてコンテキスト強化を行います。将来的にはMilvusに移行する設計が明記されており、そこで大規模なベクトル検索とスケーラブルなドキュメント管理が期待できます。音声のパイプラインはASR(音声→テキスト)とTTS(テキスト→音声)を組み合わせる想定で、リアルタイムチャットの体験を目指しています。フロントエンドはReact 18 + Viteで高速化され、Tailwind CSSとFramer MotionによりUI/UXも考慮されています。
開発者視点では、Docker Composeによるローカル開発環境や、Ollamaのエンドポイント設定、Channelsのルーティング、モデル生成のストリーミング処理(イベント駆動でのチャンク送信)などが実装上の注目点です。セキュリティ面ではローカルモデル利用がプライバシー保護に寄与しますが、音声データの取扱いや公開UGCの検閲・モデレーション、モデル更新時の互換性管理(トークナイゼーションやAPI差分)といった運用課題が残ります。拡張性としては、Milvusや外部ツール(Web検索、外部API呼び出し)をエージェントツールとして接続することで、より高度な行動や情報取得が可能になります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .vscode: dir
- README.md: file
- backend: dir
- docker-compose.yml: file
- figures: dir
その他のファイル(抜粋):
- frontend: 想定される React アプリ(READMEより技術スタック)
- requirements / Pipfile 等(バックエンド依存管理)
- Channels 関連設定(routing、consumers)
- RAG 用データディレクトリ(知識ベース格納用)
- ドキュメントや設定ファイルが将来的に追加される想定
(実際のリポジトリはファイル数が限定されているため、運用やデプロイに必要な環境設定はREADMEとdocker-compose.ymlを参照し、ローカルのOllamaやモデル配置を行う必要があります。)
まとめ
ローカルLLMでプライバシー寄りのリアルタイム音声付きUGC型AI伴侶を実現するための良い出発点です。
リポジトリ情報:
- 名前: Agent_SoulMate
- 説明: A full-stack AI companion platform driven by local LLMs (Ollama). Features UGC character creation, Milvus RAG, real-time voice chat, and Agent tools. Built with React & Django.
- スター数: 3
- 言語: Python
- URL: https://github.com/ByteTitan-star/Agent_SoulMate
- オーナー: ByteTitan-star
- アバター: https://avatars.githubusercontent.com/u/171657431?v=4
READMEの抜粋:
AI Soulmate: 本地大模型驱动的 UGC 语音伴侣平台
Agent Voice 首页界面
一个可扩展的全栈 AI 伴侣应用:支持用户创建/发布角色(UGC)、文本与语音对话、角色知识库、工具调用。
核心特性
- 本地模型优先:通过 Ollama 本地部署
qwen2.5:14b(OpenAI 兼容接口)驱动对话能力。 - 角色 UGC:创建多个角色、设定人设、开场白、头像、音色,并发布到角色广场。
- 实时通信:Django Channels + WebSocket,支持流式对话。
- RAG 能力:角色绑定私有知识库(后续迁移至 Milvus)。
- 语音链路:ASR + TTS(后续扩展功能)。
技术栈
- 前端:React 18 + Vite + Tailwind CSS + Framer Motion
- 后端:Django 4 + Django REST Framework + Channels
- LLM:Ollama(
qwen2.5:14b)+ Lan…