1、问题详情:
在dify上以本地插件安装的形式装好ollama插件、文心一言插件后,在应用场景使用时一直没反应,看接口200,后台报错如下:
2025-03-27 03:18:17.219 ERROR [Thread-3 (_generate_worker)] [app_generator.py:243] - Unknown Error when generating
Traceback (most recent call last):
File "/app/api/core/app/apps/chat/app_generator.py", line 223, in _generate_worker
runner.run(
File "/app/api/core/app/apps/chat/app_runner.py", line 69, in run
self.get_pre_calculate_rest_tokens(
File "/app/api/core/app/apps/base_app_runner.py", line 90, in get_pre_calculate_rest_tokens
prompt_tokens = model_instance.get_llm_num_tokens(prompt_messages)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/api/core/model_manager.py", line 195, in get_llm_num_tokens
self._round_robin_invoke(
File "/app/api/core/model_manager.py", line 370, in _round_robin_invoke
return function(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/api/core/model_runtime/model_providers/__base/large_language_model.py", line 299, in get_num_tokens
return plugin_model_manager.get_llm_num_tokens(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/api/core/plugin/manager/model.py", line 231, in get_llm_num_tokens
for resp in response:
^^^^^^^^
File "/app/api/core/plugin/manager/base.py", line 189, in _request_with_plugin_daemon_response_stream
self._handle_plugin_daemon_error(error.error_type, error.message)
File "/app/api/core/plugin/manager/base.py", line 221, in _handle_plugin_daemon_error
raise PluginInvokeError(description=message)
core.plugin.manager.exc.PluginInvokeError: PluginInvokeError: {"args":{},"error_type":"ConnectTimeout","message":"HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/mectTimeoutError(\u003curllib3.connection.HTTPSConnection object at 0x7f55be7a8740\u003e, 'Connection to openaipublic.blob.core.windows.net timed out. (connect timeout=None)'))"}
2025-03-27 03:18:17.236 ERROR [Dummy-2] [base_app_generate_response_converter.py:123] - {"args":{},"error_type":"ConnectTimeout","message":"HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded wi/vocab.bpe (Caused by ConnectTimeoutError(\u003curllib3.connection.HTTPSConnection object at 0x7f55be7a8740\u003e, 'Connection to openaipublic.blob.core.windows.net timed out. (connect timeout=None)'))"}

2、查阅相关材料,有的要收费,有的折腾好长时间最终降版本到0.15.3,最终解决方法如下:
-
把api服务container中的 /app/api/.tiktoken_cache文件复制到 plugin服务container中的 /app/storage目录下,如下所示:
docker cp docker-api-1:/app/api/.tiktoken_cache ./

-
改动docker-compose.yaml文件,添加如下内容:
TIKTOKEN_CACHE_DIR: /app/storage/.tiktoken_cache

-
操作完成后务必重启服务。