LangChain을 연동 해서 사용하려면 우선 2가지 언어 중 한가지를 선택해야한다.
그중 한가지가 Python, 그리고 나머지한가지는 Javascript
(일부 JAVA도 지원하지만... 사용화버전까지는 다소 시간이 걸릴 듯 하다.)
여긴 Javascript를 기반으로 한 내역을 작성해보도록 하겠다(빠르게 서비스전환을 위해)
Setup 은 간단하다. 왜? 설치만 하고 세팅하면 끝
yarn add langchain
같이 설치 되는 packages 구조에 대해 관심이 있는 사람이 있을 수 있다는 판단에 관련자료도 첨부!!
요약하면
- langchain-core (늘 그렇듯)
: 중심이 되어 추상화 계체를 각 영역별로 지원하고 package 의 흐름을 관리한다
(core version 중요!)
- langchain/community
: 써드 파티 통합을 위해 필요한 기능을 제공한다
- langgraph
: building stateful 과 multi-actor 기능 제공(없이 사용 가능)
자 package 설치가 끝났으면, LangSmith 에도 접속을 해볼까?
LangSmith
smith.langchain.com
회원가입을 한 다음에 환경변수 세팅을 하면 된다
LangChain 에서 연동가능한 모델로는 아래와 같다
연동을 위한 Key정보는 각 LLM 사이트에서 제공하는 Key값을 세팅해서 사용하면 된다
예를 들면, OpenAI의 경우
//package 설치후
yarn add @langchain/openai
//가입 후 부여받은 api key값을 입력하고
OPENAI_API_KEY=your-api-key
//아래와 같이 import 를 한다음(모델별로 내역이 달라짐)
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({ model: "gpt-4" });
//전달하고자 하는 message 를 입력하여 api로 호출하면 값을 리턴 받을 수 있다.
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
const messages = [
new SystemMessage("Translate the following from English into Italian"),
new HumanMessage("hi!"),
];
await model.invoke(messages);
Output 에 대한 형변환도 할 수가 있는데,,,
간단하다.
//string 으로 결과값을 도출하고자 할 경우
import { StringOutputParser } from "@langchain/core/output_parsers";
const parser = new StringOutputParser();
//아까 리턴 받은 리턴값을 변수에서 전달받은 다음에
const result = await model.invoke(messages);
//그 값을 parser 로 처리하면 끝!!
await parser.invoke(result);
결과를 console.log 로그로 확인해보면 어떤 값이 리턴 받아졌는지 확인해 볼 수 있다.
[reference: langchain 공식 문서]
'LLM > LangChain' 카테고리의 다른 글
LangChain 기초 (0) | 2024.08.23 |
---|