본문 바로가기

딥러닝

Vector Store Index Creator, memory

반응형

https://hipster4020.tistory.com/189

 

LangChain이란? LangChain으로 강력한 LLM 서비스 구축하기

LangChain은 LLM에서 구동되는 APP을 개발하기 위한 프레임워크입니다. LangChain에서 제공되는 라이브러리를 활용하여 쉽게 LLM 기술들을 활용할 수 있습니다. 현재는 Javascript, Python으로 구분해서 관리

hipster4020.tistory.com

변환기, 임베딩 및 검색기

강력한 정보 검색 시스템을 만들려면 벡터 저장소, 임베딩 및 검색기를 결합하는 복잡한 시스템이 필요합니다.

  • Vector Store Index Creator - 벡터 저장소, 임베딩 및 검색기를 통합하여 정보 검색 시스템 설정 프로세스를 간소화합니다.

프로세스의 주요 단계

  1. 문서 로딩 - 첫 번째 단계는 다양한 로더 구성 요소를 사용하여 시스템에 데이터를 로딩하는 것입니다.
  2. 문서 분할 - 사용자 쿼리와 문서 콘텐츠 간의 보다 정확한 일치를 위해 문서가 더 작은 청크로 분할됩니다.
  3. 임베딩 변환 - 각 문서 청크가 임베딩으로 변환됩니다. 임베딩은 유사한 의미가 서로 가깝게 배치된 고차원 공간에서 텍스트를 숫자로 표현한 것입니다.
  4. 벡터 데이터베이스 저장소 - 임베딩은 고차원 벡터 및 의미 검색 작업을 위해 설계된 ChromaDB와 같은 벡터 데이터베이스에 저장됩니다.
  5. 의미 검색 - 이 시스템은 ChromaDB를 사용하여 의미 검색을 수행하고 컨텍스트와 의미를 기반으로 문서를 찾습니다.
  6. 질문 답변(QA) 체인 - 시스템은 의미론적 검색의 출력을 사용하여 지식 기반의 의미론적 관련 문서를 활용하여 쿼리에 대한 응답을 맥락화하고 생성합니다.

문자 분할기, 임베딩 및 벡터 데이터베이스의 상호 작용을 통해 시스템은 인간의 맥락과 미묘한 차이 이해를 모방할 수 있습니다.

 

https://youtu.be/TY59cCyVt8Q

LangChain 메모리 구성 요소

LangChain 메모리 구성 요소 는 대화 연속성을 유지하는 데 있어 LLM의 한계를 해결하도록 설계된 솔루션입니다.

LLM은 상태 비저장이며 일반적으로 각 상호 작용을 개별적으로 처리하므로 과거 교환에 대한 메모리가 부족합니다. 이는 다음과 같은 과제를 제시합니다.

  • 제한된 컨텍스트 창.
  • 순차적 상호 작용에는 대화 기록이 없습니다.

메모리는 필요에 따라 컨텍스트를 저장 및 검색하여 컨텍스트 제한을 극복하는 데 도움이 되며 LLM은 즉각적인 컨텍스트 창을 넘어 중요한 세부 정보를 기억할 수 있습니다.

유지된 상태 시뮬레이션

LangChain 메모리 구성 요소는 진행 중인 대화 상태를 유지하고 대화를 요약하는 문제를 모두 해결합니다.

  • 관리 가능한 크기 내에서 전체 대화를 불러오거나 대화 내용이 늘어남에 따라 요약할 수 있습니다.
  • 긴 상호작용에서 관련성과 맥락을 유지합니다.
  • LLM이 요약 버전에 액세스하여 맥락을 잃지 않고 연속성을 유지할 수 있도록 보장합니다.
  • 핵심 로직을 실행하기 전에 컨텍스트를 통해 사용자 입력을 향상하고 응답 후 향후 참조를 위해 상호 작용을 저장합니다.
  •  

대화버퍼메모리

ConversationBufferMemory 구성 요소  채팅 메시지 기록을 유지 관리하여 챗봇이 진행 중인 대화를 상황에 맞게 이해할 수 있도록 하는 데 필수적입니다.

  • 사용자가 메시지를 보내면 대화 내용에 기록되며, 마찬가지로 챗봇의 응답도 기록됩니다. 이는 챗봇의 후속 메시지에 대한 컨텍스트를 제공하는 데 도움이 됩니다.
  • 대화 버퍼 메모리는 채팅 기록을 연속 스트림 또는 목록으로 출력할 수 있습니다.
  • 저장된 채팅 메시지 문자열은 다음 메시지를 생성할 때 언어 모델(LM)에 대한 필수 컨텍스트를 제공합니다.

