インスピレーション

AIBOU(相棒)は、もともとOllamaでローカル運用している日常使用中の永続記憶エージェントです。今回のハッカソンをきっかけに、この本番運用中のツールを壊さずにQwen Cloudへ対応させられないか、というのが出発点でした。

概要

AIBOUは、ユーザーの学び・経験・好みを蓄積し、セッションをまたいでどんどん賢くなる個人用相棒AIです(Track 1: MemoryAgent)。

  • 永続記憶: ChromaDB(ベクトルDB)で知識ベースを永続化し、質問のたびに関連する過去の経験を意味検索して文脈に組み込む
  • 育ち続ける記憶: 明示的な記録・RSS自動収集・外部プロジェクトからの知見取り込みにより、使うほど賢くなる
  • 3つの入口: CLI、デスクトップ常駐(画面監視・音声対話)、Chrome拡張(閲覧中ページへのアドバイス)

どう作ったか

  • aibou.py_call_qwen_raw()が、Qwen Cloud(DashScope OpenAI互換API)を呼び出す
  • 既存の_call_ollama_raw()が内部でプロバイダ分岐し、呼び出し元(CLI/デスクトップ/サーバー)は無変更で両対応
  • AIBOU_PROVIDER=qwenという環境変数一つで切り替え可能なプロバイダ抽象化を実装。本番運用中のOllamaベース運用を一切壊さない
  • Alibaba Cloudデプロイ用にDockerfile・deploy/DEPLOYMENT.mdを準備済み

直面した課題

  • 本番運用中のツールを壊さずに新しいプロバイダを安全に差し込む設計が最大の課題でした
  • 開発中、ベクトル検索結果に関連度は低いが文量の多いドキュメントが混ざると、LLMが正しい情報を拾えなくなる問題を発見し、top_kの調整で対処しました
  • 新規クラウドアカウント作成・支払い情報登録には時間的制約があり、Alibaba Cloudへの実デプロイは今回はscope外としました(デプロイ手順自体は準備済みで、すぐ実行可能な状態です)

Built With

  • chromadb
  • dashscope
  • docker
  • fastapi
  • memory-agent
  • ollama
  • python
  • qwen-cloud
  • rag
Share this project:

Updates