Jina 3.7.0 发布,云原生神经搜索框架
Jina 是一个神经搜索框架,它使任何人都可以在几分钟内在云上构建可扩展且可持续的神经搜索系统。 Jina 3.7.0 正式发布,本期主要更新如下: 浮动执行器 可以在 Flow 中添加浮动执行器。这种在 Flow 中添加 Executor 的方式可用于正在构建的服务,响应不需要的异步后台任务。 f = Flow().add().add(needs=['gateway'],floating=True) #4967#5004 每个执行器的参数🏃 可以使用语法executorname__paramname向每个 Executor 发送特定参数。 from jina import Flow, DocumentArray with Flow().add(name='exec1').add(name='exec2') as flow: flow.index( DocumentArray.empty(size=5), parameters={'exec1__traversal_path': '@r', 'exec2__traversal_path': '@c'}, ) #4939 将多个 Executor 端点映射到同一个方法🗺️ 现在可以将不同的端点动态映射到同一个 Executor。 from jina import Flow, requests, Executor, Document, DocumentArray, Client class MyExec(Executor): @requests(on='/foo') def foo(self, docs, **kwargs): for d in docs: d.text = 'foo' # change bind to bar() f = Flow().add(uses=MyExec, uses_requests={'/index': 'foo', '/search': 'foo'}) with f: req = Client(port=f.port).post( '/index', Document() ) print(req[0].text) #5009 从已安装的 Python 模块导入 Executor f = Flow().add(uses='MyExecutor', py_modules=['module.path.to.my_executor']) #4954#5013 在每个 Runtime 上公开 Jina 环境信息ℹ️ 每个 Flow 微服务都提供一个端点,该端点公开有关其运行环境的相关信息。 #4902 其他变化 在本地运行 Flow 时,支持为每个副本传递不同的监控端口#4961 在日志中显示副本的监控端口#4956 无需序列化 DocumentArray protobuf ,即可从 Request 中高效访问参数#4991 从网关异步发送收集端点请求,而不等待它们#5015 Bug 修复 修复网关如何处理预取的问题#5012 修复网关尝试重新连接到重新生成的执行器时观察到的问题#4941 修复存在通信异常时某些监控指标的错误#4974 更新公告:https://github.com/jina-ai/jina/releases/tag/v3.7.0