AIパーソナル・ラーニング
と実践的なガイダンス
豆包Marscode1

RAGLite: 複数のデータベースと言語モデルをサポートする効率的な検索補強生成(RAG)ツール。

はじめに

RAGLiteは、PostgreSQLまたはSQLiteデータベースをサポートするRAG(Retrieval Augmented Generation)用のPythonツールキットです。RAGLiteは軽量で効率的な機能で知られており、幅広いオペレーティングシステムで動作し、MetalやCUDAなどの様々なアクセラレーションオプションをサポートしています。

RAGLite:高效的检索增强生成(RAG)工具,支持多种数据库和语言模型。-1


 

機能一覧

  • ネイティブのllama-cpp-pythonモデルを含む、複数の言語モデルのサポート
  • キーワードおよびベクトル検索データベースとしてPostgreSQLとSQLiteをサポート
  • 多言語のFlashRankを含む、複数の並べ替えオプションが利用可能
  • 依存関係が軽く、PyTorchもLangChainも不要!
  • PDFからMarkdownへの変換をサポート
  • マルチベクトル埋め込みと文脈ブロック見出し
  • カスタマイズ可能 チャットGPT Web、Slack、Teamsをサポートするクラス・フロントエンド
  • 複数のファイルタイプに対するドキュメントの挿入と検索をサポート
  • 業績評価を検索し、生成するためのツールを提供する。

 

ヘルプの使用

設置プロセス

  1. spaCyの多言語文章モデルをインストールする:
    pip install https://github.com/explosion/spacy-models/releases/download/xx_sent_ud_sm-3.7.0/xx_sent_ud_sm-3.7.0-py3-none-any.whl
    
  2. 高速化されたllama-cpp-pythonのプリコンパイルバイナリをインストールする(オプションだが推奨):
    LLAMA_CPP_PYTHON_VERSION=0.2.88 PYTHON_VERSION=310 ACCELERATOR=metal | cu121 | cu122 | cu123 | cu124 PLATFORM=macosx_11_0_arm64 | linux_x86_64 | win_amd64
    pip install "https://github.com/abetlen/llama-cpp-python/releases/download/v$LLAMA_CPP_PYTHON_VERSION-$ACCELERATOR/llama_cpp_python-$LLAMA_CPP_PYTHON_VERSION-cp$PYTHON_VERSION-cp$PYTHON_VERSION-$PLATFORM.whl"
    
  3. RAGLiteをインストールします:
    pip install raglite
    
  4. カスタマイズ可能なChatGPTのようなフロントエンドサポートをインストールします:
    pip install raglite[chainlit]
    
  5. 追加ファイルタイプのサポートをインストールします:
    pip install raglite[pandoc]
    
  6. 設置評価サポート:
    pip install raglite[ragas]
    

使用ガイドライン

  1. RAGLiteの設定::
    • PostgreSQLまたはSQLiteデータベースと、サポートされている言語モデルを設定します:
      from raglite import RAGLiteConfig
      my_config = RAGLiteConfig(
      db_url="postgresql://my_username:my_password@my_host:5432/my_database",
      llm="gpt-4o-mini",
      embedder="text-embedding-3-large"
      )
      
  2. ドキュメントの挿入::
    • PDF文書を挿入し、変換して埋め込みます:
      from pathlib import Path
      from raglite import insert_document
      insert_document(Path("On the Measure of Intelligence.pdf"), config=my_config)
      
  3. 検索と生成::
    • ベクトル検索、キーワード検索、またはハイブリッド検索を使用してください:
      from raglite import hybrid_search, keyword_search, vector_search
      prompt = "How is intelligence measured?"
      chunk_ids_hybrid, _ = hybrid_search(prompt, num_results=20, config=my_config)
      
  4. 質問の並べ替えと回答::
    • 検索結果の並び替えと回答の生成
      from raglite import rerank_chunks, rag
      chunks_reranked = rerank_chunks(prompt, chunk_ids_hybrid, config=my_config)
      stream = rag(prompt, search=chunks_reranked, config=my_config)
      for update in stream:
      print(update, end="")
      
  5. 評価の検索と生成::
    • Ragasを使用して業績評価を検索し、作成する:
      from raglite import answer_evals, evaluate, insert_evals
      insert_evals(num_evals=100, config=my_config)
      answered_evals_df = answer_evals(num_evals=10, config=my_config)
      evaluation_df = evaluate(answered_evals_df, config=my_config)
      
  6. ChatGPTライクなフロントエンドの展開::
    • カスタマイズ可能なChatGPTライクなフロントエンドを展開:
      raglite chainlit --db_url sqlite:///raglite.sqlite --llm llama-cpp-python/bartowski/Llama-3.2-3B-Instruct-GGUF/*Q4_K_M.gguf@4096 --embedder llama-cpp-python/lm-kit/bge-m3-gguf/*F16.gguf
      
無断転載を禁じます:チーフAIシェアリングサークル " RAGLite: 複数のデータベースと言語モデルをサポートする効率的な検索補強生成(RAG)ツール。
ja日本語