Perplexity.AI와 유사한 검색엔진 구현 프로젝트(4)
2024. 9. 22. 18:00ㆍAI
이전까지 우리는 AI가 원하는 답변을 만들어 낼 수 있도록 여러 작업을 진행하였다.
- VectorDB 활용: 사업정보 -> 임베딩 -> 유사 서비스/기업 조회
- 문서 데이터: 세금 처리, 제도, 지원 사업관련 문서 -> 임베딩 -> 사업 정보 기반 사업 운영에 필요한 정보 조회
- 최신정보: 시장규모, 경쟁분석, 보도, 흐름 등 최신정보 -> Web Search API 요청
- 사용자 질문 의도 분석: 사용자 질문 -> 의도 분석 -> 키워드 생성
- 기댓값에 도달할 수 있는 검색 쿼리생성: 의도 분석 내용 기반 쿼리 생성 -> 3-5개
정보를 LLM에 전달하고 답변을 생성하는 과정에서 Prompting에서 신경 쓴 부분
- 페르소나 부여: "당신은 창업 컨설턴트 입니다. $@#!%!#"
- 주관적이지 않고 객관적인 정보 제공
- LLM이 가지고 있는 정보(학습정보)가 아닌 제공 받은 정보만을 사용하도록 유도
전반적인 Chat-bot의 기능을 구현하기 위해 Langchain의 ConversationChain과 ConversationBufferWindowMemory를 사용하였다.
기본적으로 대화내용을 기억하고 이를 사용자의 요청에 활용하는 것에 목적을 두고 있는 듯하여 적용하였다.
그러나 OpenAI API를 사용하는 경우 기억할 수 있는 대화의 갯수를 적절히 조절해주어야한다. 이를 완벽하진 않더라도 개선할 수 있는 방법은 크게 두가지가 있었다.
- 기억할 대화량 조절
- 기억한 대화 요약
간단하게 기억할 대화량을 조절하는 경우는 큐의 형태로 오래된 기억부터 잃는 방식이라고 생각하면된다.
또는 대화 내용을 요약하게 되면 어느정도 맥락은 유지할 수 있지만 상세내용을 기억할 수 없는 단점이 있으므로 서비스의 형태에 따라 적절한 형태로 사용하는 게 맞는 것 같았다.
'AI' 카테고리의 다른 글
| Perplexity.AI와 유사한 검색엔진 구현 프로젝트(3) (0) | 2024.09.19 |
|---|---|
| Perplexity.AI와 유사한 검색엔진 구현 프로젝트(2) (10) | 2024.09.16 |
| Perplexity.AI와 유사한 검색엔진 구현 프로젝트(1) (0) | 2024.09.13 |