ホームページ  >  記事  >  バックエンド開発  >  OpenRAG: 大規模な言語モデルを使用してデータ クエリを強化するオープンソース GenAI アプリケーション

OpenRAG: 大規模な言語モデルを使用してデータ クエリを強化するオープンソース GenAI アプリケーション

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-22 14:17:02888ブラウズ

OpenRAG: An Open-Source GenAI Application to Supercharge Data Queries with Large Language Models

人工知能の時代において、企業や開発者はデータ分析と顧客との対話を合理化するために大規模言語モデル (LLM) をますます活用しています。オープンソースの Generative AI (GenAI) アプリケーションである OpenRAG は、LLM の柔軟性とさまざまなベクトル データベースにわたる効率的なデータ クエリ機能を組み合わせることで、ユーザーを支援します。 PDF を操作している場合でも、大規模なデータセットのクエリを実行している場合でも、保存されたデータから洞察を求めている場合でも、OpenRAG を使用すると、自然言語クエリを使用してデータをシームレスに操作できます。

OpenRAG の主な機能

  1. すべてのオープンソース LLM モデルのサポート OpenRAG は、さまざまなオープンソース LLM と統合するように設計されており、ユーザーは独自のユースケースに最適なモデルを自由に選択できます。このプラットフォームの拡張性により将来の拡張が可能になり、ユーザーは AI 分野の最新の進歩を制限なく利用できるようになります。

  2. 複数のオープンソース ベクトル データベース 統合 OpenRAG は、Chroma、FAISS、Qdrant などの一般的なオープンソース ベクトル データベースをサポートするように事前構成されています。これらのデータベースは、高性能のベクトル検索と取得を容易にし、ユーザーがデータをクエリするときに正確な結果を確実に得ることができます。

  3. PDF アップロードとデータ クエリ OpenRAG の優れた機能の 1 つは、PDF ファイルをアップロードし、構造化されたデータ コレクションに変換する機能です。このため、このアプリケーションは、大量の PDF ベースの情報を扱う専門家にとって非常に役立ちます。 PDF がアップロードされると、ユーザーは選択した LLM を使用してコンテンツをクエリし、迅速かつ効率的に洞察を抽出できます。

  4. 再利用性を高めるための
  5. 永続的なコレクション名 OpenRAG は、アップロードされた PDF に一意のコレクション名を割り当て、ユーザーが同じファイルを再アップロードすることなくデータを返したりクエリしたりできるようにします。この機能により時間を節約し、データ管理をよりシームレスにします。

  6. ベクター データベースの一貫性 使用法 OpenRAG は、データ コレクションを特定のベクター データベースに結び付けることで一貫性を維持します。データベースがコレクションとして選択されると、ユーザーはデータベースを切り替えることができないため、毎回安定して正確なデータを取得できます。

OpenRAG 入門

AI 主導のデータ クエリの世界に飛び込む前に、スムーズなインストールのために次の前提条件を満たしていることを確認してください。

前提条件

Python バージョン: Python 3.9 以降がインストールされていることを確認してください。
Qdrant Docker イメージ: OpenRAG は Qdrant と統合されており、イメージが実行されているはずです。ローカルホストのポート 6333 にアクセスできることを確認してください。

インストール

  1. リポジトリのクローンを作成します:

git clone https://github.com/yourrepo/openrag.git

  1. 仮想環境の作成:
python3 -m venv openrag-env
source openrag-env/bin/activate
  1. 依存関係のインストール:

pip install -r required.txt

  1. スペイシー言語モデルをダウンロード:

python3 -m spacy ダウンロード en_core_web_sm

  1. アプリケーションを実行します:

uvicorn main:app --reload

導入を容易にする Docker 化

デプロイメントに Docker を使用したい開発者は、OpenRAG をコンテナ化できます。

  1. Docker イメージをビルドします:

docker build -t openrag-app .

  1. コンテナを実行します:

docker run -d -p 8000:8000 openrag-app

アプリが実行されたら、ブラウザーで http://localhost:8000 経由でアクセスします。

使用法: API 経由で OpenRAG と対話する

OpenRAG の API ファースト アーキテクチャにより、さまざまなフロントエンド アプリケーションに統合できます。 PDF をアップロードし、API を通じてその内容をクエリする方法の例を次に示します。

PDF をアップロードする

curl -X POST "http://localhost:8000/upload" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "file=@yourfile.pdf" \
-F "model_name=GPT-3.5" \
-F "vector_db_name=qdrant"

チャットセッションを開始する
PDF をアップロードした後、チャットベースのクエリを開始できます:

curl -X POST "http://localhost:8000/chat" \
-H "Content-Type: application/json" \
-d '{
  "collection_name": "your_collection_name",
  "query": "your_query",
  "model_name": "GPT-3.5",
  "vector_db_name": "qdrant",
  "device": "cpu"
}'

OpenRAG によるスケーラビリティ
OpenRAG の最大の強みの 1 つは、そのスケーラビリティです。 uvicorn などのツールを使用してローカル マシン上で実行できますが、本番環境に対応しており、クラウド プロバイダー、Docker、または Kubernetes を使用してデプロイできます。運用環境では、OpenRAG は Gunicorn などのツールによるスケーリングをサポートし、高トラフィックのユースケースに堅牢なパフォーマンスを提供します。

一般的なエラーと解決策
開発中に、ユーザーは次の一般的なエラーに遭遇する可能性があります:

TypeError: 記述子を直接作成できません。

これを解決するには、protobuf パッケージをバージョン 3.20.x 以下にダウングレードするか、環境変数

を設定することを検討してください。

PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

結論
OpenRAG は、データのクエリと洞察のために LLM とベクトル データベースの機能を活用したいと考えているユーザーにとって、柔軟なオープンソース ソリューションとして際立っています。開発者、研究者、企業ユーザーのいずれであっても、OpenRAG は、非常に効率的かつ直感的な方法でデータを操作するためのツールを提供します。

詳細な API ドキュメントとその他の例については、OpenRAG の API ドキュメントを参照してください。

OpenRAG への貢献
コミュニティからの貢献を歓迎します!貢献、問題の送信、または機能のリクエストの方法の詳細については、CONTRIBUTING.md を確認してください。

Github リポジトリ リンク
ラグリポジトリを開く

以上がOpenRAG: 大規模な言語モデルを使用してデータ クエリを強化するオープンソース GenAI アプリケーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。