해결된 질문
작성
·
169
1
from langchain.output_parsers import CommaSeparatedListOutputParserfrom langchain.prompts import PromptTemplate
output_parser = CommaSeparatedListOutputParser()
format_instructions = output_parser.get_format_instructions()print(f"instruction : {format_instructions}")# instruction : Your response should be a list of comma separated values, eg: `foo, bar, baz`
prompt = PromptTemplate( template="List five {subject}.\n{format_instructions}", input_variables=["subject"], partial_variables={"format_instructions": format_instructions},)
from langchain_openai import OpenAI
llm = OpenAI(temperature=0)
_input = prompt.format(subject="ice create flavors")output = llm.invoke(_input)
print(output_parser.parse(output))
# ['1. Vanilla\n2. Chocolate\n3. Strawberry\n4. Mint\n5. Coffee']
이렇게 작성했는데, Output이 ['1. Vanilla\n2. Chocolate\n3. Strawberry\n4. Mint\n5. Coffee'] 이렇게 나옵니다.. parser의 문제일까요 모델의 문제일까요 ?
답변 2
1
안녕하세요 정채진님,
덕분에 모든 코드를 5시간에 걸쳐 다 훑어본 후에 오늘자 최신 버전인 0.1.9에도 코드가 작동하게 만들어 놨는데, 아쉽게도 똑같은 모델이 존재하지 않는 관계로 이 부분은 다른 모델로도 똑같은 아웃풋은 불가능 하네요.
아마도 커스텀한 파서를 만들어서 사용해야 될 듯 합니다.
0
안녕하세요 정채진님,
일단 제가 사용했던 랭체인은 langchain==0.0.339
버전이니 한번 이 버전으로 설치해주시고 다시 시도해 보세요. 제가 오늘 퇴근 후에 자세한 사항을 보고 또 답변 드리겠습니다.