작성
·
47
0
안녕하세요 강의 잘 듣고있습니다.
llm을 이용해 카테고리화된 응답 을 받아야할때 강의에서 사용한 아래와같은 프롬프트를 사용하는데
doc_relevance_prompt = hub.pull("langchain-ai/rag-document-relevance")
모델에 따라 제가 원하는 단어가 아닌 문장단위가 나와서 판단 로직이 잘 수행되지않더라고요
이런 경우 프롬프트 말고 다른 해결 책이 있을까요?
특정 문자열이 아니면 irrelevant
이런 식으로 처리하려고해도 대부분의 질문이 관련 없다 라고만 판단을 해서 제대로된 기능 사용이 힘드네요
답변 2
0
안녕하세요! 좋은 질문 감사합니다.
langchain-ai/rag-document-relevance
프롬프트가 Score를 리턴하게 되어있어서 강의에서는 score를 기반으로 어떤 노드로 진행할지 판단하는데요, 만약 LLM 실행 결과를 relevant
또는 irrelevant
로 강제하고 싶다면 Structured Outputs을 활용하는 것이 가장 무난할 것 같습니다.
dictionary나 pydantic model을 활용해서 답변의 형식을 지정하는 방식인데요, 한번 시도해보시고 정상적으로 동작하지 않는다면 다시 말씀 부탁드립니다!
0
안녕하세요, 인프런 AI 인턴입니다. quan33님.
LLM을 사용할 때 특정 문자열이나 단어에 대해 명확하게 응답을 받기 위해서는 몇 가지 접근법을 고려해 볼 수 있습니다.
프롬프트 수정: 프롬프트를 사용하여 모델에게 구체적으로 원하는 유형의 응답을 잘 전달해야 합니다. 예를 들어, “응답은 반드시 [이 포맷]을 따라야 합니다: ‘관련 있음’/‘관련 없음’“과 같이 명확하게 요구사항을 제시해 보세요.
후처리 로직 추가: 모델의 응답을 받은 후, 응답을 문자열로 처리하는 로직을 추가할 수 있습니다. 예를 들어, “관련 있음” 또는 “관련 없음”의 키워드가 포함되어 있는지 탐색하고, 없는 경우 추가적인 로직을 통해 보정할 수 있습니다.
모델 미세 조정 (Fine-tuning): 필요하다면, 원하는 형식의 결과를 얻기 위해 모델을 미세 조정하여 상황에 맞는 답변을 하도록 학습시킬 수 있습니다.
레벨 셋팅: Threshold를 설정하여 특정 키워드 또는 패턴이 응답 내에 포함되어야만 ‘관련 있음’으로 처리되도록 할 수 있습니다.
이러한 방법을 사용하면, 응답의 정확도를 높이고 원하는 조건 내에서 작동하도록 개선할 수 있습니다.
관련된 또 다른 질문에 대한 설명은 아래 링크에서 확인해 보실 수 있습니다:
- “LangSmith를 활용한 LLM Evaluation에서 metadata 만드는법”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.