開発
概要
このセクションでは、Vectaプロジェクトの技術的な実装詳細、開発環境の構築方法、デプロイ手順などの開発者向け情報を提供しています。主にRAGシステムやAIチャットボットの開発に関する技術文書を集約しています。
🏗️ システム構成
RAGシステム
技術スタック:
- フロントエンド: Flutter
- API: Cloud Run (Python/FastAPI)
- ベクトルDB: Qdrant
- データベース: Firestore
- ストレージ: Firebase Storage
- 認証: Firebase Auth
Agentic RAG
LangChainを活用した高度なRAGシステムの開発を行っています。
特徴:
- 意図分類処理による適切なデータソース選択
- 複数データソース(ベクトルDB、構造化DB、外部API)の統合
- MCPサーバーを活用したデータアクセス
🔧 開発環境
必要なツール
- Python: 3.11.5以上
- pyenv: Pythonバージョン管理
- Poetry: 依存関係管理
- Docker: コンテナ化
- Google Cloud CLI: デプロイ用
セットアップ手順
# pyenvインストールbrew install pyenv
# Poetryインストールcurl -sSL https://install.python-poetry.org | python3 -
# プロジェクト初期化poetry initpoetry install📱 アプリケーション
Flutter アプリ
構成:
- 管理者用アプリ
- ユーザー用アプリ
- 環境別設定(Dev/Stg/Prod)
API サーバー
実装:
- FastAPI ベースのREST API
- JWT認証によるセキュリティ
- Dockerコンテナによるデプロイ
☁️ クラウドインフラ
Google Cloud Platform
サービス:
- Cloud Run: APIサーバーホスティング
- Cloud Functions: ファイル処理
- Firebase: 認証・DB・ストレージ
デプロイ手順
# 設定切り替えgcloud config configurations activate spella-rag-api-dev
# デプロイ実行make deploy-dev🤖 AI・機械学習
文書処理
機能:
- PDFテキスト抽出
- 縦書き・横書き自動判定
- 階層的チャンク化
- セマンティック分割
埋め込み生成
技術:
- OpenAI Embeddings
- Sentence Transformers
- ベクトル類似検索
📊 評価・改善
RAG精度評価
指標:
- 検索精度(Retrieval Accuracy)
- 回答品質(Response Quality)
- ユーザー満足度
継続的改善
プロセス:
- 定期的な精度測定
- 業務知見者によるレビュー
- 学習データの更新
🔒 セキュリティ
認証・認可
仕組み:
- Firebase Authentication
- カスタムクレーム(tenantId、role)
- JWT トークン検証
データ分離
手法:
- テナント別データ分離
- ペイロードベースフィルタリング
- アクセス権限管理
📋 詳細ドキュメント
技術実装の詳細については、開発ドキュメント統合をご覧ください。
このセクションは開発チームの技術的な知見を集約し、効率的な開発とメンテナンスをサポートします。