Query Agent Quickstart
Query Agent Quickstart
이 퀵스타트는 Weaviate Cloud 클러스터에 연결하고, Query Agent를 하나 이상의 기존 컬렉션에 지정한 뒤 Search Mode와 Ask Mode에서 첫 자연어 질의를 실행하는 흐름을 안내해요. Weaviate Cloud 전용 기능이에요.
사전 요구 사항
- Weaviate Cloud 인스턴스(예: 무료 클러스터)
- Python 클라이언트 또는 TypeScript 클라이언트
Step 1: Query Agent 시작
제공해야 할 것은 두 가지뿐이에요.
- 대상 Weaviate Cloud 인스턴스를 가리키는 Weaviate 클라이언트 객체
- 검색을 허용할 컬렉션 목록
import os
import weaviate
from weaviate.classes.init import Auth
from weaviate.agents.query import QueryAgent
headers = {
# Provide your required API key(s), e.g. Cohere, OpenAI, etc. for the configured vectorizer(s)
"X-INFERENCE-PROVIDER-API-KEY": os.environ.get("YOUR_INFERENCE_PROVIDER_KEY", ""),
}
client = weaviate.connect_to_weaviate_cloud(
cluster_url=os.environ.get("WEAVIATE_URL"),
auth_credentials=Auth.api_key(os.environ.get("WEAVIATE_API_KEY")),
headers=headers,
)
# Instantiate a new query agent object
qa = QueryAgent(
client=client,
collections=["ECommerce", "FinancialContracts", "Weather"]
)
TypeScript에서는 weaviate-agents의 QueryAgent를 써요.
import weaviate from 'weaviate-client';
import { QueryAgent } from 'weaviate-agents';
const headers = {
// Provide your required API key(s), e.g. Cohere, OpenAI, etc. for the configured vectorizer(s)
'X-INFERENCE-PROVIDER-API-KEY': process.env.YOUR_INFERENCE_PROVIDER_KEY as string,
};
const client = await weaviate.connectToWeaviateCloud(
process.env.WEAVIATE_URL as string,
{
authCredentials: new weaviate.ApiKey(process.env.WEAVIATE_API_KEY as string),
headers,
}
);
// Instantiate a new query agent object
let qa = new QueryAgent(client, {
collections: ['ECommerce', 'FinancialContracts', 'Weather'],
});
Step 2: Query Agent로 검색
Search Mode (검색 전용)
Search Mode는 검색만 수행하고 답변 생성은 하지 않아요. LLM이 필터·정렬 같은 동적 검색 옵션을 결정하고 검색 결과를 반환해요.
search_response = qa.search(
"Find me some vintage shoes under $70",
limit=10
)
Search Mode는 Weaviate에서 직접 검색한 것처럼 원시 Weaviate 객체를 반환해요.
for obj in search_response.search_results.objects:
print(f"Product: {obj.properties['name']} - ${obj.properties['price']}")
Step 3: Query Agent에게 질문
Ask Mode (답변 생성)
Ask Mode는 답변 생성을 포함해요. LLM이 동적 필터·검색 설정으로 검색을 만든 뒤, 그 검색 결과를 바탕으로 질문에 답변해요.
ask_response = qa.ask(
"I like vintage clothes and nice shoes. Recommend some of each below $60."
)
결과 접근 방법:
ask_response.sources— 초기 검색에서 가져온 객체ask_response.final_answer— 질문에 대한 최종 답변ask_response.display()— 모든 출력 보기
ask_response.sources # retrieved objects from initial search
ask_response.final_answer # final answer to the question
ask_response.display()
더 알아보기 (Learn more)
- Query Agent 소개 — Ask/Search 모드 개념과 사용 사례
- Query Agent 모드 — Ask/Search/Suggest 모드 개요
- Query Agent 설치 — 클라이언트 패키지 설치