readme
このREADMEは通常、アプリケーションを稼働させるために必要な手順をドキュメントします。
テクノロジースタック
- Python 3.9
- Fastapi
- FAISS-CPU == 1.7.4
- langchain == 0.0.207
- 松ぼっくりクライアント
- pgvector
サードパーティの統合
- SendGrid-電子メールの送信
- YouTube-Transcript-API-YouTube URLを取得します
- docx2txt -docxファイルからテキストを取得します
- PYPDF -PDFファイルからテキストを取得します
- Selenium- URLファイルからテキストを獲得します
- 他のドキュメントローダーと解析図書館
プロジェクトのセットアップ
特徴
- ジェネリック関数のエンドポイントとutilite
- ベクトル埋め込みの作成-YouTubeビデオ、HTMLページ、SiteMaps、URL、PDF、Docx、JSON、テキストファイル、CSV、またはリレーショナルデータベースから
- 正確なソースを持つカスタムデータに基づく質問と回答
- トークンカウントとトークンは、Tiktokenでエラー処理を超えました
- 異なるベクトルDBサポートの異なるエンドポイント
将来の強化
- Openai応答をフロントエンドにリアルタイムでストリーミングします
- いくつかのユーティリティ機能を追加し、既存のユーティリティの機能を改善します。
- コードをよりモジュラーで構成可能にします
IDE
プロジェクトのセットアップ
- セットアップの概要
- 構成
- 依存関係
- データベース構成
- テストを実行する方法
- 展開手順
コーディング規則
- PEP8
- モジュラーと構成可能なコードを書き込みます
- メインコードにコメントされたコードや未使用のインポートを入れないでください
- 相対的な輸入の代わりに、絶対輸入を使用する必要があります
- .format()または%sの代わりにfストリングの使用
- クラス名はキャメルケースにある必要があります
- 関数名と変数名はsnake_caseにある必要があります
- タイプのヒントの使用
- Docstringsの使用
- ロギングの使用
貢献ガイドライン
redis jsegation
- Redisのインストール:PIPインストールredis aioredis
- 要件をフリーズします:PIP Freeze> requincement.txt
- .envファイルにredis_host_urlを追加します
- Redisインスタンスは、on_startupイベントでmain.pyファイルで作成されます
セロリ統合
- セロリのインストール:ピップインストールセロリ
- 要件をフリーズします:PIP Freeze> requincement.txt
- .envファイルにcelery_broker_urlを追加します
- Celeryインスタンスは、Celery_Appのコアモジュールで作成されています
- セロリタスクは、ルートディレクトリのワーカーモジュールで作成されます
- セロリワーカーはコマンドの使用を開始します:celery -a app.worker worker -l info -c 1
セロリビートの統合
- セロリのインストール:ピップインストールセロリ
- 要件をフリーズします:PIP Freeze> requincement.txt
- セロリビートインスタンスは、ルートディレクトリのワーカーモジュールで作成されます
- 新しいタスクを追加しながら、スケジュールされた時間を数秒でルートディレクトリのワーカーモジュールに追加します
- セロリビートはコマンドを使用して開始します:セロリ-Aアプリ。ワーカービート-l情報
セントリー統合
- Sentry SDKのインストール:PIPインストールSentry-SDK
- 要件をフリーズします:PIP Freeze> requincement.txt
- Sentryインスタンスは、main.pyファイルで作成されます