• DocArray Updates 0.38+0.39


    DocArray 近期更新

    🆕 新功能

    • 支持 Pydantic v2 🚀 (#1652)

      此版本最重要的功能是对 Pydantic v2 的全面支持!同时我们将继续支持 Pydantic v1。

      如果您使用 Pydantic v2,您需要调整您的 DocArray 代码以适配新的 Pydantic API。请查看他们的 迁移指南

      Pydantic v2 的核心部分采用 Rust 编写,并为 DocArray 提供了显著的性能改进:JSON 序列化速度提高了 240%,并且使用 TorchTensor 等非本地类型验证 BaseDoc 和 DocList 时,速度提高了 20%。

    • 添加 BaseDocWithoutId (#1803)

      默认情况下,BaseDoc 包含一个 id 字段。如果您希望构建一个不包含此 ID 字段的模型的 API,这可能会出现问题。因此,我们现在提供了一个 BaseDocWithoutId,顾名思义,它是没有 ID 字段的 BaseDoc。

      请谨慎使用 Document,除非您明确需要删除 ID,否则仍然应使用 BaseDoc 作为基类。

      ⚠️ DocIndex 需要 id 字段来存储和检索文档,因此 BaseDocWithoutId 与 DocIndex 或任何需要向量数据库的功能不兼容。

    🐞 bug 修复

    • 修复 DocList 订阅错误

      可以使用语法 DocList[MyDoc]() 从 BaseDoc 键入 DocList。

      在此版本中,允许用户多次指定 DocList 类型的 bug 已被修复。

    • 不再支持 DocList[MyDoc1][MyDoc2] (#1800)

      此外,我们还修复了一个错误:当用户向 DocList 传递诸如 DocList[doc()] 的错误类型时,该错误会导致静默失败。 (#1794)

    • Milvus 连接参数缺失 (#1802)

      错误设置 Milvus 客户端端口的 bug 已被修复。

    • 使 DocList.to_json()DocVec.to_json() 返回 str 而不是 bytes (#1769)

      为与 BaseDoc .to_json() 和其他 pydantic 模型保持一致,该版本更改了 DocList.to_json()DocVec.to_json() 方法的返回类型。在之后的版本中,这些方法将返回 str 类型的数据,而不是 bytes

      💥 由于返回类型已更改,因此这被视为一个重大变更。

    • 在附加之前进行类型转换 (#1758)

      此版本在 reduce 辅助函数内部引入了类型转换,在附加到最终结果之前对输入进行类型转换。可能能够减少模式兼容但不完全相同的文档。

    • 跳过 __annotations__ 中的文档属性,但不跳过 __fields__ (#1777)

      此版本修复了 create_pure_python_type_model 辅助函数中的一个问题。从这个版本开始,类型创建期间将只考虑类 __fields__ 中的属性。之前的行为在用户在输入类中引入 ClassVar 时会导致应用程序崩溃:

      class MyDoc(BaseDoc):
          endpoint: ClassVar[str] = "my_endpoint"
          input_test: str = ""
          field_info = model.__fields__[field_name].field_info
      • 1
      KeyError: 'endpoint'
      • 1

      感谢 @NarekA 在 Jina 项目中提出并修复。该修复已移植到 DocArray 中。

      💥 重大变更

    • 移除 Jina AI Cloud 推送/拉取 (#1791)

      Jina AI Cloud 已停用。因此,我们正在移除与 Jina AI Cloud 相关的推送/拉取功能。

    • DocList.to_json()DocVec.to_json() 的返回类型更改

      为了使 to_json 方法在不同类之间保持一致,我们将其在 DocList 和 DocVec 中的返回类型更改为 str。如果您在您的应用程序中使用了这个方法,请更新您的代码以返回 str 而不是 bytes

    本文由 mdnice 多平台发布

  • 相关阅读:
    《LeetCode力扣练习》代码随想录——链表(设计链表---Java)
    Centos7.6安装FTP
    Vue3 Composition 组合式API+TypeScript使用Vuex
    docker版jxTMS使用指南:4.6版升级内容
    基于Spring更简单的读取和存储对象
    Chrome内存追踪
    空投:实现去中心化、建立DAO的必经之路
    揭秘拼多多API接口的魅力与价值:商品查询,获取指定商品的详细信息,如价格、库存等
    系分 - 系统分析
    PaddleSharp:跨越一年的版本更新与亮点
  • 原文地址:https://blog.csdn.net/Jina_AI/article/details/133775964