에이전트(agentic) 쿼리
에이전트(agentic) 쿼리
3.2 버전에서 도입됨
agentic 쿼리를 사용하면 자연어로 질문하고 OpenSearch가 검색(retrieval)을 자동으로 계획하고 실행하게 할 수 있어요. agentic 쿼리는 질문을 읽고, 검색을 계획하고, 관련 결과를 반환하는 사전 구성된 에이전트와 함께 작동합니다. agentic search에 대한 자세한 내용은 "Agentic search"를 참고하세요.
출처: 문서
본문
사전 요구 사항 (Prerequisite)
agentic 쿼리를 사용하기 전에 다음 사전 요구 사항을 충족해야 해요.
- QueryPlanningTool로 에이전트를 구성해야 해요. QueryPlanningTool은 자연어 질문에서 쿼리 도메인 특화 언어(DSL)를 생성하는 데 필요합니다. 선택적으로 에이전트에 추가 도구를 구성해 기능을 강화할 수 있어요.
agentic_query_translator검색 요청 프로세서가 있는 검색 파이프라인을 만들어야 해요.
자세한 설정 지침은 "Agentic search"를 참고하세요.
요청 본문 필드 (Request body fields)
agentic 쿼리는 다음 필드를 받아요.
- query_text (String, 필수): 에이전트가 답해야 할 자연어 질문이에요.
- query_fields (Array, 선택): 검색 쿼리를 생성할 때 에이전트가 고려해야 하는 인덱스 필드 목록이에요. 생략하면 에이전트는 인덱스 매핑과 내용을 기반으로 적용 가능한 필드를 추론해요.
- memory_id (String, 선택): 대화형 에이전트에만 적용돼요. 이전 응답의 메모리 ID를 제공해 이전 컨텍스트로 대화를 계속해요. 대화형 에이전트를 agentic search에 사용하는 방법을 참고하세요.
예제 (Example)
다음 예제는 iris 데이터셋의 꽃에 대해 자연어 질문을 하는 agentic 쿼리를 사용해요. 이 예제에서 query_text는 자연어 질문을 포함하고, query_fields는 쿼리 생성 시 사용할 필드를 지정하며, search-pipeline 쿼리 파라미터는 agentic 쿼리 번역기 프로세서를 포함하는 검색 파이프라인을 지정합니다.
GET /iris-index/_search?search_pipeline=agentic-pipeline
{
"query": {
"agentic": {
"query_text": "List all the flowers present",
"query_fields": ["species", "petal_length_in_cm"]
}
}
}
실행되면 agentic 검색 요청은 다음 단계를 수행해요.
- 인덱스 매핑과 기본 프롬프트와 함께 자연어 질문을 대규모 언어 모델(LLM)에 보내요.
- LLM은 입력을 기반으로 쿼리 도메인 특화 언어(DSL) 쿼리를 생성해요.
- 생성된 DSL 쿼리가 OpenSearch에서 검색 요청으로 실행돼요.
- 생성된 쿼리를 기반으로 검색 결과를 반환해요.
완전한 예제는 "Agentic search"를 참고하세요.
다음 단계 (Next steps)
- "Agentic search"에서 agentic search를 구성하는 방법 알아보기
- "Agent types"에서 에이전트 유형 알아보기
- QueryPlanningTool 알아보기
agentic_query_translator검색 요청 프로세서의 참조 문서 보기