昨天有网友说,有长期记忆笔记的需求,而 Smart Connections 经常出现 api 报错——这可能由于作者更新所致,致中英文混杂识别错误。
SO,略看了代码(代码太多,就 main.js 文件就 4000 多行代码),我们做以下修改,可以避免所谓的“api 错误”。
方法
1、避免中英混杂报错:找到函数 SMART_TRANSLATION,增加中文提示 ```
"zh": { "pronous": ["我", "笔记", "我的笔记", "我的", "my", "i", "us", "we"], "prompt": "根据我的笔记", "initial_message": "Hi, 我是ChatGPT,可以通过智能连接访问您的笔记。问我一个关于你笔记的问题,我会尽力回答。", },
2、看起来更舒适:当然,不修改并不影响使用,修改只是看起来更舒适——修改函数 render_chat_input 的占位符,比如:尝试”根据我的笔记“,或”总结[[这篇笔记]]“,或”/文件夹/重要任务“
3、减少不断的继续:修改函数 request_chatgpt_completion 中的 max_tokens 参数,最大不能超过 4096,但并不建议太大,因为有时候我们的问题有占用了 tokens,导致返回错误——个人认为对半分,2000 就可以了。
4、修改创意性:该设置要不要修改看自己的需求,要更准确的就 request_chatgpt_completion 中的 temperature 参数往小调,参数范围是 0-1。
5、上下文过长导致的 api 报错:get_context_for_prompt(nearest)函数中,作者将 MAX_SOURCES 和 MAX_CHARS 设置为 20 和 10000。而根据作者的说明,最大是 16000 字符或 4K tokens——也就是说,你可以将这两值改得更大,比如将 MAX_CHARS 改成 16000,那么连续上下文就可以 更长,我们就可以输入更多的内容进行聊天。当然,你也可以修改 MAX_SOURCES,增加聊天次数。
6、点击“+”,新建对话,可以避免上下文过长导致的 api 报错。
7、修改完成之后,保存,重新 OB,甚至修改任务设置之后最好重启 OB,否则可能失效或报错。
8、可能有些笔记读取失败,那你可能需要 Retry failed files only,然后 Manual Save
9、需要注意的是 Smart Connections 并不是像 LLM 模型一样进行训练,它只是关键词的关联,然后通过用 chatgpt 去处理。所以,根据自身笔记去获取的内容,可能没有想象中那么完美——ChatGPT API 通过 LLM 模型训练自定义知识库 AI 聊天机器人正在测试,后继会更新该内容。
领取专属 10元无门槛券
私享最新 技术干货