본문 바로가기
활동/2025 co-week

LangChain

by gnoJJ 2025. 7. 7.

LangChain = Language Model + Chain

 

등장배경

기존의 '정해진 쿼리'만 처리할 수 있었던 한계에서 벗어나, LLM의 등장으로 정해지지 않은 쿼리도 처리가 가능해짐.

LLM을 이용하여 사람과 대화하는 것처럼 챗봇을 구현할 수 있게 됨.

 

* CES2025에서는 AI에이전트 시스템&서비스를 제공하는 것을 중점에 두고 있었음.


검색 증강 생성

검색 증강 생성(Retrieval-Augmented Generation, RAG)

기존의 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

댓글