- 파일(PDF, PPT, DOCX 등)에서 텍스트를 추출하는 방법
- 최첨단 성능을 제공하는 ML 기반 chunking
- Boomerang embeddings model
- 텍스트 chunk와 embedding vector가 저장되는 자체 내부 vector database
- query를 자동으로 embedding으로 인코딩하고 가장 관련성 높은 텍스트 세그먼트를 검색하는 query service. Hybrid Search 지원 및 다국어 relevance reranker, MMR, UDF reranker와 같은 여러 reranking 옵션 포함
- 검색된 문서(context)를 기반으로 인용을 포함한 generative summary를 생성하는 LLM
similarity_search와 similarity_search_with_score, 그리고 LangChain as_retriever 기능 사용을 포함합니다.
Setup
VectaraVectorStore를 사용하려면 먼저 partner package를 설치해야 합니다.
Getting Started
시작하려면 다음 단계를 따르세요:- 아직 계정이 없다면 가입하여 무료 Vectara 평가판을 받으세요.
- 계정 내에서 하나 이상의 corpus를 생성할 수 있습니다. 각 corpus는 입력 문서에서 수집된 텍스트 데이터를 저장하는 영역을 나타냅니다. corpus를 생성하려면 “Create Corpus” 버튼을 사용하세요. 그런 다음 corpus에 이름과 설명을 제공합니다. 선택적으로 필터링 속성을 정의하고 일부 고급 옵션을 적용할 수 있습니다. 생성된 corpus를 클릭하면 상단에 이름과 corpus ID를 볼 수 있습니다.
- 다음으로 corpus에 액세스하기 위한 API key를 생성해야 합니다. corpus 보기에서 “Access Control” 탭을 클릭한 다음 “Create API Key” 버튼을 클릭하세요. key에 이름을 지정하고 query-only 또는 query+index 중 선택하세요. “Create”를 클릭하면 활성 API key가 생성됩니다. 이 key는 기밀로 유지하세요.
corpus_key와 api_key 두 값이 필요합니다.
VECTARA_API_KEY를 LangChain에 두 가지 방법으로 제공할 수 있습니다:
-
환경에 다음 두 변수를 포함:
VECTARA_API_KEY. 예를 들어, os.environ과 getpass를 사용하여 다음과 같이 이러한 변수를 설정할 수 있습니다:
Vectaravectorstore constructor에 추가:
Vectara RAG (retrieval augmented generation)
이제 검색 및 요약 옵션을 제어하기 위해VectaraQueryConfig 객체를 생성합니다:
- 요약을 활성화하고, LLM이 상위 7개의 일치하는 chunk를 선택하고 영어로 응답하도록 지정합니다
as_rag 메서드를 통해 전체 Vectara RAG pipeline을 캡슐화하는 LangChain Runnable 객체를 생성해 보겠습니다:
Vectara Chat
LangChain을 사용하여 챗봇을 만드는 대부분의 경우, 채팅 세션의 기록을 유지하고 해당 기록을 사용하여 챗봇이 대화 기록을 인식하도록 하는 특별한memory 구성 요소를 통합해야 합니다.
Vectara Chat을 사용하면 이 모든 것이 Vectara에 의해 백엔드에서 자동으로 수행됩니다.
Vectara as self-querying retriever
Vectara는 자연어 query에서 metadata filter expression을 자동으로 생성하여 검색 정밀도를 향상시키는 Intelligent Query Rewriting 옵션을 제공합니다. 이 기능은 사용자 query를 분석하고, 관련 metadata filter를 추출하며, 핵심 정보 요구에 집중하도록 query를 재구성합니다.Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.