Search

Regacy Chains

대분류
인공지능/데이터
프레임워크
소분류
LangChain/RAG
유형
LangChain
RAG
부유형
Regacy Chains Migrating Package
주요 레퍼런스
https://python.langchain.com/v0.1/docs/modules/chains/
최종 편집 일시
2024/11/03 05:41
생성 일시
2024/11/01 05:54
13 more properties

Chains

체인은 LLM, Tools 또는 데이터 전처리 단계에 대한 호출 시퀀스를 의미
이를 위해 기본적으로 지원되는 방법은 LCEL이다.
LCEL은 님들의 커스텀 체인을 구성하는 데 베리 유용하지만, 오프 더 셸프(Off-the-shelf) 체인을 사용하는 것도 좋음.
오프 더 셸프(Off-the-shelf) : 기성품
LangChain이 지원하는 오프 더 셸프(Off-the-shelf) 체인에는 기본적으로 두 가지 유형이 있다.
1.
LCEL로 구축된 체인.
이 경우 LangChain은 더 높은 수준의 생성자 메서드를 제공
그러나 내부적으로 이루어지는 모든 작업은 LCEL로 체인을 구성하는 것이다.
2.
[Legacy] 레거시 체인 클래스에서 서브클래싱하여 구축된 체인.
이러한 체인은 내부적으로 LCEL을 사용하지 않고 독립적인 클래스이다.
현재 랭체인에서는 모든 체인의 LCEL 버전을 생성하는 메서드를 만드는 작업을 진행 중이다.
해당 작업을 진행하는 이유는 다음과 같다.
1.
이러한 방식으로 구축된 체인은 체인의 내부를 수정하고 싶을 때 간단히 LCEL을 수정할 수 있기 때문에 좋다.
2.
기본적으로 스트리밍, 비동기, 일괄 처리를 지원
3.
각 단계에서 자동으로 통합 가시성을 확보

Legacy Chain 종류

위 링크로 접속해보면 여러 가지 레거시 체인들이 있는 표가 있다.
실무에서는 해당 표의 When to Use 열을 참고하여 각각의 용도에 맞춰서 사용하면 된다.
여기서 테이블 칼럼이 의미하는 것을 다음과 같다. 참고 바람!
체인(Chain)
이 체인의 생성자 함수, 이들은 모두 LCEL 런처블을 반환하는 메서드
또한 API 문서로 연결되는 링크도 있다.
함수 호출(Function Calling)
OpenAI 함수 호출이 필요한지 여부
기타 도구(Other Tools)
이 체인에서 사용되는 기타 도구(있는 경우)
사용 시기(When to Use)
사용 시기: 이 체인의 사용 시기에 대한 설명

LLMChain - 제일 기본적인 체인

Prompt & Model

실습에서는 gpt-4o-mini 모델을 사용했습니다!
from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI prompt = ChatPromptTemplate.from_messages( [("user", "Tell me a {adjective} joke")], ) model = ChatOpenAI(model="gpt-4o-mini")
Python
복사

Chain

체인 생성
chain = prompt | model | StrOutputParser()
Python
복사

Run Chain

체인 실행 시켜보기
response = chain.invoke({"adjective": "funny"}) > print(response) Why don't skeletons fight each other? They don't have the guts!
Python
복사