인공지능/LangChain8 [LangChain] 공식문서 Build a Chatbot 실습 (3) Prompt templates Prompt templates는 사용자의 raw information을 LLM이 작업할 수 있는 형식으로 변화하는 데에 도움을 줍니다. 오늘 실습에서는 먼저 사용자의 instructions이 포함된 system message를 추가해보겠습니다. 그 다음으로는 messages 이외에 다양한 input을 추가해보겠습니다. 다음과 같은 코드를 통해 input type을 변경할 수 있습니다. 단순한 메시지 대신, 메시지를 포함하고 있는 'messages key'를 딕셔너리 형태로 전달하게 됩니다. from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholderprompt = ChatPromptTemplate.f.. 2024. 8. 26. 검색증강생성 (RAG) 검색증강생성 (Retrieval-Augmented Generation, RAG)자연어처리에서 정보 검색과 생성 모델을 결합하여 질의에 대한 더 정확하고 정보에 기반한 응답을 제공하는 기술구조문서 또는 데이터 가공임베딩 모델언어 모델벡터 데이터 베이스프롬프트주요 개념정보검색 (Retrieval)RAG는 대규모 문서 집합에서 관련 문서를 검색하는 검색 모델을 사용이 검색 모델을 쿼리에 맞는 문서를 찾아내는 역할을 함생성 (Generation)검색된 문서를 기반으로 응답을 생성하는 생성 모델Transformer 같은 딥러닝 모델을 사용하여 검색된 문서의 내용을 바탕으로 자연스럽고 정보에 맞는 응답을 생성통합 (Combination)RAG는 검색고 생성을 결합하여 작동사용자의 질문에 대해 검색 모델이 관련 문서.. 2024. 7. 29. [LangChain] 공식문서 Build a Chatbot 실습 (2) 이번에는 모델에 기존 대화를 입력해서 맥락을 파악하게 해주고 그에 맞는 출력을 얻는 실습을 해보겠습니다.Message History먼저 메세지 history를 저장하기 위한 패키지를 설치하고 불러옵니다.!pip install langchain_community 그 다음 관련 클래스('BaseChatMessageHistory', 'InMemoryChatMessageHistory', 'RunnableWithMessageHistory')를 불러오고, 'get_session_history'라는 함수를 지정하여 기존 대화들을 저장할 수 있도록 해줍니다.from langchain_core.chat_history import ( BaseChatMessageHistory, InMemoryChatMessage.. 2024. 7. 26. [LangChain] 공식문서 Build a Chatbot 실습 (1) 오늘은 LangChain 공식 홈페이지에서 챗봇을 만드는 실습을 해보려고 합니다. 저는 주피터 노트북을 사용해서 실습을 진행해보았습니다. Setup 먼저 세팅 과정입니다. 필요한 라이브러리를 설치해줍니다. !pip install langchain 그리고 실습을 위해서는 OpenAI의 API가 필요합니다. 다음 링크로 가셔서 가입을 한 후, 해외 결제가 가능한 카드를 등록하시면 API를 받아서 사용하실 수 있습니다. 카드 등록을 하지 않으면 API 키를 입력해도 에러가 발생합니다. https://platform.openai.com/api-keys API를 발급 받으셨다면 다음 코드에 API 키를 입력하시면 됩니다.import getpassimport osos.environ["LANGCHAIN_TRACING.. 2024. 7. 25. [LangChain] 공식문서 Conceptual Guide docs (2) Components Components LangChain은 LLMs를 사용하여 다양한 작업을 수행할 수 있도록 여러 구성 요소에 대한 표준화된 인터페이스와 integrations를 제공한다. 1. Chat Models Chat models는 메시지 시퀀스를 입력받아 채팅 메세지를 출력하는 언어 모델이다. 전통적인 LLM과 달리, 각 메세지에 역할을 할당하여, AI, 사용자, 시스템 메세지를 구분할 수 있다. Chat models는 문자열을 입력으로 받아 HumanMessage로 변환 후 모델에 전달한다. 이를 통해 Chat models를 LLM처럼 쉽게 사용할 수 있다. Chat models에서 LangChain은 외부 통합을 통해 사용되며, 표준화된 매개변수를 제공하여 다양한 모델을 일관되게 사용할 수 있도록 한다. .. 2024. 7. 21. [LangChain] 공식문서 Conceptual Guide (1) Architecture, LCEL LangChain의 구조 (Architecture)LangChain은 프레임워크로서, 다양한 패키지로 구성되어 있다. 1. langchain-core (핵심 패키지) 이 패키지는 다른 요소들의 기본적인 추상화와 그들을 함께 구성하는 방법을 포함하고 있다. LLM, 벡터 스토어, retrievers와 같은 핵심 요소들이 여기 정의되어 있다. 2. langchain (파트너 패키지) 이 패키지는 chains, agents, 그리고 어플리케이션의 인지 구조를 구성하는 retrieval strategies를 포함하고 있다. 이 패키지 안의 모든 체인, 에이전트, 검색 전략은 특정 integration에 국한된 것이 아니라 모든 일반적인 integration에 공통적으로 적용된다. 3. langchain-comm.. 2024. 7. 21. [LangChain] 2. 초거대언어모델 (LLM) (youtube 모두의AI 님의 영상을 보며 공부한 내용을 정리) LLM (Large Language Model)LLM의 발전 양상Closed Source장점: 뛰어난 성능, API 방식의 편리한 사용성단점: 보장할 수 없는 보안, API 호출 비용ex) GPT 시리즈, PALM, BardOpen Source장점: Closed source 못지 않은 성능, 높은 보안성, 낮은 비용단점: 개발 난이도 높음, 사용을 위한 GPU 서버 필요ex) Llama 계열의 LLM (Meta 사의 오픈소스 모델Transformer구조 (인코더와 디코더)인코더 (Encoder)문장을 받는 역할언어모델에 특정 문장을 줬을 때 해당 문장을 이해하는 부분디코더 (Decoder)문장을 출력하는 역할현재 NLP 모델의 대부분은 T.. 2024. 7. 16. [LangChain] 1. LangChain에 대해서 (youtube 모두의AI 님의 영상을 보며 공부한 내용을 정리) 전체 학습 목표: LLM의 구동 원리를 이해하고, LangChain을 통해 실무 활용 가능한 챗봇 구축하기배경 지식LLM (Large Language Model)초거대 언어모델특징대규모 데이터 학습딥러닝 기술트랜스포머: 셀프 어텐션 메커니즘을 사용하여 문맥을 이해하고, 병렬 처리 능력이 뛰어나 대규모 데이터를 효과적으로 학습할 수 있음주로 트랜스포머(Transformer) 구조를 기반으로 구축Transformer“Attention is All You Need”특징병렬 처리순차적 계산에 의존하지 않기 때문에 병렬 처리가 가능하여 훈련 속도가 빠름기존 순환신경망(RNN) 및 LSTM(Long Short-Term Memory) 보다 효율적셀프 .. 2024. 7. 16. 이전 1 다음