カスタムLLM - ジョブ例外 [deepseek-coder-v2:latest はツールをサポートしていません」、「type」:「api_error」、「param」:null、「code」:null]

カスタムLLMを有効にしましたが、チャットボットを試すと問題が発生しています。

ログ

メッセージ(2件報告あり)

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

バックトレース

/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": "あなたは親切なアシスタントです。"
    },
    {
      "role": "user",
      "content": "2025年時点でのConanの最新バージョンは何ですか?"
    }
  ],
  "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":"2023年初頭の私の最後のアップデート時点では、「Conan」に関する2025年以降の特定の情報はありません。将来の予測能力やリアルタイムデータを持っていないためです。しかし、C/C++依存関係管理のためのパッケージマネージャーであるConanの最新バージョンを見つけるための一般的なアドバイスをいくつか提供できます。\n\n1. **公式サイトを訪問する:** Conanの最新バージョンに関する情報を得る最も信頼できる方法は、公式サイト(https://conan.io/)を訪問することです。そこでは通常、最新リリースノートと最新バージョンに関連するドキュメントを見つけることができます。\n\n2. **GitHubリポジトリを確認する:** ConanのコードベースはGitHubでホストされているため、リポジトリ(https://github.com/conan-io/conan)でさまざまなバージョンに対応するリリースやタグを確認することもできます。リポジトリには、コミットやプルリクエストの形式でリリースノートが含まれていることがよくあります。\n\n3"},"finish_reason":"length"}],"usage":{"prompt_tokens":30,"completion_tokens":200,"total_tokens":230}}

どうやらこれが主なエラーのようです。

deepseek-coder-v2:latest はツールをサポートしていません

こちらのモデルリストを確認すると: deepseek-coder · Ollama Search
deepseek-coder-v2 はツールをサポートしていないようです。パーソナからツールを削除するか、deepseek-coder-v2-tool-calling のようなツール呼び出しをサポートするモデルに切り替える必要があります。

「いいね!」 2

入力を使用してCURLコマンドを実行すると、問題なく出力が得られます。ペルソナおよび関連設定に変更は加えていません。

@awesomerobot

詳細と例をいくつか提供していただけますか?これにより、より明確な理解が得られ、より良い議論を促進することができます。

curl コマンドにはツール呼び出しが含まれていないため、それが原因かもしれません。ペルソナ設定にツールはリストされていますか?

「いいね!」 1

@awesomerobot

まだカスタムペルソナは含めていないため、アプリで表示されるものはすべてデフォルトのオプションです。また、現時点ではそれらのいずれも使用していません!

ペルソナ:

ツール

もう一度以前のスクリーンショットを確認したところ、ボットに「フォーラムヘルパー」ペルソナを使用していることがわかりました。これには削除できない組み込みツールが含まれており、使用中のモデルでは機能しません。

ツールを含まない事前設定済みペルソナ(「クリエイティブ」がオプションの1つです)を試すか、ツールを含まない新しいペルソナを作成してください。

ペルソナを持つことは、LLMの効果的な機能に不可欠かどうか、明確にしていただけますか?

はい、AI機能は指定されたペルソナを持つLLMを使用します。

複数のペルソナを有効にして新しいメッセージを作成すると、ペルソナを選択できるドロップダウンメニューが表示されます。

テスト目的で、組み込みのクリエイティブペルソナを有効にした場合:

ページを更新して、それを使用して新しいメッセージを開始すると、クリエイティブペルソナにはツールが含まれていないため、LLMで機能すると予想されます。

「いいね!」 1

これらのオプションしか表示されないのですが、設定について教えていただけますか?

/admin/plugins/discourse-ai/ai-personas にアクセスし、新しいペルソナを作成するか、ツールなしのペルソナを有効にする必要があります。既存のペルソナを試したい場合は、Creative がツールを含まないため、テストに適しています。

そのため、ここで編集をクリックします。

そして、ペルソナ設定の下部で、有効化し、「ユーザーを作成」をクリックして変更を保存する必要があります。

それが完了すると、Creative ペルソナがリストに表示されるはずです(最初にページを更新する必要がある場合があります)。

デフォルトのモーダルも選択する必要がありますか?

また、以下の設定についても支援をお願いします。

AIヘルパー校正者ペルソナ
AIヘルパータイトル提案ペルソナ
AIヘルパー説明ペルソナ
AIヘルパー投稿イラストレーターペルソナ
AIヘルパースマート日付ペルソナ
AIヘルパートランスレーターペルソナ
AIヘルパーMarkdownテーブルペルソナ
AIヘルパークカスタムプロンプトペルソナ
AIヘルパー画像キャプションペルソナ
AI埋め込みセマンティック検索 Hyde ペルソナ
AI要約ペルソナ
AIサマリーGistsペルソナ
AIボットディスカバーペルソナ
AI Discord検索ペルソナ
AI翻訳ロケール検出ペルソナ
AI翻訳投稿RAWトランスレーターペルソナ
AI翻訳トピックタイトル翻訳者ペルソナ
AI翻訳短文翻訳者ペルソナ
推論された概念生成ペルソナ
推論された概念マッチングペルソナ
推論された概念重複排除ペルソナ
AI埋め込みPM生成
AIボット公開共有許可グループ

LLMに質問する方法と、より良い出力を得るためのペルソナ設定

フォーラムとモデルのデータに基づいて回答を得たい。もし利用できない場合は、その旨を教えてほしい。

@awesomerobot

ご入力いただきありがとうございます!大変感謝しております。ボットからの応答は得られているのですが、フォーラムのコンテンツがまだ含まれていないようです。それを改善するために何か提案はありますか?重ねてお礼申し上げます!

「いいね!」 1

ツール利用をサポートするLLMに切り替える必要があります。例えば、当社の「フォーラムヘルパー」ペルソナは、「検索」および「読み取り」ツールを使用して、フォーラム内の関連コンテンツを見つけて返信に組み込みます。

モデルにネイティブのツールサポートがない場合は、プロンプトにツールを含めることができるXMLの代替手段を常に使用できます。

「いいね!」 3

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