데모의 하이라이트

위의 데모는 메모리가 있는 대화 체인을 사용하여 기본 챗봇을 만드는 방법에 대한 가이드를 제공합니다. 이는 다음 단계로 실행되었습니다.

  • 초기화 - 챗봇이 표준 방식으로 설정됩니다.
  • 메모리가 포함된 대화 체인 - 내장된 대화 버퍼를 갖춘 대화 체인이 생성됩니다.
  • 메모리 버퍼의 기능 - 이 버퍼는 모든 사용자 쿼리와 챗봇의 응답을 자동으로 기록하여 인간 사용자와 AI 간의 지속적인 대화를 생성합니다.

사용 사례 예시

  • 챗봇은 먼저 파리에 대해 질문을 받고 설명을 제공합니다.
  • 그런 다음 사용자는 파리를 다시 언급하지 않고 뉴욕에서 그곳으로 가는 방법을 묻습니다.

전체 대화 기록의 중요성

  • 두 번째 쿼리에서는 파리에 대한 명시적인 언급이 없음에도 불구하고 챗봇은 이를 뉴욕에서 파리로 여행하는 것에 대한 질문으로 정확하게 해석합니다.
  • 이러한 정확성은 챗봇이 마지막 질문뿐만 아니라 전체 대화 기록에 접근할 수 있기 때문입니다.
  •  

https://youtu.be/acsGICv9pt4

AI의 체인 유형

  1. 라우터 체인
    • 목적 - 이전 단계 출력을 기반으로 동적이고 비결정적인 작업 시퀀스를 허용합니다.
    • 응용 프로그램 - 컨텍스트 또는 질문 유형을 기반으로 대규모 언어 모델과의 상호 작용을 조정합니다.
    •  - 전자제품, 소프트웨어, 가전제품에 대한 고객 문의를 처리하는 챗봇. 이는 문의 유형을 식별하고 적절한 응답 메커니즘으로 라우팅합니다.
  2. 순차체인
    • 목적 - 하나의 출력이 다음 작업의 입력이 되는 일련의 작업을 용이하게 합니다.
    • 응용 프로그램 - 특정 순서로 여러 언어 모델 호출이나 기능이 필요한 프로세스에 유용합니다.
    •  - 제품 설명을 작성한 후 해당 설명을 사용하여 리뷰를 생성합니다.
  3. 변환 체인
    • 목적 - 작동 순서의 다양한 지점에서 입력을 변경하거나 처리하는 것과 관련됩니다.
    • 애플리케이션 - 특정 작업을 위한 파이프라인을 생성하는 데 사용됩니다.
    •  - 비디오 대본 추출, 타임스탬프 제거, 텍스트 요약.

이러한 각 체인은 서로 다른 목적을 수행하여 다양한 시나리오에서 AI 모델을 더욱 정교하고 상황에 맞게 적용할 수 있습니다.

  1. Router Chain
    • Purpose - Allows dynamic, non-deterministic sequences of operations based on previous step outputs.
    • Application - Adapts interactions with a large language model based on context or question type.
    • Example - A chatbot handling customer inquiries about electronics, software, and home appliances. It identifies the inquiry type and routes to the appropriate response mechanism.
  2. Sequential Chain
    • Purpose - Facilitates a series of operations where the output of one is the input for the next.
    • Application - Useful for processes needing multiple language model calls or functions in a specific order.
    • Example - Creating a product description followed by generating a review using that description.
  3. Transformation Chain
    • Purpose - Involves altering or processing inputs at various points in an operational sequence.
    • Application - Used to create pipelines for specific tasks.
    • Example - Extracting video transcripts, stripping timestamps, and then summarizing the text.

Each of these chains serves a distinct purpose, enabling more sophisticated and context-sensitive applications of AI models in various scenarios.

 
 
 
반응형

'딥러닝' 카테고리의 다른 글

device가 사용중일 때 나타나는 에러  (0) 2024.08.06
chatopenai error 트러블슈팅  (0) 2024.05.09
시험 AI-900  (0) 2024.03.16
LLM 평가  (0) 2024.03.12
modeling 없이 chatGPT를 만드는 방법  (0) 2024.02.20