46.6kデモを予約するログイン無料で始める

LangChainRB

Build Ruby-based Retrieval-Augmented Generation applications with LangChainRB and Zilliz Cloud or Milvus Vector Database

この統合を無料で利用する
  • LangChainRBとMilvus

    LangChainRBは、RubyベースのLLMアプリケーションを構築するためのオーケストレーションレイヤーであり、ベクトルデータベース(MilvusやZilliz Cloud)やLLMのような複数のタイプのシステムをひも付けるのに役立つ。このソリューションを使えば、ドキュメント上のQ&A、チャットボット、エージェントに便利なセマンティック検索機能を構築できる。

    主な機能は以下の通りです:

    • プロンプト管理 - プロンプトテンプレートの作成、ロード、保存
    • コンテキストの長さの検証 - コンテキストウィンドウの長さを検証し、LLMエラーを回避します。
    • データチャンキング - Zilliz Cloudのようなベクトルデータベースに保存されるエンベッディングを作成する前に、様々なドキュメントから意味的に意味のあるチャンクにデータを分割します。
    • 会話メモリ - LLMを持つチャットをメモリに永続化する。
    • Anthropic、Cohere、Google Palm、Hugging Face、Local Llama、OpenAIのような一般的なLLMのサポートを提供します。

    利点

    • 共通のドメイン固有の言語とAPI
    • 相互運用性とベンダーロックの低減、好きなLLMを選べる
    • ベストプラクティスと豊富な機能セット
  • Milvusでベクトル検索を実行する方法

    Milvusでベクトル検索を実行する方法

    ``ruby llm = Langchain::LLM::GooglePalm.new(api_key: "...")

    クライアント + Langchain::Vectorsearch::Milvus.new(url:, index_name:, llm: llm) client.add_texts texts:テキスト: [...], ids: [...]

    my_pdf = Langchain.root.join("/Documents/file.pdf") my_text = Langchain.root.join("/Documents/file.txt") my_docx = Langchain.root.join("/Documents/file.docx")

    client.add_data(paths: [my_pdf, my_txt, my_docx])

    
    上の例についてのメモ
    - この例では LLM に Google Palm を使用していますが、API キーを渡すことで LLM をインスタンス化することができます。
    - Milvus ruby gem を使ってクライアントを作成し、Milvus が動作している URL、インデックス名、インデックスを渡します。
    - ベクターを一つずつMilvusに送るか、一括アップサートを行う。
    
    ActiveRecord`の例
    
    ``ruby
    クラス Product < ActiveRecord::Base
       vectorsearch プロバイダ:Langchain::Vectorsearch::Milvus.new(url:, index_name:, llm:)
    
       保存後 :upsert_to_vectorsearch
    終了
    

    ベクトル検索の例

    ``ruby

    渡されたクエリ文字列に基づいて類似文書を検索する

    client.similarity_search( クエリ:、 k: # 検索結果の数 )

    渡された質問に基づく # Q&Aスタイルのクエリ client.ask( 質問 )

    
    
  • LangChainRBとMilvusの統合について学ぶ

    • LangChainRB GitHubリポジトリ](https://github.com/andreibondarev/langchainrb)
    • LangChainRBドキュメント](https://rubydoc.info/gems/langchainrb)
    • RubyでGenAIアプリをエンドツーエンドで構築するビデオ](https://zilliz.com/event/building-genai-app-ruby)
    • Milvusディスコードに参加する](https://discord.com/invite/8uyFbECzPX)
    • LangChainRBディスコードに参加する](https://discord.com/invite/WDARp7J2n8)