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 오류를 방지합니다.
- 데이터 청킹 - 다양한 문서에서 의미론적 의미가 있는 청크로 데이터를 분할한 후 임베딩을 생성하여 질리즈 클라우드와 같은 벡터 데이터베이스에 저장합니다.
- 대화 메모리 - LLM과의 채팅을 메모리에 지속시키는 기능
- Anthropic, Cohere, Google Palm, Hugging Face, Local Llama, OpenAI와 같은 인기 있는 LLM을 지원합니다.
혜택
- 공통 도메인별 언어 및 API
- 상호 운용성 및 벤더 종속성 감소, 선호하는 LLM 선택 가능
- 모범 사례 및 풍부한 기능 세트
Milvus로 벡터 검색을 실행하는 방법
Milvus로 벡터 검색을 실행하는 방법
llm = Langchain::LLM::GooglePalm.new(api_key: "...") client + Langchain::Vectorsearch::Milvus.new(url:, index_name:, llm: llm) client.add_texts 텍스트를 추가합니다: [...], ids: [...] my_pdf = Langchain.root.join("/Documents/file.pdf") my_text = Langchain.root.join("/Documents/file.txt") my_docx = Langchain.root.join("/문서/파일.docx") client.add_data(경로: [my_pdf, my_txt, my_docx])위 예제에 대한 몇 가지 참고 사항
- 이 예제는 LLM에 Google Palm을 사용하고 있으며, API 키를 전달하여 LLM을 인스턴스화할 수 있습니다.
- Milvus 루비 젬을 사용하여 클라이언트를 생성하고, Milvus가 실행되는 URL을 전달하고, 인덱스 이름을 지정하고, 인덱스를 전달합니다.
- Milvus에 벡터를 하나씩 보내거나 일괄 업서트
액티브 레코드` 예제
클래스 제품 < ActiveRecord::Base 벡터서치 공급자: Langchain::Vectorsearch::Milvus.new(url:, index_name:, llm:) 저장 후 :업서트_투_벡터서치 end벡터 검색 예제
# 전달된 쿼리 문자열을 기반으로 유사한 문서를 검색합니다. client.similarity_search( Query:, k: # 검색할 결과 수 ) # 전달된 질문에 기반한 Q&A 스타일 쿼리 client.ask( 질문: )LangChainRB와 Milvus 통합에 대해 알아보기
- LangChainRB 깃허브 리포지토리](https://github.com/andreibondarev/langchainrb)
- LangChainRB 문서](https://rubydoc.info/gems/langchainrb)
- 루비를 사용한 GenAI 앱 엔드투엔드 구축 비디오](https://zilliz.com/event/building-genai-app-ruby)
- 밀버스 디스코드 가입](https://discord.com/invite/8uyFbECzPX)
- LangChainRB 디스코드 가입](https://discord.com/invite/WDARp7J2n8)