コンテンツにスキップ

開発

概要

このセクションでは、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: デプロイ用

セットアップ手順

Terminal window
# pyenvインストール
brew install pyenv
# Poetryインストール
curl -sSL https://install.python-poetry.org | python3 -
# プロジェクト初期化
poetry init
poetry install

📱 アプリケーション

Flutter アプリ

構成:

  • 管理者用アプリ
  • ユーザー用アプリ
  • 環境別設定(Dev/Stg/Prod)

API サーバー

実装:

  • FastAPI ベースのREST API
  • JWT認証によるセキュリティ
  • Dockerコンテナによるデプロイ

☁️ クラウドインフラ

Google Cloud Platform

サービス:

  • Cloud Run: APIサーバーホスティング
  • Cloud Functions: ファイル処理
  • Firebase: 認証・DB・ストレージ

デプロイ手順

Terminal window
# 設定切り替え
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 トークン検証

データ分離

手法:

  • テナント別データ分離
  • ペイロードベースフィルタリング
  • アクセス権限管理

📋 詳細ドキュメント

技術実装の詳細については、開発ドキュメント統合をご覧ください。


このセクションは開発チームの技術的な知見を集約し、効率的な開発とメンテナンスをサポートします。