云原生神经搜索框架 Jina 发布 3.0版本原创
2年前
228602
Jina 是一个神经搜索框架,可以帮助开发者在几分钟内构建 SOTA 和可扩展的神经搜索应用程序。
与其它框架相比,Jina具备以下特点:
- 节省时间:神经搜索系统的设计模式,支持快速构建索引、查询、理解视频、图像、文本、音频、源代码、PDF等多/跨模态数据;
- 本地和云友好:创建之初,就支持分布式架构、可扩展和云原生。在本地、Docker Compose、Kubernetes上具有相同的开发经验。
- 服务、扩展和共享:在几分钟内可以使用 HTTP、WebSockets 或 gRPC 端点为本地项目提供服务;支持扩展神经搜索应用程序以满足可用性和吞吐量要求;支持共享和重用Hub中的构建块。
- 堆栈所有权:保留开发者解决方案的端到端堆栈所有权。避免碎片化、多供应商、通用遗留工具带来的集成缺陷。支持与DocArray、Hub和Finetuner等神经搜索生态系统的集成。
DocArray:更自然的属性名称和 Pythonic 序列化
Docarray 为Document
和DocumentArray
属性引入了更自然的命名约定。
doc.blob
重命名为doc.tensor
,与 PyTorch 和 Tensorflow 等外部库保持一致
doc.buffer
更名为doc.blob
, 以符合行业标准
doc.SerializeToString()
被删除以支持doc.to_bytes()
和doc.to_json()
Document
从序列化数据创建一个使用Document(bytes)
被删除以支持Document.from_bytes(bytes)
和Document.from_json(bytes)
Flow和Client:简化.post()
行为
client.post() and flow.post() 在没有指定回调函数的情况下,会返回一个扁平化的DocumentArray
,而不是Response
列表。
.post()可以配置为通过将return_Responses=True传递给Client或Flow构造函数来返回响应列表。
一致的 YAML 解析语法
在 Jina 3 中,YAML 语法与Github Actions notation保持一致:
- 不再允许使用该语法引用环境变量。 环境变量的 POSIX 表示法, 已被弃用,使用.
${{ VAR }}$var${{ ENV.VAR }}
来替代;
- 语法 {VAR}} 现在默认表示在 dict()中传递的上下文变量。如果想明确说明上下文变量的使用,可以使用{{context.VAR};
- 相对路径可以指向同一路径中的其他变量。yaml文件,可以使用语法${root.path.to.var}的引用。
来源:稀土掘金
原文链接:https://juejin.cn/news/7068116921211682829
点赞收藏