LangChainRB
Build Ruby-based Retrieval-Augmented Generation applications with LangChainRB and Zilliz Cloud or Milvus Vector Database
Verwenden Sie diese Integration kostenlosLangChainRB 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