Jina 是一个神经搜索框架,它使任何人都可以在几分钟内在云上构建可扩展且可持续的神经搜索系统。目前 Jina 3.10.0 正式发布,此版本包含 10 个新功能、9 个错误修复和 12 个文档改进。部分更新如下:
新功能
jina ping 在本地和 Kubernetes 上作为就绪探针启用
此功能可检查整个 Flow 或其各个组件的准备情况:
jina ping flow grpc://localhost:12345
jina ping executor localhost:12346
jina ping gateway grpc://localhost:12345
成功输出:
INFO JINA@28600 readiness check succeeded 1 times!!!
输出失败:
当就绪检查不成功时,此命令以代码 1 退出。
在 Kubernetes 中部署时,用作 Executor 和 Gateway 的就绪探针是一个不错的选择。
client.post
的重试机制 ( #5176 )
client.post() 接受 max_attempts、initial_backoff、max_backoff 和 backoff_multiplier 参数来控制重试请求的能力,在发生瞬时连接错误时,使用指数退避策略:
client.post(
on='/',
inputs=docs,
max_attempts=5,
initial_backoff=0.1,
max_backoff=0.5,
backoff_multiplier=1.5
)
随处添加对请求大小的监控(#5111)
请求的大小 ( jina_request_size_bytes
) 现在随处都可以监控:在每个 Executor、每个 Gateway 和每个 sharding Head 上。
因此,现在可以通过 Prometheus 和 Grafana 访问这个新指标。
JCloud 的 JSON 日志记录 ( #5201 )
现在可以创建 JSON 格式的日志,而不是标准的逐行文本输出。样本输出:
{"created": 1663930387.5850368, "filename": "data_request_handler.py", "funcName": "_load_executor", "levelname": "DEBUG", "lineno": 98, "module": "data_request_handler", "msg": "<jina.serve.executors.BaseExecutor object at 0x7fc1951f78d0> is successfully loaded!", "name": "WorkerRuntime", "pathname": "/home/foo/jina/serve/runtimes/request_handlers/data_request_handler.py", "process": 13386, "processName": "Pod", "thread": 140469860276032, "threadName": "MainThread"}
要启用此功能,请将环境变量'JINA_LOG_CONFIG
设置为 'json'
。
使jina hub push
非阻塞(#5129)
jina hub push
现在是非阻塞操作,这意味着用户不必在服务器端等待整个推送完成。
在后台处理推送时,可以使用以下命令检查其状态:
jina hub status [<path_to_executor_folder>] [--id TASK_ID] [--verbose] [--replay]
其他更新内容可以查看更新公告:https://github.com/jina-ai/jina/releases/tag/v3.10.0