summ의 블로그

[Langchain] chain 본문

langchain

[Langchain] chain

summ._ 2024. 7. 15. 23:15
chain

 

chain ?  

단계의 출력이 다음 단계의 입력이 되는 프로세스.

한 task의 출력이 다음 task의 input이 됨

 

 

만약, prompt에 수식을 계산해 달라고 하면?

  • 계산을 실제로 하는게 아니라 '계산하는' 패턴을 학습하는 것임.
  • 여러 계산 수식을 하는 원리가 학습되어 있음.
  • lstm으로 계산을 예측
  • 플러그인 > 수식을 생성 > 플러그인 사용 > 답 > llm으로 답변을 생성하여 보여줌

chain의 종류 3가지 

  • utility chain 
  • generic chain
  • combine document chain

1. LLMMathChain: 수학 계산을 위한 Utility Chain

 

from langchain_openai import ChatOpenAI
from langchain.chains import LLMMathChain
openai = ChatOpenAI(
    model_name = 'gpt-3.5-turbo',
    temperature = 0, 
    api_key = OPENAI_API_KEY
)

 

2. TransformChain: 입력받은 텍스트 조정을 위한 chain 

텍스트를 변환하는 정규식을 담은 함수를 생성한 다음 TransformChain을 이용하여 변환 

 

3. Sequential chain

  • PromptTemplate과 LLMChain을 이용해 원하는 스타일로 텍스트를 변환하는 프롬프트 작성
  • SequentialChain으로 TransformChain과 LLMChain을 연결
# 여러 chain 순차적 실행 
sequential_chain = SequentialChain(chains = [clean_extra_spaces_chain,
                                             style_paraphrase_chain],
                                             input_variables = ['text', 'style'],
                                             output_variables = ['final_output']
                                  )

'langchain' 카테고리의 다른 글

[Langchain] AI agent  (0) 2024.09.04
[Langchain] Retrieval Agents  (0) 2024.08.21
[Langchain] fewshot prompting  (0) 2024.07.15
[Langchain] langchain  (0) 2024.07.11
[Langchain] OpenAI api key 발급받기  (0) 2024.07.08