LangChain 동작 원리
- 기본 구조
- LangChain은 기본적으로 GPT-4 모델을 기반으로 하며, Teams와 POSCO 내부의 데이터를 활용하여 사용자의 질문에 대해 적절한 답변을 제공합니다.
- 주요 기능으로는 정보 검색, 질문 추천, 플러그인 추천, GIF 생성 등이 있습니다.
- RAG(Retrieval-Augmented Generation) 활용
- 목적: GPT 모델의 할루시네이션 문제를 보완하고, 정확한 정보를 제공하기 위해 RAG를 사용합니다.
- 구조: 사용자의 질문이 들어오면, 질문을 분석하여 관련된 내부 문서나 데이터베이스에서 적절한 정보를 검색합니다. 검색된 정보를 GPT-4 모델에 입력하여 답변을 생성합니다.
- 메뉴얼 기반 답변: 특정 메뉴얼을 기반으로 답변해야 하는 경우, RAG를 통해 메뉴얼에서 필요한 정보를 검색하고 이를 GPT-4 모델이 참고하여 답변을 생성하도록 합니다.
- 질문 추천 동작 원리
- 데이터 저장: 사용자의 질문을 대분류와 소분류로 나누어 저장합니다. OpenAI의 embedding을 사용하여 질문을 벡터화하고, 후속 질문도 동일하게 분류하여 저장합니다.
- 연관 관계 학습: 각 소분류별로 후속 질문의 연관 관계를 학습하여, 특정 분류의 질문이 들어오면 해당 분류의 후속 질문을 추천할 수 있도록 합니다.
- 로그 기반 추천: 전체 사내 이용자의 로그를 기반으로 질문을 추천합니다. 특정 유저의 로그가 아닌, 전체적인 사내의 질문 로그를 바탕으로 추천이 이루어지며, 동일한 질문에 대해서는 누구에게나 같은 추천이 제공됩니다.
- 플러그인 추천 동작 원리
- 프롬프트 엔지니어링: GPT-4 모델의 추론 능력을 활용하여, 사용자의 질문과 관련된 플러그인을 추천합니다. 유저 로그 분석이 아닌, 프롬프트 엔지니어링을 통해 간단하게 구현되었습니다.
- 향후 계획: 플러그인 수가 증가함에 따라, 유저의 질문 데이터를 정제하여 라벨링된 데이터셋을 구축하고, 이를 바탕으로 딥러닝 기반 추천 시스템으로 확장할 계획입니다.
- GIF 생성 원리
- 직접 생성: 질문에 정확히 일치하는 GIF를 제공하기 위해, 사전에 정의된 메뉴얼을 기반으로 GIF를 직접 생성하여 저장합니다.
- 대체 정보 제공: 메뉴얼에 정의되지 않은 질문에 대해서는 관련 유튜브 영상과 공식 문서 URL을 제공하여, 유사한 정보를 제공합니다.
- 프롬프트 엔지니어링
- 질문과 답변의 품질 향상: 프롬프트 엔지니어링을 통해 GPT-4 모델이 보다 정확하고 유용한 답변을 제공할 수 있도록 조정합니다.
- 특화 데이터 응답: 포스코의 맞춤형 데이터와 최신 정보를 기반으로 응답할 수 있도록 RAG와 프롬프트 엔지니어링을 결합하여, 최신 업데이트 내용을 포함한 정확한 답변을 제공합니다.
- 모델 확장성 및 보안
- 오픈소스 LLM 계획: 향후에는 오픈소스 LLM을 파인튜닝하여 GPT-4 대신 사용할 수 있도록 설계하였습니다. 이를 통해 서버 비용을 절감하고, POSCO의 정보 유출을 방지할 수 있습니다.
- 커스터마이징 및 확장성: Azure Bot Services 대신 자체 플랫폼을 선택하여, 커스터마이징의 한계를 극복하고, 확장성을 확보하였습니다.