You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Knowledge Exploration Service查询报错:本地遇CancellationToken.Timeout!

排查CancellationToken.Timeout!错误及搜索建议无法获取的问题

我来帮你梳理下可能导致这个问题的几个关键点,结合你给出的文件内容来看,先从最明显的问题入手:

1. 同义词文件格式不完整且存在语法错误

你给出的Keyword.syn内容是["class","grade"] ["year"...,这明显是截断且不符合JSON语法的。官方要求的同义词文件应该是一个二维JSON数组,每组同义词用一个数组包裹,整个文件是数组的集合。比如正确的格式应该是:

[
  ["class", "grade"],
  ["year", "academic year", "school year"]
]

如果文件语法错误,程序在加载同义词时会卡住,最终触发超时错误。

2. Schema中的类型大小写不一致

你的Search.schema里,Keyword的type写的是"String"(首字母大写),但其他属性ClassCD、Year的type是"string"(小写)。绝大多数搜索服务的Schema定义要求类型为小写的string,大小写不匹配会导致Schema解析失败,服务无法正确初始化,进而无法响应搜索请求,引发超时。

修正后的Schema应该统一类型大小写:

{
  "attributes": [
    {"name":"ClassCD","type":"string"},
    {"name":"Year","type":"string"},
    {"name":"Keyword", "type":"string", "synonyms":"Keyword.syn"}
  ]
}

3. 本地托管服务的文件访问问题

CancellationToken.Timeout!通常意味着请求等待资源超时,可能是以下原因:

  • 文件路径错误:检查演示程序中引用Search.schema和Keyword.syn的路径是否正确,比如相对路径是否写错,导致程序找不到文件,一直在等待读取。
  • 跨域限制:如果是前端页面调用本地托管的文件,浏览器的跨域策略可能阻止请求,导致请求超时。可以尝试在本地托管服务中添加跨域支持,或者直接用本地文件协议(file://)测试(部分场景可能仍有限制)。
  • MIME类型不正确:本地托管服务没有为.schema或.syn文件设置正确的Content-Type(比如application/json),导致程序无法正确解析文件内容,请求卡住超时。

4. 文件完整性检查

确保Search.schema和Keyword.syn文件是完整的,没有缺失闭合括号、引号等语法符号。哪怕是一个小的语法错误,都可能导致文件解析失败,进而引发超时。

建议你先修复同义词文件和Schema的语法/格式问题,再检查本地托管服务的配置,看看是否能解决超时和无法获取搜索建议的问题。

内容的提问来源于stack exchange,提问作者Ein2012

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:12:45