dify 问题分类器,无法通过上下文进行分类,

idfiyjo8  于 4个月前  发布在  其他
关注(0)|答案(8)|浏览(57)

自检

  • 这仅用于提交错误报告,如果您想提问,请访问 Discussions
  • 我已在 search for existing issues 中搜索了现有问题,包括已关闭的问题。
  • 我确认我使用英语提交此报告(我已阅读并同意 Language Policy )。
  • 请不要修改此模板 :) 并填写所有必填字段。

Dify版本

0.6.5

云或自托管

自托管(Docker)

重现步骤

创建两个类别并打开内存:

  1. 计时功能
  2. 其他
    重现步骤:
    第一次你说:“我说分钟,你帮我统一转换为秒”,聊天流程将被分类为“其他”。
    第二次你说“5分钟”,聊天流程被分类为“计时功能”。
zu0ti5jz

zu0ti5jz1#

要解决Dify 0.6.5版本中,使用Docker自托管的问题分类器未按预期进行上下文分类的问题,请确保向量存储配置正确设置。以下是您需要验证的关键配置:

  1. VECTOR_STORE Configuration:
    确保在 apiworker 服务中都将 VECTOR_STORE 环境变量设置为 weaviate
  2. Weaviate Endpoint and API Key:
    验证 apiworker 服务中都正确设置了 WEAVIATE_ENDPOINTWEAVIATE_API_KEY
    这里是 docker-compose.yaml 文件的相关部分供参考:
services:
  api:
    image: langgenius/dify-api:0.6.10
    restart: always
    environment:
      ...
      VECTOR_STORE: weaviate
      WEAVIATE_ENDPOINT: http://weaviate:8080
      WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
      ...
  worker:
    image: langgenius/dify-api:0.6.10
    restart: always
    environment:
      ...
      VECTOR_STORE: weaviate
      WEAVIATE_ENDPOINT: http://weaviate:8080
      WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
      ...

确保这些配置正确设置,Weaviate服务正在指定的端点运行并可访问。
此外,确保问题分类器节点正确配置。这包括:

  1. 选择输入变量:
    使用 "Start Node" (sys.query)中的用户输入变量作为问题分类器的输入。
  2. 配置推理模型:
    确保分类器的推理模型正确设置。这可能涉及在 "System Settings - Model Provider"中完成模型设置并配置其参数。
  3. 编写分类条件:
    通过组合适合每个分类的关键字或描述性句子手动添加多个分类。这有助于根据用户的输入语义将对话引导到适当的处理路径。
    如果问题仍然存在,请检查 apiworkerweaviate 服务的日志,以查找任何错误或警告,这些错误或警告可能会提供更多关于问题的信息。
  • 要继续与 Dosu 交谈,请提及 @dosu。*
evrscar2

evrscar22#

这个组件只接收最后一条消息,没有上下文。它需要得到改进。

km0tfn4u

km0tfn4u4#

你在说什么?高级设置中没有内存选项,也没有用于工作流启动块的 sys.query 变量。这是从最新版本(00b4cc3cd44439d933a38d0ca28fde9b5c350a05 上的 main 分支)和使用最新镜像(langgenius/dify-web:0.6.12-fix1)中获取的。

更新:显然我误解了文档。它说的是“聊天流程”,但在UI上没有任何提到“聊天流程”的地方,所以我一直被“聊天流程”和“工作流”搞混。

cnh2zyt3

cnh2zyt35#

这个问题解决了吗?@JokerQyou@Geek-Bob

qkf9rpyu

qkf9rpyu6#

我认为是这样的。

kq0g1dla

kq0g1dla7#

这个问题解决了吗?
@crazywoola 这个问题仍然存在,尽管我在高级设置中编写了提示词并打开了内存,要求基于历史对话进行分类,但它仍然无法正常工作。

wfsdck30

wfsdck308#

我猜想原因是分类器仅根据最近的任务进行分类,并且没有参考XML标签内的对话历史。

相关问题