Vector Store APIプロジェクトへようこそ!このプロジェクトの目的は、ベクターを埋め込み、保存するための効率的でスケーラブルなAPIを提供し、Fastapi、Langchain、Chromaなどのベクターデータベースの力を活用することを目的としています。テキスト、画像、またはベクトルに変換され、類似性検索を介して取得する必要があるデータを扱うかどうかにかかわらず、このAPIはカバーされています。 ?
これらの指示により、プロジェクトのコピーが開発とテストの目的でローカルマシンで稼働します。
タスク1:依存関係を管理するためのプロジェクトの仮想環境をセットアップします。
タスク2: PIPを使用してFastapiとUvicorn(ASGIサーバー)をインストールします。
タスク3: Chromaまたはその他のVectorデータベースクライアントライブラリプロジェクトをインストールします。
タスク1:必要なエンドポイントを定義します。以下を検討してください。
ファイルまたはテキストをアップロードするためのエンドポイントをベクトル化する。
類似性検索を使用して、保存されたベクトルを検索するエンドポイント。
特定のベクトルまたはそのメタデータをリストまたは取得するエンドポイント。
タスク2: Pydanticモデルを使用したエンドポイントのリクエストと応答モデルを計画します。
タスク1:ファイル/テキストアップロードエンドポイントを実装します。
入力データを解析します。
入力をベクトル形式に埋め込みました(画像用のTensorflowやテキスト用のフェイスの変圧器を抱き締めるなど、外部ライブラリまたは埋め込みサービスが必要になる場合があります)。
関連するメタデータを備えたクロマにベクトルを保存します。
タスク2:検索エンドポイントを実装します。
クエリを入力として受け入れ、ベクトルに変換します。
Chromaで類似性検索を実行します。
最も近い試合を返します。
タスク3:必要に応じて補助エンドポイントを実装します(ベクトルのリスト、更新、削除用)。
タスク1:適切なベクトルデータベース(この場合はChroma)を選択します。
タスク2:ベクトルのデータストレージロジックを実装します。
タスク3: Chromaの検索機能を使用して、検索ロジックと検索ロジックを実装します。
タスク1: APIエンドポイントの単体テストを記述して、予想どおりに機能していることを確認します。
タスク2:クロマのベクトルストレージと検索機能をテストします。
タスク3: API全体のEND []から[]終了テストを実行します。
タスク1: Swagger UIでFastapiのビルド[]を使用してAPIを文書化します。
タスク2:展開のためにプロジェクトを準備します(コンテナ化にDockerを使用することを検討してください)。
タスク3: APIを展開します(オプションには、Heroku、AWS、またはGCPが含まれます)。
貢献は、オープンソースコミュニティを学習、インスピレーション、作成する素晴らしい場所にするものです。あなたがする貢献はどんな貢献も大歓迎です。 ??
このプロジェクトは、MITライセンスに基づいてライセンスされています - 詳細については、license.mdファイルを参照してください。