LangChain = Language Model + Chain
등장배경
기존의 '정해진 쿼리'만 처리할 수 있었던 한계에서 벗어나, LLM의 등장으로 정해지지 않은 쿼리도 처리가 가능해짐.
LLM을 이용하여 사람과 대화하는 것처럼 챗봇을 구현할 수 있게 됨.
* CES2025에서는 AI에이전트 시스템&서비스를 제공하는 것을 중점에 두고 있었음.
검색 증강 생성
기존의 LLM 답변 생성하는 과정에 별도의 지식DB에서 검색을 추가해서 사용자의 질문을 보강(증강)하여 더 좋은 답변을 생성
* 회사 내부 전문 정보를 가져와 별도의 지식베이스로 사용하여 기존 LLM 단점(할루시에이션)을 보완하고 성능 향상
-but 그러나 무조건 해결되는 것은 아님
RAG의 장점
외부 지식 활용
- 대규모의 구조화된 지식 베이스(예:위키피디아)를 모델에 연결
- 주어진 질의에 대한 관련 정보를 지식 베이스에서 검색 및 추출
증거 기반 생성 (Hallucination 방지)
- 검색된 지식 정보를 증거로 활용하여 보다 사실에 기반한 답변 생성
- 생성된 답변의 출처를 명시함으로써 신뢰성향상
맥락 이해력 향상
- 외부 지식을 통해 질의에 대한 배경 지식과 맥락 정보를 파악
- 단순한 패턴 매칭이 아닌 추론 능력을 바탕으로 한 답변 생성
RAG의 단점
Retrieval 단계의 한계
- 결국 유사도를 기반으로 문서를 검색함.
- 다른 내용일지라도 유사도가 비슷하다면, 부정확한 문서를 검색하여 사용자에게 제공할 수 있음.
- 또는 중요한 내용을 담고 있는 문서를 두었을지라도, embedding을 하지 않았거나 정보가 누락되면 찾을 수 없음.
지식 출처 불분명
- 검색하는 문서가 많을수록 답변이 무엇을 출처로 두는지 알기 어려움
벡터DB의 크기가 클수록 검색 성능 하락
- 찾아야 하는 정보의 수가 많거나 애초에 정보가 많은 곳에서 원하는 벡터를 찾는다면, 검색하는 데에 성능이 하락함
프롬프트의 길이 제한
- LLM은 보통 프롬프트의 길이를 제한하고 있음.
- 너무 많이 입력하면 오히려 맥락을 이해하는 능력이 떨어지고, 심지어는 잘못된 정보를 그럴듯하게 답변(할루시네이션)해줄 수 있음.
활용 예시
PDF 챗봇 구축
문서를 기반으로 챗봇을 구축 -> 문서 안에서 필요한 정보를 탐색하고, 관련된 내용과 이야기 가능
3. 문서 임베딩
임베딩 청크를 추출
4.임베딩 검색 - 질문과 연관성이 높은 문서 추출
뽑아온 임베딩 청크로 검색
챗봇 정확도를 높이는 핵심
1. 벡터db에 저장되어 있는 청크 중에 사용자가 의도한, 가장 정확한 청크를 가져오는 것
이것이 AI의 정확도를 가리는 큰 문제임
2. LLM
성능이 pure한 llm을 가져오면 또 엉뚱한 답을 가져오기도 함.
챗봇 UI 만들기
* Streamlit 활용
Python으로 웹앱 만들 수 있음
* ngrok 활용
colab에서 활용하는 라이브러리로, 로컬 url을 외부 사람들이 접근할 수 있도록 https://xxxx.ngrok.io 같이 공개 url로 전환해 줌.
'활동 > 2025 co-week' 카테고리의 다른 글
시큐어 코딩 (1) | 2025.07.07 |
---|---|
처음 만나는 암호 : 데이터 보안의 기초 (1) | 2025.07.03 |
댓글