Benutzerdefinierte LLMs-Jobausnahme [deepseek-coder-v2:latest unterstützt keine Tools“, „Typ“: „api_error“, „param“: null, „code“: null]

Wir haben die benutzerdefinierte LLM aktiviert, aber wir haben ein Problem mit dem Chatbot.

Protokoll

Nachricht (2 Kopien gemeldet)

Job exception: {"error":{"message":"registry.ollama.ai/library/deepseek-coder-v2:latest does not support tools","type":"api_error","param":null,"code":null}}

Backtrace

/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:173:in `block (2 levels) in perform_completion!'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2433:in `block in transport_request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http/response.rb:320:in `reading_body'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2430:in `transport_request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2384:in `request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/net_patches.rb:19:in `block in request_with_mini_profiler'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:51:in `step'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/net_patches.rb:18:in `request_with_mini_profiler'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:168:in `block in perform_completion!'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1632:in `start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1070:in `start'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:139:in `perform_completion!'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/open_ai.rb:53:in `perform_completion!'
/var/www/discourse/plugins/discourse-ai/lib/completions/llm.rb:415:in `generate'
/var/www/discourse/plugins/discourse-ai/lib/personas/bot.rb:89:in `reply'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/playground.rb:494:in `reply_to'
/var/www/discourse/plugins/discourse-ai/app/jobs/regular/create_ai_reply.rb:18:in `execute'
/var/www/discourse/app/jobs/base.rb:318:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'
/var/www/discourse/app/jobs/base.rb:305:in `block in perform'
/var/www/discourse/app/jobs/base.rb:301:in `each'
/var/www/discourse/app/jobs/base.rb:301:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/lib/sidekiq/discourse_event.rb:6:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/lib/sidekiq/pausable.rb:131:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread'
curl -X POST http://localhost:11434/v1/chat/completions -H "Content-Type: application/json" -d '{
  "model": "deepseek-coder-v2:latest",
  "messages": [
    {
      "role": "system",
      "content": "Sie sind ein hilfreicher Assistent."
    },
    {
      "role": "user",
      "content": "Was ist die neueste Version von Conan gemäß 2025?"
    }
  ],
  "temperature": 0.7,
  "max_tokens": 200
}'

{“id”:“chatcmpl-940”,“object”:“chat.completion”,“created”:1757057197,“model”:“deepseek-coder-v2:latest”,“system_fingerprint”:“fp_ollama”,“choices”:[{“index”:0,“message”:{“role”:“assistant”,“content”:" Nach meinem letzten Update Anfang 2023 gibt es keine spezifischen Informationen über "Conan" nach 2025, da ich keine Zukunftsvorhersagefähigkeiten oder Echtzeitdaten habe. Ich kann Ihnen jedoch einige allgemeine Ratschläge geben, wie Sie die neueste Version von Conan, einem Paketmanager für die C/C+±Abhängigkeitsverwaltung, finden können:\n\n1. Besuchen Sie die offizielle Website: Der zuverlässigste Weg, Informationen über die neueste Version von Conan zu erhalten, ist der Besuch der offiziellen Website unter https://conan.io/. Dort finden Sie in der Regel die neuesten Versionshinweise und Dokumentationen zur neuesten Version.\n\n2. Überprüfen Sie das GitHub-Repository: Der Code von Conan wird auf GitHub gehostet. Sie können also auch das Repository (GitHub - conan-io/conan: Conan - The open-source C and C++ package manager) auf Releases oder Tags überprüfen, die verschiedenen Versionen entsprechen. Das Repository enthält oft Versionshinweise in Form von Commits und Pull-Anfragen.\n\n3"},“finish_reason”:“length”}],“usage”:{“prompt_tokens”:30,“completion_tokens”:200,“total_tokens”:230}}

Es scheint, dass dies der Hauptfehler ist:

deepseek-coder-v2:latest unterstützt keine Tools

Wenn man sich die Liste der Modelle hier ansieht: deepseek-coder · Ollama Search
scheint deepseek-coder-v2 keine Tools zu unterstützen – Sie müssten entweder Tools aus Ihrer Persona entfernen oder zu einem Modell mit Tool-Aufrufen wie deepseek-coder-v2-tool-calling wechseln.

2 „Gefällt mir“

Wenn wir den CURL-Befehl mit den Eingaben ausführen, erzeugt er die Ausgabe ohne Probleme. Wir haben keine Anpassungen an der Persona und den entsprechenden Einstellungen vorgenommen.

@awesomerobot

Könnten Sie weitere Details und einige Beispiele angeben? Dies würde uns helfen, ein klareres Verständnis zu gewinnen und bessere Diskussionen zu führen.

Es sieht nicht so aus, als ob der Curl-Befehl Tool-Aufrufe enthält, das könnte der Grund sein? Sind in den Persona-Einstellungen hier Tools aufgeführt?

1 „Gefällt mir“

@awesomerobot

Wir haben noch keine benutzerdefinierten Personas aufgenommen, daher sind alle, die Sie in der App sehen, nur die Standardoptionen. Außerdem verwenden wir derzeit keine davon!

Personas:

Tools

Nachdem ich mir Ihren früheren Screenshot noch einmal angesehen habe, sehe ich, dass Sie die forum helper-Persona für Ihren Bot verwenden. Diese enthält einige integrierte Tools, die Sie nicht entfernen können und die nicht mit dem von Ihnen verwendeten Modell funktionieren.

Sie sollten eine der vorkonfigurierten Personas ausprobieren, die keine Tools enthält („creative“ ist eine Option), oder eine neue Persona erstellen, die keine Tools enthält.

Könnten Sie bitte klären, ob eine Persona für die effektive Funktionsweise von LLMs unerlässlich ist?

Ja, unsere KI-Funktionen verwenden ein LLM mit einer bestimmten Persona.

Wenn Sie mehr als eine Persona aktiviert haben und eine neue Nachricht erstellen, sehen Sie ein Dropdown-Menü, mit dem Sie die Persona auswählen können:

Zu Testzwecken, wenn Sie die integrierte Creative-Persona aktivieren:

und dann die Seite aktualisieren und eine neue Nachricht mit dieser starten, würde ich erwarten, dass dies mit Ihrem LLM funktioniert, da die Creative-Persona keine Tools enthält.

1 „Gefällt mir“

Ich sehe nur diese Optionen, können Sie mir bitte bei den Einstellungen helfen?

Sie müssen /admin/plugins/discourse-ai/ai-personas besuchen und entweder eine neue Persona erstellen oder eine ohne Tools aktivieren. Wenn Sie eine vorhandene Persona ausprobieren möchten, wäre “Creative” eine gute Wahl zum Testen, da sie keine Tools enthält.

Sie würden also hier auf Bearbeiten klicken:

und am Ende der Persona-Einstellungen müssen Sie sie aktivieren, auf “Benutzer erstellen” klicken und Ihre Änderungen speichern.

Sobald dies geschehen ist, sollte die Persona “Creative” in der Liste erscheinen (möglicherweise müssen Sie die Seite zuerst aktualisieren).

Müssen wir auch das Standard-Modal auswählen?

Bitte helfen Sie auch bei den folgenden Einstellungen:

AI helper proofreader persona
AI helper title suggestions persona
AI helper explain persona
AI helper post illustrator persona
AI helper smart dates persona
AI helper translator persona
AI helper markdown tables persona
AI helper custom prompt persona
AI helper image caption persona
AI embeddings semantic search hyde persona
AI summarization persona
AI summary gists persona
AI bot discover persona
AI Discord search persona
AI translation locale detector persona
AI translation post raw translator persona
AI translation topic title translator persona
AI translation short text translator persona
Inferred concepts generate persona
Inferred concepts match persona
Inferred concepts deduplicate persona
AI embeddings generate for PMs
AI bot public sharing allowed groups

Wie stelle ich meine Frage an LLMs und welche Persona hilft, bessere Ergebnisse zu erzielen

Ich möchte die Antwort basierend auf den Daten in meinem Forum und Modell erhalten, falls diese nicht verfügbar sind.

@awesomerobot

Vielen Dank für deine Eingaben! Ich weiß das wirklich zu schätzen. Ich erhalte Antworten vom Bot, aber es scheint, dass meine Foreninhalte noch nicht enthalten sind. Hast du Vorschläge, wie wir das verbessern könnten? Nochmals vielen Dank!

1 „Gefällt mir“

Sie müssen zu einem LLM wechseln, das Tool-Nutzung unterstützt. Unsere enthaltene Persona „Forum-Helfer“ verwendet beispielsweise die Tools „suchen“ und „lesen“, um relevante Inhalte im Forum zu finden, die in ihre Antworten integriert werden können.

Wenn das Modell keine native Tool-Unterstützung hat, können Sie immer die XML-Alternative verwenden, die sie in den Prompt aufnimmt:

3 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.