Elasticsearch Open Inference API 增加对 Jina AI 的支持...
文章目录
AI 应用。
关于 Jina AI 模型
Jina AI 成立于 2020 年,是一家专注于搜索技术的公司,致力于开发嵌入模型、重新排序模型和小型语言模型,帮助开发者构建高质量的多模态搜索应用。以下是 Jina AI 提供的主要模型:
- Jina Embeddings v3:支持多语言嵌入,输入长度可达 8K 令牌。
- Jina CLIP v2:支持多模态和多语言嵌入,适用于文本和图像输入。
- Jina Reranker v2:多语言神经重新排序模型,专为代理场景设计。
- ReaderLM-v2:小型语言模型,将多种来源的输入数据转换为适合与大型语言模型 (LLM) 交互的 Markdown 或结构化数据格式。
入门指南
Jina AI 提供了多种模型,推荐使用以下两种模型:
- 嵌入模型:
Jina-embeddings-v3 - 重新排序模型:
Jina-reranker-v2-base-multilingual
步骤 1:创建嵌入推理 API 端点
首先,通过 Elasticsearch 提供的 jinaai 服务,创建一个文本嵌入推理端点。配置步骤如下:
- 在服务设置中,将 Jina AI API 密钥配置为
[API](https://www.explinks.com/wiki/api/)_key。 - 将模型 ID 配置为
Jina-embeddings-v3。
完成配置后,可以通过示例文本测试端点,验证其是否正常工作。
步骤 2:创建重新排序推理 API 端点
接下来,创建一个名为 jina_rerank 的重新排序服务,用于搜索结果的排序优化。配置步骤如下:
- 在服务设置中,将服务名称设置为
jinaai。 - 配置 Jina AI API 密钥为
API_key,模型 ID 为Jina-reranker-v2-base-multilingual。 - 在 API 的
task_settings部分,设置最大返回文档数为top_n,例如 10。 - 配置
return_documents参数,使服务返回完整的搜索候选文档。
在 Kibana 开发控制台中运行相关命令,若返回 200 响应代码,则表示服务配置成功。
步骤 3:自动生成嵌入
创建一个名为 film_index 的索引,并配置为使用 jina_embeddings 服务自动生成嵌入。具体步骤如下:
- 将
inference_id设置为jina_embeddings。 - 配置索引类型为
semantic_text,以便自动生成和存储嵌入。
接下来,批量插入文档,例如一个包含六部电影信息的 JSON 数据集。Elasticsearch 的开放推理 API 将调用 jina_embeddings 服务,为每个文档的文本字段生成嵌入。
步骤 4:语义重新排序
完成嵌入生成后,可以使用语义嵌入向量进行搜索。以下是操作步骤:
- 使用
jina_embeddings服务为查询字符串(如“一个鼓舞人心的爱情故事”)生成嵌入。 - 将生成的嵌入与
film_index中存储的嵌入进行比较,返回匹配度最高的文档。 - 使用
jina_rerank服务对前 50 个匹配结果进行重新排序,并返回前 10 个最相关的文档。
RAG 与 Elasticsearch 和 Jina AI 的结合
在 RAG(检索增强生成)场景中,开发者可以利用 Elasticsearch 的开放推理 API 和 Jina AI 的搜索模型,实现高效的语义搜索和信息检索。这种集成不仅降低了开发成本,还提供了无缝的用户体验。目前,开发者可以在 Elastic Cloud Serverless 中使用此功能,并将在 Elasticsearch 8.18 版本中正式推出。
总结
通过将 Jina AI 的嵌入模型和重新排序功能集成到 Elasticsearch 的开放推理 API 中,开发者可以轻松构建高性能的语义搜索和 AI 应用。这一集成不仅提高了搜索精度,还显著降低了开发和部署成本。未来,随着更多功能的推出,Elasticsearch 和 Jina AI 的结合将为开发者带来更多可能性。
原文链接
Elasticsearch Open Inference API 增加对 Jina AI 的支持…
原文链接: https://www.elastic.co/search-labs/blog/jina-ai-embeddings-rerank-model-open-inference-api
最新文章
- Django中API速率限制指南 – CoderPad
- 增强API安全性:使用OPA和Kong Gateway进行细粒度访问控制
- 如何免费调用有道翻译API实现多语言翻译
- 公司logo获取服务:如何让企业自动化生成Logo变得轻松简单?
- 了解和使用REST API
- 为什么API开发对现代应用至关重要?
- 如何利用Apache APISIX实现高效的API认证与鉴权:全面解析主流认证方式
- 医疗保健领域中api解决方案的优势与劣势
- 如何获取腾讯AI开放平台 API Key 密钥(分步指南)
- 如何使用Flask-RESTX构建和文档化RESTful API
- API类型:详解与图示 – Kodezi博客
- 百度文心一言API使用指南:非技术人员入门教程