24.10.31 23:18 작성
·
11
0
13분 20초
영상과 같이 답변이 나오지 않는데 어떻게 진행해야할까요
추가적으로 SystemMessagePromptTemplate와
HumanMessagePromptTemplate 함수를 사용하는 이유는 무엇인지가 잘 와닿지 않습니다!
답변 2
0
2024. 11. 01. 07:12
안녕하세요.
chain을 구성할 때 prompt 대신 messages 목록을 사용하신 것으로 보입니다.
랭체인에서 정의한 체인 컴포넌트를 사용해야 합니다.
그리고, ChatModel을 사용할 때는 LLM에게 메시지를 전달할 때, 시스템 메시지와 휴먼 메시지 등 역할과 목적에 맞게 메시지를 구분해서 사용합니다. SystemMessagePromptTemplate, HumanMessagePromptTemplate 등은 이 작업을 처리하는 방법 중 하나입니다.
"텍스트 입력 - 텍스트 출력"으로 동작하는 LLM과 구분해서 ChatModel의 동작 방식을 이해할 필요가 있습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
유동원님이 겪고 계신 오류는 Python에서 TypeError
가 발생하는 문제로, 코드에서 리스트가 잘못 사용된 것으로 보입니다. 메시지 템플릿 관련 함수는 LangChain에서 특정 메시지 유형을 관리하고, 대화 흐름을 보다 구조화된 방식으로 처리하는 데 중요한 역할을 합니다.
오류 설명 및 해결 방법:
TypeError
: coerce_to_runnable
함수는 Runnable
, callable
, 또는 dict
유형의 데이터를 요구하지만, 리스트가 전달된 것으로 보입니다. 이 오류를 해결하기 위해서는 리스트가 아닌 올바른 유형의 객체를 전달해야 합니다.
코드 확인: chain.invoke
또는 StrOutputParser
호출 시에 전달되는 값을 확인해야 합니다. 리스트가 잘못 전달되었다면, 그 부분을 수정해야 합니다. 각 함수가 예상하는 인자 유형에 맞게 데이터를 제공하는 것이 중요합니다.
관련 메소드 설명:
관련된 문제를 해결하기 위해 LangChain의 공식 문서에서 추가적인 정보를 확인하시기를 권장드립니다. 오류가 지속된다면, 구체적인 코드 스니펫을 포함하여 질문을 남겨주시면 추가적인 분석이 가능할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.