728x90
하나 이상의 LLM 구성요소 간의 논리적 연결인 Chain은 LangChain의 기능의 주축입니다. Chains은 필요성 및 관련된 LLM의 특징에 따라 단순한 것부터 복잡한 것까지 다양할 수 있습니다. 체인(Chains) 생성 단계는 이전의 LLM과정을 모두 하나로 묶어 하나의 RAG 파이프라인으로 조립하여 완성하는 단계 입니다.
다음과 같은 Chains의 종류가 있습니다.
- Structured Output Chain
PromptTemplate, LLM, OutputParser를 연결한 LLMChain과
- ConversationChain
ChatOpenAI 클래스를 사용하여 대화형 AI 모델의 인스턴스를 생성하고, 이를 통해 사용자와의 대화를 처리할 수 있습니다.
- SimpleSequentialChain
LLMChain들을 간단하게 연결할 수 있는
- SequentialChain
작은 Chain들을 좀 더 복잡한 형태로 연결할 수 있는 Chain
Chains의 형태는 다양한 조합을 보이며 가장 쉬운 예는 아래와 같다.
*LCEL(LangChain Expression Language) 문법을 사용하여 이전 단계의 전 과정을 하나의 체인(Chain) 으로 묶습니다.
# 체인(Chain) 생성
chain = (
{"context": retriever, "question": RunnablePassthrough()}
| prompt
| llm
| StrOutputParser()
)
# 체인 실행(Run Chain)
# 문서에 대한 질의를 입력하고, 답변을 출력합니다.
question = "삼성전자가 자체 개발한 AI 의 이름은?"
response = chain.invoke(question)
'AI * ML' 카테고리의 다른 글
LangChain 기본 - 검색기(Retriever) (0) | 2024.07.03 |
---|---|
LangChain 기본 - 임베딩(Embedding), 벡터저장소(VectorStore) (0) | 2024.07.03 |
LangChain 기본 - RAG에 대해 (0) | 2024.06.30 |
LangChain 기본 - LLM 체인의 구성 요소 (0) | 2024.06.30 |
LangChain 시작하기 - Agent에 대해서 (0) | 2024.06.29 |