새 LLM 추가 디버깅

Discourse AI 플러그인에 사용자 지정 LLM을 추가하려고 하고 있습니다. ‘테스트’ 버튼을 누르면 "Internal Server Error"가 발생합니다.

이를 디버깅하거나 더 나은 오류 메시지를 얻을 수 있는 방법이 있을까요? Docker 이미지 내부에서 /v1/models를 curl로 요청하면 정상적으로 데이터를 가져올 수 있습니다.

모델 이름은 "models/Meta-Llama-3-8B-Instruct.Q6_K.gguf"이며, 특수 문자로 인해 문제가 발생할 수 있는지 확실하지 않습니다.

다른 모델을 시도해 보았을 때, 모델에 연결을 시도하는 중 다음 오류가 반환되었습니다: {"error":{"code":404,"message":"File Not Found","type":"not_found_error"}}라는 메시지가 나타났습니다.

하지만 디버깅에 도움이 될 수 있는, 어떤 URL/모델을 가져오려고 시도하는지 표시되지 않습니다.

같은 설정을 Open WebUI에 붙여 넣었더니, 두 LLM 엔드포인트와 추론에 모두 정상적으로 연결할 수 있었습니다.

어떤 추론 서버를 사용 중이신가요? vLLM인가요?

URL을 설정할 때 끝에 /v1/chat/completions 경로를 추가하세요.

이것이 문제였습니다. LLM 소프트웨어에서는 엔드포인트 URL에 /v1까지만 포함하는 것이 관례입니다. /chat/completion 등의 선택은 보통 소프트웨어가 자동으로 추가합니다.

로컬호스트에서 하나를 실행하여 테스트하려고 URL을 "http://172.17.0.1:8081/v1/chat/completions"으로 설정했는데 내부 서버 오류가 발생합니다. discourse 도커 컨테이너에서 "http://172.17.0.1:8081/v1/models"을 curl로 요청할 수 있으므로 연결성은 정상적으로 작동하고 있습니다.

LLM 엔드포인트에 대해 다른 주의할 점(예: Discourse가 LLM 엔드포인트에 대해 https가 아닌 프로토콜과 임의의 포트를 허용하는가?)이 있습니까?

두 가지 모두 작동합니다.

/logs에서 확인되는 오류는 무엇인가요?

아. /logs에 대해 몰랐네요!

NameError (undefined local variable or method 'tokenizer' for an instance of DiscourseAi::Completions::Dialects::ChatGpt) app/controllers/application_controller.rb:424:in 'block in with_resolved_local

흠. 작동하는 것은 제가 직접 양자화한 모델입니다. 다른 모델들도 양자화해서 모델 형식 문제인지 확인해 보겠습니다.

DeepSeek API를 성공적으로 연동하신 분이 계신가요? Discourse와 함께 작동하게 만드는 정확한 방법을 알아내려고 합니다.

Open WebUI와 다른 클라이언트에서는 정상적으로 작동하고 있습니다.

이 주제에 대해 여기 토론이 있습니다