본문 바로가기

반응형

IT

(8) Langchain에서 사용자 데이터를 이용해보자 (user data, summarize) chatGPT 3.5는 2021년까지의 정보만을 사용하여 학습되었기 때문에 최신 정보를 알지 못합니다. 대부분의 개발자들은 chatGPT의 막강한 자연어 처리 기능에 자신만의 데이터를 추가하여 새로운 서비스를 만들고 싶을 것이라고 생각합니다. 예전에는 이러한 접근을 할때 OpenAI의 fine tunning을 통해서 비용을 지불하고 재학습을 수행하고 사용하는 방식만을 생각할 수 있었는데요. 현재는 prompt에 사용자 데이터를 함께 보내주는 방식을 통해 이를 해결하고자 하는 다양한 시도들이 진행 되고 있습니다. LangChain도 이 방법을 제공합니다. 다양한 종류의 사용자 데이터를 읽어 들여서 정보화 하는 방법을 제공하고 있는데요. 엄청나게 유용합니다. 다음은 지원 가능한 문서 종류 입니다. https.. 더보기
(7) Langchain에서 memory를 사용해보자(conversation chain) LangChain에서 memory는 체인 실행 사이에 이전 상황을 기억하여 애플리케이션 상태를 유지하는데 사용됩니다. 대부분의 LLM 애플리케이션에는 대화형 인터페이스가 있습니다. 메모리는 이전 대화에 소개된 정보를 참조할 수 있도록 지원합니다. 대화형 시스템은 과거 메시지의 일부에 직접 액세스할 수 있어야 하고 더 복잡한 시스템이라면 지속적으로 이를 업데이트 하며 정보를 유지하는 등의 작업을 수행할 수 있어야 합니다. memory의 종류는 여러가지가 있지만 여기서는 ConversationBufferMemory를 예제로 확인해보겠습니다. (ConversationChain은 default로 ConversationBufferMemory를 사용) 1. chat model 지정 import os import a.. 더보기
(6) Langchain에서 agent와 tool을 사용해보자 LangChain에서는 엄청나게 다양한 tool을 연동해서 기능을 구현할 수 있습니다. agent는 체인이 사용할 도구를 선택해서 지원할 수 있도록하며 LLM을 사용하여 원하는 작업을 수행하는 절차를 정의할 수 있습니다. 이때 어떠한 도구를 사용하여 목적을 달성할 것인지를 스스로 판단하여 사용합니다. 사용자는 구현된 tool이 어떠한 동작을 하는지 정확하게 description 해주기만 하면 알아서 가져다가 쓰도록 되어 있습니다. agent가 올바른 tools을 사용할 수 있도록 액세스 권한 지정하고 agent가 tool의 기능과 사용법을 알수 있도록 설명하면 되는 것이지요 여기서는 wikipedia api tool과 llm-math tool 2가지를 이용하여 현재 미국 대통령이 누구인지 알아내고 그의 .. 더보기
(5) Langchain에서 PromptTemplet을 사용하여 번역기, 요약기를 만들어보자 여기서는 PromptTemplete을 이용하는 응용 중 입출력을 미리 정의한 방식대로 동작 시키는 방법을 확인하기 위해서 입력된 문자열을 번역해보고 이를 요약해보는 코드를 간단히 만들어보겠습1니다. 아래 글과 연결된 내용입니다. https://yongeekd01.tistory.com/95 (4) Langchain에서 PromptTemplet을 사용하여 chat 모델을 구동해보자 LangChain에서 PromptTemplete을 사용하는 것은 system role을 주는 방법과 비슷합니다. 다만 사용자의 질문을 입력 변수처럼 정의하여 내부적으로 묶어서 처리할 수 있습니다. App을 사용하기 위한 chat 질 yongeekd01.tistory.com 1. 한글 입력을 영어로 바꿔주는 번역기를 만들어보기 im.. 더보기
(4) Langchain에서 PromptTemplet을 사용하여 chat 모델을 구동해보자 LangChain에서 PromptTemplete을 사용하는 것은 system role을 주는 방법과 비슷합니다. 다만 사용자의 질문을 입력 변수처럼 정의하여 내부적으로 묶어서 처리할 수 있습니다. App을 사용하기 위한 chat 질문/응답 구조 설계에 따라 다양하게 응용할 수 있을거라고 생각합니다. 여기서는 LangChain에서 chat 모델을 사용할 때 PromptTemplete을 이용해서 입력 변수를 정의하고 이를 이용하여 시스템 role을 구체화 화는 예제를 만들어 보겠습니다. 여기서도 ChatGPT를 사용하시려면 우선 다음 사이트에서 OpenAI API Key를 먼저 발급 받으셔야 합니다. https://platform.openai.com/account/api-keys OpenAI Platform.. 더보기
(3) Langchain을 이용하여 system role을 주고 chat 모델을 구동해보자 ChatGPT를 사용해 보신 분들은 아시겠지만 Prompt를 제어하여 좀더 정확하게 모델의 응답을 조정할 수 있습니다. 소위 "너는 시인이라고 생각하고 다음 문장에 대해서 시를 써줘..." 같은 접근을 이용하는 방법이죠. 물론 문자열을 입력할때 한번에 AI 모델의 역할을 지정하고 응답까지 한꺼번에 넣을 수도 있습니다만 여기서는 LangChain에서 chat 모델을 사용할 때 systemMessage를 이용해서 먼저 role을 정의해 주고 질문에 대답하도록 간단히 구현하는 예제를 만들어 보겠습니다. 여기서도 ChatGPT를 사용하시려면 우선 다음 사이트에서 OpenAI API Key를 먼저 발급 받으셔야 합니다. https://platform.openai.com/account/api-keys OpenAI .. 더보기
(2) Langchain을 이용하여 LLM을 간단히 구동 시켜보자 아주 아주 기초적인 내용으로서 Langchain 라이브러리를 이용하여 OpenAI의 chatGPT 모델을 구동시키고 간단한 질문 대답을 수행하는 코드입니다. 물론 다른 LLM 모델로 갈아끼워서 사용하실 수 있습니다. 다음 사이트에서 LLM모델들에 대해서 설명 하고 있으니 참고하시기 바랍니다. https://python.langchain.com/docs/integrations/llms/ LLMs | 🦜️🔗 Langchain 📄️ NLP Cloud The NLP Cloud serves high performance pre-trained or custom models for NER, sentiment-analysis, classification, summarization, paraphrasing, gramma.. 더보기
(1) Langchain이란 무엇인가? 개념과 모듈 구성을 알아보자 1. LangChain 개요 랭체인(LangChain)은 언어 모델을 기반으로 한 애플리케이션을 개발하기 위한 프레임워크이며 언어 모델을 API를 통해 호출하는 것 뿐만 아니라 외부 데이터를 인식하거나 타 시스템과의 상호작용하는 애플리케이션을 개발하고자 하는 요구 사항에서 시작된 오픈소스입니다. 우리가 요즘 엄청나게 사용하는 LLM모델중 하나인 예를 들어 ChatGPT는 수많은 대규모 언어모델의 하나이고 학습한 내용을 기반으로 동작합니다. 그 외에도 수도 없이 많은 LLM 모델들이 많이 개발되어 있지만 상용으로는 chatGPT가 독보적이라고 할수 있습니다. 하지만 더 나은 서비스를 원하는 사용자의 요구사항이 늘어나고 있습니다. - 추가적인 전문 데이터를 더 학습시켜서 특화 시키려는 요구 - 최신 정보를 .. 더보기

반응형