📘 **TELUS Agriculture & Consumer Goods** 如何通过 **Haystack Agents** 转变促销交易

Haystack 2.5.0

在 Github 上查看

⬆️ 升级说明

  • 删除了 ChatMessage.to_openai_format 方法。请改用 haystack.components.generators.openai_utils._convert_message_to_openai_format
  • Pipeline.run 方法中删除了未使用的 debug 参数。
  • 删除了已弃用的 SentenceWindowRetrieval。请改用 SentenceWindowRetriever

🚀 新功能

  • ConditionalRouterOutputAdapter 中添加了 unsafe 参数以启用可能导致远程代码执行的行为。默认情况下,不安全行为处于禁用状态,用户必须明确设置 unsafe=True 才能启用它。启用不安全行为后,可以使用 ChatMessageDocumentAnswer 等类型作为输出类型。我们建议仅在 Jinja 模板源受信任时启用不安全行为。有关更多信息,请参阅 ConditionalRouterOutputAdapter 的文档。

⚡️ 增强说明

  • 调整了 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 中每个 Documentcontext_windows。这使您可以获取每个检索到的文档的上下文窗口内的文档列表。

⚠️ 弃用说明

  • OpenAIGeneratorOpenAIChatGenerator 的默认模型将从之前的 ‘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 方法。这会影响以下通用组件:CacheCheckerDocumentWriterFilterRetrieverSentenceWindowRetriever