summ의 블로그

[Langchain] Retrieval Agents 본문

langchain

[Langchain] Retrieval Agents

summ._ 2024. 8. 21. 11:04
  • 대화형 agent
    • 정적 데이터 세트를 학습시키기에 최신 데이터에 액세스 할 수 없음
    • 모든 분야가 아닌 전문 분야에 관한 지식을 가짐
  • 순수한 rag 사용
    • 해당 컨텍스트가 필요한지 여부에 관계없이 모든 쿼리에서 관련 컨텍스트나 정보를 검색
    • 실제로 외부 지식이 필요하지 않은 쿼리에 대해 시스템이 불필요하거나 관련 없는 데이터를 가져올 수 있음

- 데이터 불러오기

- 벡터 저장 

  • 인덱스 생성: 기존 인덱스가 존재하는지 확인 후, 생성
  • 벡터 삽입: 모델에서 생성된 벡터가 인덱스에 들어가는 형태
  • 장점) 일관성을 유지하고 인덱스가 벡터를 적절하게 처리가능

Indexing

  • 처리 과정
    • 배치: 데이터세트를 100개 레코드의 더 작은 부분(배치)으로 분할
    • 메타데이터 수집: 데이터에서 제목, 맥락 등의 정보를 추출
    • 임베딩 생성: 모델을 사용하여 텍스트 데이터(컨텍스트)를 수치 표현으로 변환
    • ids: 배치 ID로 배치의 각 레코드에 대한 고유한 식별자
    • Pinecone에 업로드: 이러한 임베딩을 해당 ID 및 메타데이터와 함께 Pinecone 인덱스로 전송하여 나중에 검색할 수 있도록 저장
    • *** UPSERT(UPDATE + INSERT) 중복되는 값이 있다면 Update를 하고 중복되는 값이 없다면 Insert를 하는 쿼리

벡터 저장소 생성

대화형 에이전트 초기화

 - agent

  • 자세한 출력을 나타내며, 수행할 수 있는 단계 수 n개 제한
  • '생성' 조건이 충족되면 에이전트를 조기에 중지

tool 지정

쿼리 생성 및 에이전트 이용하여 질문 

'langchain' 카테고리의 다른 글

[Langchain] retrieval augmented generation  (0) 2024.09.05
[Langchain] AI agent  (0) 2024.09.04
[Langchain] chain  (0) 2024.07.15
[Langchain] fewshot prompting  (0) 2024.07.15
[Langchain] langchain  (0) 2024.07.11