シーケンシャル質問MCPサーバー
LLM(大規模言語モデル)が逐次的な質問を通じて特定の情報を収集できるようにする専用サーバー。このプロジェクトは、LLMクライアントとのシームレスな統合のためにMCP(モデル制御プロトコル)標準を実装しています。
プロジェクトのステータス
🎉バージョン 1.0.0 リリース🎉
シーケンシャル・クエスチョニングMCPサーバーが完成し、本番環境への導入準備が整いました。計画されていた機能はすべて実装、テスト、ドキュメント化されました。
Related MCP server: Vibe-Coder MCP Server
特徴
シーケンシャル質問エンジン: 以前の回答に基づいて、状況に応じて適切なフォローアップ質問を生成します。
MCPプロトコルサポート: LLMとの統合のためのMCP仕様の完全実装
堅牢なAPI :包括的な検証とエラー処理を備えたRESTful API
ベクターデータベース統合:質問パターンの効率的な保存と検索
包括的なモニタリング:PrometheusとGrafanaによるパフォーマンスメトリクスと可観測性
本番環境対応のデプロイメント: マルチ環境をサポートする Kubernetes デプロイメント構成
高可用性: 生産の信頼性を確保するための水平ポッドオートスケーラーとポッド中断予算
セキュリティ: トラフィックを制限し、アプリケーションを保護するネットワークポリシー
ドキュメント
はじめる
前提条件
Python 3.10以上
Docker と Docker Compose (ローカル開発用)
Kubernetes クラスター (本番環境への展開用)
PostgreSQL 15.4以降
Qdrantインスタンスへのアクセス
クイックスタート
最も簡単な方法は、初期化スクリプトを使用することです。
このスクリプトは次のことを行います。
Dockerが実行中かどうかを確認する
Docker Composeで必要なコンテナを起動する
データベースの移行を自動的に実行する
アプリケーションへのアクセス方法に関する情報を提供する
アプリケーションはhttp://localhost:8001で利用可能になります。
地域開発
リポジトリをクローンする
git clone https://github.com/your-organization/sequential-questioning.git cd sequential-questioning依存関係をインストールする
pip install -e ".[dev]"環境変数を設定する
cp .env.example .env # Edit .env file with your configuration開発サーバーを実行する
uvicorn app.main:app --reload
Docker デプロイメント
データベースのセットアップ
アプリケーションを手動で起動する場合は、データベースの移行を忘れずに実行してください。
Kubernetes デプロイメント
開発環境
kubectl apply -k k8s/overlays/devステージング環境
kubectl apply -k k8s/overlays/staging生産環境
kubectl apply -k k8s/overlays/prod
詳細な手順については、最終展開計画と運用ランブックを参照してください。
監視
監視のために Prometheus および Grafana ダッシュボードにアクセスします。
CI/CDパイプライン
GitHub Actions を使用した自動化された CI/CD パイプライン:
継続的インテグレーション: リンティング、型チェック、テスト
継続的デプロイメント: 開発、ステージング、本番環境への自動デプロイメント
デプロイメント検証: デプロイメント後の自動チェック
テスト
テスト スイートを実行します。
パフォーマンス テストを実行します。
トラブルシューティング
データベーステーブルが作成されていません
アプリケーションは実行されているが、データベース テーブルが存在しない場合は、次のようになります。
データベースコンテナが実行中であることを確認する
データベースの移行を手動で実行します。
export DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres" bash scripts/run_migrations.sh
Pydantic バージョンの互換性
pydantic.errors.PydanticImportError: BaseSettings has been moved to the pydantic-settings packageエラーが発生した場合は、次の点を確認してください。
pydantic-settingsパッケージは依存関係に含まれていますpydanticから直接ではなく、pydantic_settingsからBaseSettingsをインポートしています
このプロジェクトでは、 BaseSettings別のパッケージに移動した Pydantic v2.x を使用します。
貢献
貢献を歓迎します!ガイドラインについてはCONTRIBUTING.mdをご覧ください。
ライセンス
接触
サポートやお問い合わせについては、 support@example.comまでご連絡ください。