LlamaIndex 챗 엔진
LlamaIndex 챗 엔진 (Chat Engine)
데이터와 단발 질의응답이 아니라 대화를 하고 싶다면, **챗 엔진(Chat Engine)**을 쓰면 돼요. 챗 엔진은 데이터와 대화를 나눌 수 있게 해주는 하이레벨 인터페이스예요(한 번의 질문·답변이 아니라 여러 번 주고받는 방식). ChatGPT를 떠올리되, 여러분의 지식 베이스(knowledge base)가 더해진 버전이라고 생각하면 돼요.
개념적으로 챗 엔진은 쿼리 엔진의 상태를 가지는(stateful) 버전이에요. 대화 히스토리를 계속 추적하기 때문에, 과거 맥락을 염두에 두고 질문에 답할 수 있어요.
💡 팁: 대화 히스토리를 추적하지 않고 내 데이터에 대해 단독 질문을 하고 싶다면, Query Engine을 쓰는 게 맞아요.
출처: 공식문서
사용 패턴
시작은 이렇게 해요.
chat_engine = index.as_chat_engine()
response = chat_engine.chat("Tell me a joke.")
응답을 스트리밍하려면:
chat_engine = index.as_chat_engine()
streaming_response = chat_engine.stream_chat("Tell me a joke.")
for token in streaming_response.response_gen:
print(token, end="")
전체 내용은 사용 패턴 가이드에서 확인할 수 있어요.
더 알아보기
- 모듈 섹션에서 사용 가능한 챗 엔진들을 실제로 다루는 튜토리얼을 찾아볼 수 있어요.