46.6kЗаказать демоВойтиНачать бесплатно

LangChainRB

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

Используйте эту интеграцию бесплатно
  • LangChainRB и Milvus

    LangChainRB - это уровень оркестровки для создания LLM-приложений на основе Ruby, который позволяет объединить несколько типов систем, таких как векторные базы данных (Milvus и Zilliz Cloud) и LLM. С помощью этого решения можно создавать возможности семантического поиска, полезные для вопросов и ответов по документам, чат-ботов и агентов.

    Ключевые возможности включают:

    • Управление подсказками - создание, загрузка и сохранение шаблонов подсказок.
    • Проверка длины контекста - проверка длины контекстного окна во избежание ошибок LLM.
    • Разбивка данных на фрагменты - разбивка данных на фрагменты, имеющие семантический смысл, из различных документов перед созданием вкраплений, которые хранятся в векторной базе данных, такой как Zilliz Cloud.
    • Память разговоров - сохранение чата с LLM в памяти.
    • Обеспечивает поддержку таких популярных LLM, как Anthropic, Cohere, Google Palm, Hugging Face, Local Llama и OpenAI.

    Преимущества

    • Общий язык и API для конкретных областей
    • Взаимозаменяемость и отсутствие привязки к производителю - выбирайте свой любимый LLM.
    • Передовой опыт и богатый набор функций
  • Как выполнить векторный поиск с помощью Milvus

    Как выполнить векторный поиск с помощью Milvus

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

    client + Langchain::Vectorsearch::Milvus.new(url:, index_name:, llm: llm) client.add_texts texts: [...], id: [...]

    my_pdf = Langchain.root.join("/Documents/file.pdf") my_text = Langchain.root.join("/Документы/файл.txt") my_docx = Langchain.root.join("/Документы/файл.docx")

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

    
    Некоторые замечания по поводу приведенного выше примера
    - В этом примере используется Google Palm для LLM, вы можете инстанцировать LLM, передав ему свой API-ключ.
    - Создайте клиента с помощью рубинового гема Milvus, передайте ему URL, на котором запущен Milvus, назовите индекс и передайте индекс
    - Отправляйте векторы по одному в Milvus или делайте массовую апсертную рассылку
    
    Пример `ActiveRecord`
    
    ``ruby
    Класс Product < ActiveRecord::Base
       провайдер векторного поиска: Langchain::Vectorsearch::Milvus.new(url:, index_name:, llm:)
    
       After_save :upsert_to_vectorsearch
    end
    

    Пример векторного поиска

    ``ruby

    Получение похожих документов на основе переданной строки запроса

    client.similarity_search( Запрос:, k: # количество результатов для получения )

    Запрос в стиле Q&A на основе переданного вопроса

    client.ask( вопрос: )

    
    
  • Узнайте об интеграции LangChainRB и Milvus