FASTAPI -FASTAPIは、標準のPythonタイプのヒントに基づいて、Python 3.7+を使用してAPIを構築するためのモダンで高速(高性能)のWebフレームワークです。
llamaindex -llamaindexは、コンテキストの増強から利益を得るLLMベースのアプリケーションのデータフレームワークです。このようなLLMシステムは、RAGシステムと呼ばれ、「検索された生成」を表しています。 LlamainDexは、より正確なテキスト生成のためにこれらを安全かつ確実にLLMに注入するために、プライベートまたはドメイン固有のデータをより簡単に摂取、構造、およびアクセスするための重要な抽象化を提供します。
Mongodb Atlas -Mongodb Atlasは、Mongodbを構築するのと同じ人々によって開発された完全に管理されたクラウドデータベースです。
Atlas Vector Search -Atlas Vector Searchでは、非構造化データを検索できます。 OpenaiやHugging Faceなどの機械学習モデルを使用してベクトル埋め込みを作成し、検索拡張生成(RAG)、セマンティック検索、推奨エンジン、動的パーソナライズ、その他のユースケースのためにAtlasに保存およびインデックスを作成できます。
注: ATLASベクトル検索を使用するには、KNNインデックスを作成する必要があります。
Atlas Searchでコレクションの検索インデックスを作成します。 「JSONエディター」モードを選択し、次のコンテンツでインデックスを設定します。 {
"mappings": {
"dynamic": true,
"fields": {
"embedding": {
"dimensions": 1536,
"similarity": "cosine",
"type": "knnVector"
}
}
}
}
詩でインストール:
pip install poetry
poetry config virtualenvs.in-project true
poetry shell
poetry install
uvicorn app.main:app --host 127.0.0.1 --port 9080
docker build -t insight-chat .
docker run -d --name insight-chat -p 8080:8080 insight-chat






要するに、LlamainDexは次のパターンを使用してドキュメント情報を保存します。
ドキュメントのテキストは、「チャンク」とも呼ばれるいくつかのノードに分割されます。ドキュメントIDをプライマリキーとして使用すると、主にファイル名やハッシュなどのメタデータを表す各ドキュメントを表すオブジェクトは、そのドキュメントのノードのリストとともにドキュメントストアに保存されます。ノードIDを主キーとして使用すると、ノードの埋め込みはベクターストアに保存されます。

ストアの3つのMongoDB実装は、このプロジェクトで使用されています。
https://medium.com/@luoning.nici/llamaindex-in-depth-practice-how-to-build-a leliable-storage-system-with-mongodb-atlas-f306bf2fb480
https://docs.llamaindex.ai/en/stable/index.html
https://www.mongodb.com/atlas