로케일 감지기의 반환 값 문제

두 개의 다른 포럼에서 서로 다른 두 가지 문제를 겪었습니다. 콘텐츠 로컬라이제이션이 게시글을 원래 언어로 번역하기 시작하는 문제였죠(그보다 더 나쁘게, 콘텐츠가 이상하게 깨지거나 "이 게시글은 이미 영어입니다!"라는 문구가 추가되기도 했습니다).

이 문제를 파고들어 보니, 로케일 감지기가 LLM에서 순수한 언어 코드를 받지 못하고 있다는 것이 드러났습니다.

대신, 마크다운 ```로 감싸져 있었습니다(가독성을 위해 로그의 관련 부분만 복사했습니다).

"delta":{"content":"```"}
"delta":{"content":"en```"},

또는, Output: "en"라고 되어 있는 프롬프트에 혼란을 겪은 것 같아 주위에 따옴표가 붙어 있었습니다.

"delta":{"content":"\""}
"delta":{"content":"en\""}

프롬프트의 마지막 줄을 Your response must be a language code, and nothing else. Do not wrap your response in markdown.으로 변경하니 도움이 되었지만, LanguageDetector.detect가 사용 전에 응답을 조금 정리해야 할 것 같습니다(예: AZaz와 -만 허용?)).

4개의 좋아요

리포트해줘서 고마워 @nat 확인해볼게

2개의 좋아요

@RGJ 이 건에 대한 PR이 열려 있지만, 어떤 LLM을 사용 중인지 공유해 주실 수 있을까요?

1개의 좋아요

해당 인스턴스는 이미 폐기했지만, 기억에 따르면 Ministral 3B였어요.

프롬프트를 업데이트하고 예시를 시스템 프롬프트에서 적절한 상호작용으로 옮기는 수정 사항을 이곳에 병합했습니다.

우리의 팀은 또한 다양한 LLM에서 신뢰성을 높이기 위해 평가(evals) 작업을 진행 중입니다.

2개의 좋아요

이 주제는 2일 후 자동으로 닫혔습니다. 더 이상 답변을 게시할 수 없습니다.