txtai は、セマンティック検索、LLM オーケストレーション、言語モデル ワークフローのためのオールインワンの埋め込みデータベースです。
エンベディング データベースは、ベクトル インデックス (疎および密)、グラフ ネットワーク、およびリレーショナル データベースを組み合わせたものです。
この基盤により、ベクトル検索が可能になったり、大規模言語モデル (LLM) アプリケーションの強力な知識ソースとして機能したりできます。
自律エージェント、検索拡張生成 (RAG) プロセス、マルチモデル ワークフローなどを構築します。
txtai の機能の概要:
txtai は、Python 3.9 以降、Hugging Face Transformers、Sentence Transformers、および FastAPI で構築されています。 txtai は、Apache 2.0 ライセンスに基づくオープンソースです。
ホストされた txtai アプリケーションを簡単かつ安全に実行する方法に興味がありますか?次に、txtai.cloud プレビューに参加して詳細を確認してください。
新しいベクトル データベース、LLM フレームワーク、およびその間にあるあらゆるものが日々誕生しています。 txtai で構築する理由
# Get started in a couple lines
import txtai
embeddings = txtai . Embeddings ()
embeddings . index ([ "Correct" , "Not what we hoped" ])
embeddings . search ( "positive" , 1 )
#[(0, 0.29862046241760254)]
# app.yml
embeddings :
path : sentence-transformers/all-MiniLM-L6-v2
CONFIG=app.yml uvicorn " txtai.api:app "
curl -X GET " http://localhost:8000/search?query=positive "
次のセクションでは、txtai の一般的な使用例を紹介します。 60 を超えるサンプル ノートブックとアプリケーションの包括的なセットも利用できます。
セマンティック/類似性/ベクトル/ニューラル検索アプリケーションを構築します。
従来の検索システムは、キーワードを使用してデータを検索します。セマンティック検索は自然言語を理解し、必ずしも同じキーワードではなく、同じ意味を持つ結果を識別します。
次の例から始めてください。
ノート | 説明 | |
---|---|---|
txtaiの紹介 | txtaiが提供する機能の概要 | |
画像による類似検索 | 画像とテキストを同じスペースに埋め込んで検索します | |
QAデータベースを構築する | セマンティック検索による質問のマッチング | |
セマンティックグラフ | トピック、データ接続を調査し、ネットワーク分析を実行します |
自律エージェント、検索拡張生成 (RAG)、データとのチャット、パイプライン、大規模言語モデル (LLM) と連携するワークフロー。
詳細については、以下を参照してください。
ノート | 説明 | |
---|---|---|
プロンプトテンプレートとタスクチェーン | モデルプロンプトを構築し、タスクをワークフローに接続します | |
LLM フレームワークの統合 | llama.cpp、LiteLLM、カスタム生成フレームワークを統合 | |
LLM を使用してナレッジ グラフを構築する | LLM 主導のエンティティ抽出を使用してナレッジ グラフを構築する |
エージェントは、エンベディング、パイプライン、ワークフロー、その他のエージェントを相互に接続して、複雑な問題を自律的に解決します。
txtai エージェントは、Transformers Agent フレームワーク上に構築されています。これは、txtai がサポートするすべての LLM (Hugging Face、llama.cpp、OpenAI / Claude / AWS Bedrock via LiteLLM) をサポートします。
詳細については、以下のリンクを参照してください。
ノート | 説明 | |
---|---|---|
txtai 8.0 の新機能 | txtai を使用するエージェント | |
グラフとエージェントを使用したハグ顔投稿の分析 | グラフ分析とエージェントを使用して豊富なデータセットを探索する | |
エージェントに自律性を与える | 必要に応じて問題を繰り返し解決するエージェント |
検索拡張生成 (RAG) は、コンテキストとして知識ベースを使用して出力を制限することで、LLM 幻覚のリスクを軽減します。 RAG は通常、「データとのチャット」に使用されます。
txtai の新しい特徴は、回答と出典の引用の両方を提供できることです。
ノート | 説明 | |
---|---|---|
txtai を使用して RAG パイプラインを構築する | 引用の作成方法を含む検索拡張生成に関するガイド | |
txtai を使用した RAG の仕組み | RAG プロセス、API サービス、Docker インスタンスを作成する | |
グラフ パス トラバーサルを備えた高度な RAG | 高度な RAG の複雑なデータ セットを収集するためのグラフ パス トラバーサル | |
スピーチツースピーチ RAG | RAG を使用したフルサイクルの音声読み上げワークフロー |
言語モデル ワークフローはセマンティック ワークフローとも呼ばれ、言語モデルを接続してインテリジェントなアプリケーションを構築します。
LLM は強力ですが、特定のタスクに対してより適切かつ高速に動作する、より小型でより特化したモデルが多数あります。これには、抽出的質問応答、自動要約、テキスト読み上げ、文字起こし、翻訳のモデルが含まれます。
ノート | 説明 | |
---|---|---|
パイプラインワークフローを実行する | データを効率的に処理するためのシンプルかつ強力な構造 | |
抽象的なテキストの要約を作成する | 抽象的なテキストの要約を実行する | |
音声をテキストに書き写す | 音声ファイルをテキストに変換する | |
言語間でテキストを翻訳する | 機械翻訳と言語検出を合理化する |
最も簡単なインストール方法は、pip と PyPI を使用することです。
pip install txtai
Python 3.9以降がサポートされています。 Python 仮想環境の使用をお勧めします。
オプションの依存関係、環境固有の前提条件、ソースからのインストール、conda サポート、コンテナーでの実行方法について詳しくは、詳細なインストール手順を参照してください。
現在の推奨モデルについては、以下の表を参照してください。これらのモデルはすべて商用利用が可能であり、速度とパフォーマンスの融合を提供します。
成分 | モデル |
---|---|
埋め込み | all-MiniLM-L6-v2 |
画像のキャプション | ブリップ |
ラベル - ゼロショット | BART-Large-MNLI |
ラベル - 修正済み | トレーニング パイプラインで微調整する |
大規模言語モデル (LLM) | ラマ 3.1 の命令 |
要約 | ディスティルバート |
テキスト読み上げ | ESPnet JETS |
転写 | ささやき |
翻訳 | オーパスモデルシリーズ |
モデルは、Hugging Face Hub からのパスまたはローカル ディレクトリのいずれかとしてロードできます。モデル パスはオプションであり、指定しない場合はデフォルトがロードされます。推奨モデルのないタスクの場合、txtai は、「Hugging Face Tasks」ガイドに示されているデフォルトのモデルを使用します。
詳細については、次のリンクを参照してください。
次のアプリケーションは txtai を利用しています。
応用 | 説明 |
---|---|
txtチャット | 検索拡張生成 (RAG) を利用した検索 |
ペーパーライ | 医学/科学論文のセマンティック検索とワークフロー |
コード質問 | 開発者向けのセマンティック検索 |
tldrstory | 見出しと記事本文のセマンティック検索 |
このリストに加えて、実稼働環境で txtai を構築した他の多くのオープンソース プロジェクト、公開された研究、非公開の独自/商用プロジェクトもあります。
埋め込み、パイプライン、ワークフロー、API の構成設定、および一般的な質問/問題を含む FAQ を含む、txtai の完全なドキュメントが利用可能です。
txtai に貢献したい方は、こちらのガイドをご覧ください。