📘 **TELUS Agriculture & Consumer Goods** 如何通过 **Haystack Agents** 转变促销交易
⬆️ 升级说明
- 删除了
ChatMessage.to_openai_format 方法。请改用 haystack.components.generators.openai_utils._convert_message_to_openai_format。
- 从
Pipeline.run 方法中删除了未使用的 debug 参数。
- 删除了已弃用的
SentenceWindowRetrieval。请改用 SentenceWindowRetriever。
🚀 新功能
- 在
ConditionalRouter 和 OutputAdapter 中添加了 unsafe 参数以启用可能导致远程代码执行的行为。默认情况下,不安全行为处于禁用状态,用户必须明确设置 unsafe=True 才能启用它。启用不安全行为后,可以使用 ChatMessage、Document 和 Answer 等类型作为输出类型。我们建议仅在 Jinja 模板源受信任时启用不安全行为。有关更多信息,请参阅 ConditionalRouter 和 OutputAdapter 的文档。
⚡️ 增强说明
- 调整了
ChatPromptBuilder 创建 ChatMessages 的方式。消息会被深度复制,以确保所有元字段都能正确复制。
- 向
TopPSampler 添加了参数 min_top_k。此参数用于设置当 top-p 采样算法选择的文档少于所需数量时返回的最小文档数。系统将添加得分次高的文档以满足最小值。这在需要保证传递的文档数量,同时仍允许 Top-P 算法根据得分确定是否发送更多文档时非常有用。
- 引入了一个实用函数,用于从已序列化的组件的
init_parameters 中反序列化通用的 Document Store。
- 重构了
deserialize_document_store_in_init_parameters,以明确该函数是就地操作,不返回值。
SentenceWindowRetriever 现在返回 context_documents 以及 retrieved_documents 中每个 Document 的 context_windows。这使您可以获取每个检索到的文档的上下文窗口内的文档列表。
⚠️ 弃用说明
OpenAIGenerator 和 OpenAIChatGenerator 的默认模型将从之前的 ‘gpt-3.5-turbo’ 替换为 ‘gpt-4o-mini’。
🐛 Bug 修复
- 修复了 DOCX 文件中页面未被提取的问题。
- 在
DOCXToDocument 转换器中使用了 Paragraph 类的前向引用,以防止导入错误。
DOCXToDocument 组件生成的元数据现在是 JSON 可序列化的。以前,它包含从 DOCX 文件自动提取的 datetime 对象,这些对象无法进行 JSON 序列化。这些 datetime 对象现在已转换为字符串。
- 从
haystack-ai==2.4.0 开始,Haystack 与 sentence-transformers>=3.0.0 兼容;不支持早期版本的 sentence-transformers。我们已更新测试依赖项和 LazyImport 消息以反映此更改。
- 对于支持多个 Document Store 的组件,当
from_dict 类方法可用时,优先使用它进行反序列化。否则,将回退到通用的 default_from_dict 方法。这会影响以下通用组件:CacheChecker、DocumentWriter、FilterRetriever 和 SentenceWindowRetriever。