Debugging l'aggiunta di un nuovo LLM

Sto cercando di aggiungere un LLM personalizzato al plugin Discourse AI. Quando premo il pulsante “test” ricevo un “Internal Server Error”.

C’è un modo per eseguire il debug di questo o ottenere un messaggio di errore migliore? Quando entro nell’immagine Docker ed eseguo curl su /v1/models, riesco a recuperarlo correttamente.

Il nome del modello è “models/Meta-Llama-3-8B-Instruct.Q6_K.gguf” e non sono sicuro che ci possano essere problemi con caratteri speciali.

Tentare un altro dà: Tentativo di contattare il modello ha restituito questo errore: {\"error\":{\"code\":404,\"message\":\"File Not Found\",\"type\":\"not_found_error\"}}

Ma non visualizza quale URL/modello sta cercando di recuperare, il che potrebbe aiutare nel debug.

Le stesse impostazioni sono state incollate in Open WebUI, che è stata in grado di contattare entrambi gli endpoint LLM e l’inferenza correttamente.

Qual server di inferenza stai usando? vLLM?

Quando configuri l’URL, aggiungi il percorso /v1/chat/completions alla fine.

Questo era il problema. Si noti che nel software LLM, è consuetudine includere solo fino a /v1 come URL dell’endpoint. La selezione di /chat/completion ecc. viene quindi normalmente aggiunta dal software.

Sto cercando di eseguirne uno in localhost per testare, quindi ho impostato l’URL su: “http://172.17.0.1:8081/v1/chat/completions” e ricevo un errore del server interno. Riesco a fare il curl di “http://172.17.0.1:8081/v1/models” dal container Docker di Discourse, quindi la connettività funziona.

Ci sono altre insidie (ad esempio, Discourse consente endpoint LLM non HTTPS e su porte arbitrarie)?

Entrambi dovrebbero funzionare.

Qual è l’errore che vedi su /logs?

Ah. Non sapevo di /logs!

NameError (variabile locale o metodo non definito 'tokenizer' per un'istanza di DiscourseAi::Completions::Dialects::ChatGpt) app/controllers/application_controller.rb:424:in 'block in with_resolved_local

Hmm. Quello che funziona è per un modello che ho quantizzato io stesso. Proverò a quantizzare gli altri per vedere se è un problema di formato del modello.

Qualcuno è riuscito a far funzionare l’API di DeepSeek? Sto cercando di capire la giusta formula per farla funzionare con Discourse.

La faccio funzionare in Open WebUI e altri client.

C’è un argomento qui al riguardo

2 Mi Piace