LangChainRB

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

Verwenden Sie diese Integration kostenlos
  • LangChainRB und Milvus

    LangChainRB ist eine Orchestrierungsschicht für den Aufbau von Ruby-basierten LLM-Anwendungen und ist hilfreich, um mehrere Arten von Systemen miteinander zu verknüpfen, wie z. B. Vektordatenbanken (Milvus und Zilliz Cloud) und LLMs. Mit dieser Lösung können Sie semantische Suchfunktionen erstellen, die für Q&A über Dokumente, Chatbots und Agenten nützlich sind.

    Zu den wichtigsten Funktionen gehören:

    • Prompt-Management - Erstellen, Laden und Speichern von Prompt-Vorlagen
    • Validierung der Kontextlänge - Überprüfen Sie die Länge des Kontextfensters, um LLM-Fehler zu vermeiden
    • Data chunking - Aufteilung der Daten in semantisch sinnvolle Chunks aus verschiedenen Dokumenten vor der Erstellung von Embeddings, die in einer Vektordatenbank wie Zilliz Cloud gespeichert werden.
    • Konversationsspeicher - Persistieren eines Chats mit einer LLM im Speicher
    • Bietet Unterstützung für beliebte LLMs wie Anthropic, Cohere, Google Palm, Hugging Face, Local Llama und OpenAI.

    Vorteile

    • Gemeinsame domänenspezifische Sprache und APIs
    • Interoperabilität und geringere Herstellerabhängigkeit, wählen Sie Ihre bevorzugte LLM
    • Bewährte Praktiken & reichhaltiger Funktionsumfang
  • Wie man eine Vektorsuche mit Milvus durchführt

    Wie man eine Vektorsuche mit Milvus durchführt

    llm = Langchain::LLM::GooglePalm.new(api_key: "...")
    
    client + Langchain::Vektorsuche::Milvus.new(url:, index_name:, llm: llm)
    client.add_texts Texte: [...], ids: [...]
    
    my_pdf = Langchain.root.join("/Dokumente/Datei.pdf")
    mein_text = Langchain.root.join("/Dokumente/Datei.txt")
    mein_docx = Langchain.root.join("/Dokumente/Datei.docx")
    
    client.add_data(pfade: [mein_pdf, mein_txt, mein_docx])
    

    Einige Anmerkungen zum obigen Beispiel

    • Dieses Beispiel verwendet Google Palm für den LLM, Sie können den LLM instanziieren, indem Sie ihm Ihren API-Schlüssel übergeben
    • Erstellen Sie einen Client mit dem Milvus Ruby Gem, übergeben Sie die URL, unter der Milvus läuft, benennen Sie den Index und übergeben Sie den Index
    • Senden Sie die Vektoren einzeln an Milvus oder fügen Sie sie in großen Mengen ein.

    Beispiel ActiveRecord

    ``ruby Klasse Product < ActiveRecord::Base Vektorsuche Anbieter: Langchain::Vectorsearch::Milvus.new(url:, index_name:, llm:)

    After_save :upsert_to_vectorsearch end

    
     Beispiel einer Vektorsuche
    
    ```ruby
    # Ähnliche Dokumente basierend auf dem übergebenen Query-String abrufen
    client.similarity_search(
         Abfrage:,
         k:     # Anzahl der abzurufenden Ergebnisse
    )
    
    # Q&A-ähnliche Abfrage basierend auf der übergebenen Frage
    client.ask(
          Frage:
    )
    
    
    
  • Erfahren Sie mehr über die Integration von LangChainRB und Milvus