Depuração ao adicionar um novo LLM

Estou tentando adicionar um LLM personalizado ao plugin Discourse AI. Quando pressiono o botão ‘testar’, recebo "Internal Server Error".

Existe alguma maneira de depurar isso ou obter uma mensagem de erro melhor? Quando entro na imagem do docker e uso curl em /v1/models, consigo buscar isso corretamente.

O nome do modelo é "models/Meta-Llama-3-8B-Instruct.Q6_K.gguf" e não tenho certeza se pode haver algum problema com caracteres especiais.

Tentar outro retorna: Tentando contatar o modelo retornou este erro: {\"error\":{\"code\":404,\"message\":\"File Not Found\",\"type\":\"not_found_error\"}}

Mas ele não exibe qual URL/modelo está tentando buscar, o que poderia ajudar na depuração.

As mesmas configurações foram coladas no Open WebUI, que foi capaz de contatar ambos os endpoints LLM e inferir corretamente.

Qual servidor de inferência você está usando? vLLM?

Ao configurar a URL, adicione o caminho /v1/chat/completions no final.

Este foi o problema. Note que em software de LLM, é costume incluir apenas até /v1 como a URL do endpoint. A seleção de /chat/completion etc. é então normalmente adicionada pelo software.

Estou tentando executar um no localhost para testar, então coloquei o URL como: “http://172.17.0.1:8081/v1/chat/completions” e recebi um erro interno do servidor. Consigo usar o curl em “http://172.17.0.1:8081/v1/models” a partir do container docker do Discourse, então a conectividade está funcionando.

Existem outras armadilhas (por exemplo, o Discourse permite endpoints de LLM não HTTPS e com portas arbitrárias)?

Ambos devem funcionar.

Qual é o erro que você vê em /logs?

Ah. Eu não sabia sobre /logs!

NameError (variável local indefinida ou método 'tokenizer' para uma instância de DiscourseAi::Completions::Dialects::ChatGpt) app/controllers/application_controller.rb:424:in 'block in with_resolved_local

Hmm. O que funciona é para um modelo que eu mesmo quantizei. Tentarei quantizar os outros para ver se é um problema de formato do modelo.

Alguém conseguiu fazer a API DeepSeek funcionar? Estou tentando descobrir a maneira correta de fazê-la funcionar com o Discourse.

Eu a tenho funcionando no Open WebUI e em outros clientes.

Há um tópico aqui sobre isso

2 curtidas