ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AI와 LangChain
    GPT 활용법 탐구 2023. 5. 18. 00:22
    반응형

     

    LangChain이란?

    인공 지능(AI) 세계에서, 대규모 언어 모델 (LLMs) 응용 프로그램 개발 분야의 새롭게 떠오르는 별은 LangChain입니다. 오픈 소스 소프트웨어 개발 프레임워크인 LangChain은 언어 모델을 사용하여 애플리케이션을 생성하는 것을 간소화하기 위해 설계되었으며, AI 모델을 객체로 취급하고 통합하여, 보다 복잡한 상호 작용이 가능한 AI 애플리케이션을 구현할 수 있는 프레임워크 역할을 합니다.

     

    https://python.langchain.com/en/latest/index.html

     

    Welcome to LangChain — 🦜🔗 LangChain 0.0.173

     

    python.langchain.com

    LangChain의 장점: 손쉽게 LLM 사용하기

    LangChain은 언어 모델(LLM)과 애플리케이션 개발 간의 간극을 메워주는 프레임워크입니다. 언어 모델을 원하는 부분에서 호출하여, 애플리케이션의 큰 흐름 안에서 손쉽게 다른 로직, 서비스 및 데이터와 연결하여 사용할 수 있도록 지원합니다.

     

    예를 들어, LangChain을 사용하면 Amazon, Google 및 Microsoft Azure 클라우드 스토리지 사용, 뉴스, 영화 정보, 날씨에 대한 API 래퍼, 요약을 위한 Bash, 구문 및 문장 의미 분석, 쉘 스크립트 실행 등과 같은 기능들에 언어 모델을 손쉽게 통합하고 구현할 수 있습니다. 또한, 50개 이상의 문서 유형과 데이터 소스를 손쉽게 텍스트 형태로 애플리케이션으로 가져올 수 있어, 개발자에게 다양한 애플리케이션을 제작할 가능성을 열어줍니다.

     

    결과적으로 개발자는 유저의 상호 작용을 기억하고 데이터를 이해하며, 그 결과를 바탕으로 결정을 내릴 수 있는 애플리케이션을 만들 수 있습니다.

     

    LangChain 모듈

    LangChain 프레임워크는 아래의 몇 가지 주요 모듈로 구성됩니다.

    모델

    LangChain은 언어 모델, 채팅 모델, 텍스트 임베딩 모델 등 다양한 모델 유형을 지원합니다. 모델(Models) 모듈은 OpenAI, AI21, Anthropic, Google 등 다양한 공급업체의 모델을 객체로 취급하여 사용할 수 있도록 구현되었습니다.

    프롬프트

    프롬프트는 언어 모델에 제공되는 입력입니다. 이 프롬프트 모듈은 프롬프트를 관리 및 최적화하고 반복 사용을 위한 직렬화(Serialize)하는 데 사용할 수 있습니다.

    메모리

    메모리(Memory) 모듈은 체인 또는 에이전트의 호출 과정에서 모델의 상태를 유지하는 표준 인터페이스를 제공합니다. 기본적으로 모델들은 유저와의 상호작용을 기억하고 있지 않기 때문에, 메모리 모듈을 사용하여, 상호 작용을 기억하고 데이터에 대한 지식을 갖춘 애플리케이션을 만들 수 있습니다.

    색인

    색인(Index) 모듈에는 문서 작업을 위한 유틸리티 함수가 포함되어 있습니다. 언어 모델이 문서와 손쉽게 상호 작용할 수 있도록 문서를 구조화하는 방법도 포함합니다.

    체인

    체인은 단일 언어 모델 호출을 넘어서는 복잡한 애플리케이션 구현하기 위한 모듈입니다. 여러 언어 모델, 도구 또는 유틸리티에 대한 호출(Call)을 하나의 시퀀스으로 구현하여 사용합니다.

    에이전트

    에이전트는 언어 모델이 유저의 Input을 기준으로 어떤 도구(Tools)로 작업을 수행할지 결정하고, 자신의 수행 결과를 관찰한 다음, 전체 프로세스가 완료될 때까지 특정 작업을 반복하도록 구현된 모듈입니다. LangChain은 에이전트의 표준 인터페이스(에이전트 별 프롬프트) 및 해당 상황에 특화된 에이전트 선택지(구문완성, 대화 등)를 제공합니다.

     

    LangChain 코드 맛보기

    LangChain을 사용하기 위한 환경 설정 과정은 간단합니다. 소스 코드는 JavaScript 및 Python 패키지로 제공되며, JavaScript의 경우 npm 또는 yarn을 통해 환경을 설치하거나 Python의 경우 pip를 통해 설치할 수 있습니다. 환경 설치 후, 실제 코드에서 OpenAI의 모델(Models)을 사용하려면 OpenAI에서 API 키를 가져와 환경 변수에 설정해야 합니다.

     

    Python 또는 JavaScript 개발자라면 LangChain을 사용하여 AI 애플리케이션을 개발하는 것은 비교적 간단합니다. 아래와 같이, 단 몇 줄의 코드만으로 여러 언어로 특정 문구를 번역할 수 있는 애플리케이션을 만들 수 있습니다. 또한, 이런 간단한 애플리케이션에도 LangChain의 메모리 모듈을 사용하면, 이전의 상호 작용을 기억하고, 특정 데이터에 대한 지식을 갖춘 애플리케이션을 만들 수 있습니다.

    import os
    OPENAI_API_KEY = os.environ["OPENAI_API_KEY"]
    from langchain.llms import OpenAI
    llm = OpenAI(model_name="text-davinci-003", temperature=0.9)
    input_prompt = "Tell me 'Hello World' in German, French and Latin"
    llm(input_prompt)

    이 스크립트의 출력은 다음과 같습니다.

    'German: Hallo Welt\n French: Bonjour monde\n Latin: Salve Mundi'

    LangChain의 사용 사례

    LangChain을 사용해 개발할 수 있는 애플리케이션은 문서 분석 및 요약, 챗봇, 코드 분석, 개인 비서 및 질문-답변 시스템과 같이 매우 다양합니다.

    사용 사례

    AI 활용 애플리케이션 모음 사이트

    https://gptforge.net/

     

    GPTForge

    GPTForge is a new AI Tools directory where you can find 1000+ tools for your business needs. We cover many categories ranging from Chatbots, Large Language Models, and Generative Media.

    gptforge.net

    브라우저에서 에이전트 사용하기
    https://agentgpt.reworkd.ai/ko

     

    AgentGPT: Autonomous AI in your browser 🤖

    Assemble, configure, and deploy autonomous AI Agents in your browser.

    agentgpt.reworkd.ai

     

    미래는 밝다

    LangChain은 대규모 언어 모델을 애플리케이션에 적용하고 상호 작용하는 방식을 변화시킨 혁명적인 프레임워크입니다. 이는 LangChain이 AI 애플리케이션의 기능을 확장하고 개발자가 AI의 힘을 활용하기 쉽게 만들어주기 때문일 것입니다. 미래에도 AI 분야가 지속해서 발전함에 따라, LangChain은 AI 애플리케이션 개발의 핵심적인 프레임워크 중 하나가 될 것입니다.

    반응형
Designed by Tistory.