LangChainRB
Build Ruby-based Retrieval-Augmented Generation applications with LangChainRB and Zilliz Cloud or Milvus Vector Database
Utilisez cette intégration gratuitementLangChainRB et Milvus
LangChainRB est une couche d’orchestration pour créer des applications LLM basées sur Ruby et permet d’enchaîner plusieurs types de systèmes, comme des bases de données vectorielles (Milvus et Zilliz Cloud), et des LLM. Avec cette solution, vous pouvez créer des capacités de recherche sémantique utiles pour les questions-réponses sur des documents, les chatbots et les agents.
Les principales fonctionnalités incluent :
- Gestion des prompts — créer, charger et enregistrer des modèles de prompts
- Validations de la longueur du contexte — valider la longueur de la fenêtre de contexte afin d’éviter de rencontrer des erreurs LLM
- Découpage des données — diviser les données en morceaux ayant un sens sémantique à partir de divers documents avant de créer des embeddings qui sont stockés dans une base de données vectorielle comme Zilliz Cloud.
- Mémoire de conversation — conserver une conversation avec un LLM en mémoire
- Prend en charge les LLM populaires comme Anthropic, Cohere, Google Palm, Hugging Face, Local Llama et OpenAI.
Avantages
- Langage spécifique au domaine et API communs
- Interopérabilité et réduction de la dépendance fournisseur, choisissez votre LLM préféré
- Bonnes pratiques et ensemble de fonctionnalités riche
Comment exécuter une recherche vectorielle avec Milvus
Comment exécuter une recherche vectorielle avec Milvus
llm = Langchain::LLM::GooglePalm.new(api_key: “...”) client + 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])Quelques notes à propos de l’exemple ci-dessus
- Cet exemple utilise Google Palm pour le LLM, vous pouvez instancier le LLM en lui passant votre clé API
- Créez un client en utilisant la gem Ruby Milvus, passez-lui l’URL où Milvus s’exécute, nommez l’index et passez l’index
- Envoyez les vecteurs un par un à Milvus ou effectuez un upsert en masse
Exemple
ActiveRecordClass Product < ActiveRecord::Base vectorsearch provider: Langchain::Vectorsearch::Milvus.new(url:, index_name:, llm:) After_save :upsert_to_vectorsearch endExemple de recherche vectorielle
# Récupérer des documents similaires en fonction de la chaîne de requête passée client.similarity_search( Query:, k: # nombre de résultats à récupérer ) # Requête de type questions-réponses basée sur la question passée client.ask( question: )Découvrez l’intégration de LangChainRB et Milvus


