llmwareはオープンソースのフレームワークで、エンタープライズクラスのRAG(Retrieval Augmentation Generation)アプリケーションの迅速な構築を支援します。llmwareはデータ処理からモデル推論までの完全なツールチェーンを統合しており、開発者は複雑な設定をすることなく、企業の知識ベースに接続し、クイズ、分類、抽出などのタスクを実行することができます。初心者でもプロの開発者でもすぐに始められるように、AI開発の障壁を下げることを目標に設計されています。llmwareはAI Bloks社によって開発され、Apache 2.0ライセンスに従い、活発なコミュニティを持ち、ユーザーの貢献を奨励しています。
機能一覧
- RAG組立ライン知識ソースへのアクセスからAIモデルの生成まで、完全なライフサイクル管理をサポートします。
- 50以上の専門モデル質問と回答、分類、抽出などのタスクにそれぞれ最適化されたモデルのSLIM、DRAGON、BLINGファミリーを含む。
- マルチデータベース対応MongoDB、PostgreSQL、SQLiteなどのテキストデータベースや、Milvus、PGVectorなどの10種類のベクトルデータベースと互換性があります。
- 効率的な現地オペレーション小型モデルはGPUなしで通常のPCで動作させることができ、コストを削減できます。
- 知識ソースの統合PDF、ウェブページ、オーディオなどの複数のデータソースをサポートし、自動的に処理されてモデルに埋め込まれます。
- 事実確認と監査証拠の検証、事実確認、手がかり履歴の追跡を行い、モデル化の錯覚を減らす。
- UIの例開発者がアプリケーションを素早く構築できるよう、インタラクティブなインターフェース例を提供します。
- オートメーションスクリプトワンクリックでインストールできるスクリプトを提供し、環境設定とサンプル実行を簡素化します。
ヘルプの使用
設置プロセス
llmwareのインストール手順は簡単で、PyPIやGitHubソースからのインストールに対応しています。以下が詳しい手順です:
- PyPI経由でのインストール::
- ターミナルを開き、以下のコマンドを実行して基本バージョンをインストールする:
pip3 install llmware
- 全機能(OCR、ベクターデータベースなどを含む)が必要な場合は、実行してください:
pip3 install 'llmware[full]'
- 注: 完全なインストールには、次のようなオプションの依存関係が含まれます。
pymilvus
そしてpytesseract
など、高度な機能を必要とするユーザー向け。
- ターミナルを開き、以下のコマンドを実行して基本バージョンをインストールする:
- GitHubソースコードによるインストール::
- llmwareリポジトリをクローンする:
git clone https://github.com/llmware-ai/llmware.git
- プロジェクト・カタログにアクセスする:
cd llmware
- 自動インストール・スクリプトを実行して、依存関係をインストールし、サンプルを設定します:
python3 welcome_to_llmware.py
- このスクリプトは
requirements.txt
を実行します。welcome_example.py
手っ取り早く体験するために。
- llmwareリポジトリをクローンする:
- 環境要件への依存::
- Python 3.8+がシステムにインストールされていることを確認してください。
- OCR機能については、Tesseract(v5.3.3)とPoppler(v23.10.0)を手動でインストールする必要があります。
- MongoDBを使用している場合は、次のことを確認する必要があります。
mongo-c-driver
1.24.4より低いバージョンでは、セグメンテーションエラーが発生します。 - システムスタックのサイズを変更する(Linux環境の場合):
ulimit -s 160000
- Dockerユーザーの場合、スタック・サイズは実行時に設定される:
docker run --ulimit stack=32768000:32768000
主な機能
1.RAGアプリケーションの作成
llmwareの中心はRAGアプリケーションの構築であり、以下は典型的な運用プロセスである:
- ライブラリーの作成使用
Library
クラスはドキュメントを保存するナレッジベースを作成する。from llmware.library import Library lib = Library().create_new_library("my_library")
- ファイルを追加するPDF、テキスト、その他のドキュメントをライブラリにインポートします。
lib.add_files("/path/to/documents")
- ベクトル埋め込みを生成するエンベッディング・モデルを使用する。
industry-bert-contracts
) ベクトルを生成する。from llmware.retrieval import Query q = Query(lib) q.generate_embeddings("industry-bert-contracts")
- 実行可能クエリテキストクエリやセマンティッククエリで情報を取得します。
results = q.text_search_by_page("contract termination", page_num=1)
- 呼び出しモデルモデルをロードし、クエリー結果を組み合わせて回答を生成する。
from llmware.prompts import Prompt prompter = Prompt().load_model("llmware/dragon-yi-6b-gguf") prompter.add_source_query_results(results) response = prompter.prompt_with_source("What is the notice period for termination?")
2.SLIMモデルの使用
SLIMモデルは特定のタスク用に設計され、構造化データ(JSON、SQLなど)を出力する。操作の例:
- ロードSLIMモデル::
from llmware.prompts import Prompt prompter = Prompt().load_model("llmware/slim-sentiment")
- 経営推論::
response = prompter.prompt_main("This contract is favorable to us.") print(response) # 输出:{"sentiment": "positive"}
3.ファクトチェックと監査
llmwareは、回答が正確であることを確認するための証拠検証機能を提供します:
- 回答を確認する::
stats = prompter.evidence_comparison_stats(response) print(stats) # 输出证据匹配度
- 交流履歴の保存::
prompter.save_state()
4. UIの例
llmwareは、対話的なインターフェースの例をexamples/UI/
カタログ
- 例を実行する:
python3 examples/UI/invoice_ui.py
- このサンプルは、PDF請求書のアップロードと、Q&AのためのBLINGモデルの実行をサポートしています。
注目の機能操作
1.マルチモデル・エージェントのワークフロー
SLIMモデルは、マルチステップのAgentワークフローをサポートする。例えばsentiment
歌で応えるintent
モデル
- 複数のモデルの読み込み::
prompter1 = Prompt().load_model("llmware/slim-sentiment") prompter2 = Prompt().load_model("llmware/slim-intent")
- 多段階の推論を行う::
text = "I want to cancel my subscription." sentiment = prompter1.prompt_main(text) # 输出:{"sentiment": "negative"} intent = prompter2.prompt_main(text) # 输出:{"intent": "cancellation"}
2.契約分析
llmwareのDRAGONモデルは契約分析を最適化します:
- 契約の分析::
from llmware.library import Library from llmware.retrieval import Query lib = Library().create_new_library("contracts") lib.add_files("/path/to/contracts") q = Query(lib) results = q.text_query_with_document_filter("termination", {"file_source": "contract.pdf"}) prompter = Prompt().load_model("llmware/dragon-yi-6b-gguf") prompter.add_source_query_results(results) response = prompter.prompt_with_source("Summarize termination provisions")
3.ベクター・データベースの統合
Milvusのような様々なベクトルデータベースがサポートされている:
- ミルヴァスの設定::
curl -o docker-compose.yaml https://raw.githubusercontent.com/llmware-ai/llmware/main/docker-compose-redis-stack.yaml docker-compose up
- エンベッディングの生成::
q.generate_embeddings("industry-bert-contracts", vector_db="milvus")
アプリケーションシナリオ
- 企業契約管理
llmwareは、大量の契約を分析し、主要な条項(解約条項、支払条件など)を抽出するために使用できます。組織は、契約をライブラリにインポートし、DRAGONモデルを使用してセマンティッククエリを実行し、法務チームが効率を向上させるのに適した条項の要約を素早く生成することができます。 - 財務データ処理
財務チームは、SLIMモデルを使用して請求書や財務レポートを分析し、主要フィールド(金額や日付など)を抽出できます。バッチ処理は、ERPシステムに簡単に統合できるように、構造化されたJSON出力を生成するためにサポートされています。 - ナレッジベースQ&A
企業は社内にナレッジベースを構築し、それをBLINGモデルと組み合わせることでQ&A機能を実現することができます。従業員は自然言語を通じて会社の方針、手順などを問い合わせることができ、モデルはエビデンスソースとともに正確な回答を返します。 - ローカルAIの展開
データに敏感な業界向けに、llmwareはローカルPCまたはプライベートクラウド上でのAIモデルの実行をサポートし、データ漏洩を回避する。銀行や医療機関など、高いセキュリティが求められるシーンに適している。
品質保証
- llmwareの実行にはGPUが必要ですか?
llmwareのBLINGとSLIMモデルはCPU上で動作するように最適化されており、通常のノートパソコンに適しています。DRAGONモデルはより高性能なハードウェアを必要とする場合がありますが、GPUレス環境をサポートしています。 - モデルの幻覚にはどう対処していますか?
llmwareは、ファクトチェックと証拠検証の機能を提供しています。evidence_comparison_stats
歌で応えるevidence_check_sources
知識源との一貫性を確保するための回答の検証方法。 - どのようなファイル形式に対応していますか?
PDF、テキスト、CSV、JSON、オーディオ、Webページなどをサポートします。OCR機能は画像内のテキストを処理し、スキャンした文書に適しています。 - llmwareのコミュニティに参加するには?
問題やプルリクエストは、GitHubから提出するか、Discordチャンネル (https://discord.com/invite/fCztJQeV7J) で議論に参加するか、貢献ガイドラインをご覧ください。