使用 Jina Embeddings v5 和 Elasticsearch 构建“与你的网站数据聊天”的 agent
作者来自 Elastic Ugo Sangiorgi 及 Lily Adler学习如何在一小时内使用 Elasticsearch Serverless、Jina Embeddings v5、Elastic Open Web Crawler 和 Elastic Agent Builder构建一个可用且有事实依据的“与你的网站聊天”体验。Agent Builder 现已正式发布。通过 Elastic Cloud Trial 开始使用并在此查看 Agent Builder 的文档。使用 Elasticsearch Serverless、Jina Embeddings v5、Elastic Open Web Crawler 和 Elastic Agent Builder在一小时内构建一个 “与你的网站聊天” 的体验。完成后你将拥有一个可用的 agent能够搜索你抓取的页面引用相关段落并基于你的内容回答问题无需自定义分块或 embedding 管道。在本指南中你将启动一个Elasticsearch Serverless项目使用由Jina Embeddings v5驱动的新 semantic_text 字段创建索引使用 Elastic Crawler Control又名 Crawly围绕 Elastic Open Web Crawler 的开源 UI API 封装抓取任意网站在 Kibana 中使用 Elastic Agent Builder 与这些数据聊天你将获得一个可复用的模式可指向任意网站或 docs 数据源始终基于你内容的聊天体验先决条件一个Elasticsearch Serverless Search 项目以及一个具有写权限的API keyDocker Docker Compose用于运行 crawler UIgit用于克隆 repo1启动一个 Elasticsearch Serverless 项目首先我们需要一个 serverless 项目来托管我们的数据。登录你的 Elastic Cloud Console。点击Create project。选择Search作为项目类型。该类型针对向量搜索和检索进行了优化。为项目命名例如 es-labs-jina-guide然后点击Create。重要保存项目创建时提供的Elasticsearch endpoint和API Key。你将在 crawler 中用到它们。2创建索引Elasticsearch Serverless 支持 semantic_text它会自动处理分块和 embedding 生成。我们将使用托管在 Elastic Inference Service GPU 上的 .jina-embeddings-v5-text-small 模型。使用 semantic_text 字段创建索引。这会告诉 Elastic 使用我们刚刚创建的 inference endpoint对写入该字段属性的内容自动进行向量化。在 Kibana Dev tools 中运行PUT furnirem-website { mappings: { _meta: { description: Each document represents a web page with the following schema: title and meta_description provide high-level summaries; body contains the full text content; headings preserves the page hierarchy for semantic weighting. URL metadata is decomposed into url_host, url_path, and url_path_dir1/2/3 to allow for granular filtering by site section (e.g., blog or tutorials). links contains extracted outbound URLs for discovery. Crawl timestamp: 2026-01-26T12:54:16.347907. }, properties: { body_content: { type: text, fields: { keyword: { type: keyword, ignore_above: 256 }, semantic_multilingual: { type: semantic_text, inference_id: .jina-embeddings-v5-text-small } } }, headings: { type: text, fields: { keyword: { type: keyword, ignore_above: 256 }, semantic_multilingual: { type: semantic_text, inference_id: .jina-embeddings-v5-text-small } } }, title: { type: text, fields: { keyword: { type: keyword, ignore_above: 256 }, semantic_multilingual: { type: semantic_text, inference_id: .jina-embeddings-v5-text-small } } } } } }3运行 Elastic Open CrawlerCrawly是一个示例展示了如何围绕 Open Web Crawler 提供的功能构建应用。该应用将 Elastic Open Crawler 封装在一个 FastAPI 服务中用于管理 crawler 进程并持久化执行数据。一个 React 前端提供用于配置和监控 crawl 的界面。在底层crawler 服务查看 crawler.py通过 subprocess.Popen 生成 JRuby 进程从而支持多个并发 crawl。每次执行的配置、状态和日志目前都会持久化到磁盘中。克隆该仓库git clone https://github.com/ugosan/elastic-crawler-control创建一个env.local文件并填写你的 Elasticsearch 凭证ES_URLhttps://your-elasticsearch-endpoint.es.cloud ES_API_KEYyour_api_key_here启动服务docker-compose up在浏览器访问 UIhttp://localhost:16700除非你想指定特定 URL否则不一定需要 seed_urls因此你的配置可以像下面这样简单{ domains: [ { url: https://furnirem.com } ], max_crawl_depth: 3, max_unique_url_count: 500, output_index: furnirem-website }从这里你可以开始抓取任意网站并查看其进度一旦抓取完成我们就可以直接在 Elasticsearch 中查询内容或者使用刚抓取的页面在 Agent Builder 上进行网站聊天。4在 Kibana 中与数据聊天现在数据已被索引并向量化我们可以使用Elastic Agent Builder开始与数据聊天。打开Kibana导航到Agents在 “Search” 部分下。测试 agent在聊天窗口中提出一个问题例如“What is the difference between sparse and dense vectors?”Agent 将搜索你 Jina 嵌入的数据从 Search Labs 博客文章中检索相关片段并生成回答。你也可以通过 Kibana API 直接与数据聊天POST kbn://api/agent_builder/converse/async { input: What is the difference between sparse and dense vectors?, agent_id: elastic-ai-agent, conversation_id: CONVERSATION_ID }使用 conversation_id 可以在 Elastic Agent Builder 中与 agent 恢复已有对话。如果在初始请求中未提供API 会启动一个新对话并在流式响应中返回一个新生成的 ID。总结你现在已经拥有一个可用的 “与你的网站聊天” 堆栈你的网站被抓取、索引并通过 semantic_text Jina v5 自动嵌入最后通过 Kibana 中的 agent 展示能够基于页面内容回答问题。从这里开始你可以将相同的设置应用于文档、支持内容或内部 wiki并在几分钟内迭代提升相关性。原文https://www.elastic.co/search-labs/blog/chat-website-data-elasticsearch-jina-ai

相关新闻

【开发者实战录】​鸿蒙全链路赋能:看成语教育APP如何实现体验飙升与质量攻坚?

【开发者实战录】​鸿蒙全链路赋能:看成语教育APP如何实现体验飙升与质量攻坚?

在应用开发中,我们常面临这样的问题:如何让功能触达更精准?如何实现线上线下的场景联动?又如何高效保障应用质量? 近期,一位开发者在其开发的“天天成语智典”APP中,为我们展示了一个基于鸿蒙生…

2026/7/7 21:53:16 阅读更多 →
基于Google云服务滥用的新型钓鱼攻击机制与防御策略研究

基于Google云服务滥用的新型钓鱼攻击机制与防御策略研究

摘要 随着企业数字化转型的深入,Google Workspace等云办公平台已成为现代企业信息交互的核心枢纽。然而,近期安全监测数据显示,攻击者正逐渐摒弃传统的域名伪造与邮件 spoofing 手段,转而利用Google云服务原生的应用集成机制、AP…

2026/7/7 23:09:32 阅读更多 →
基于多传感器的智能小区安防系统设计与实现(有完整资料)

基于多传感器的智能小区安防系统设计与实现(有完整资料)

资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:CJ-32-2022-087设计简介:本设计是基于多传感器的智能小区安防系统设计与实现,主要实现以下功能:1、烟雾和温度传感器检测…

2026/7/4 5:18:48 阅读更多 →

最新新闻

WuWa-Mod终极指南:彻底解放鸣潮游戏潜能的15种神奇模组

WuWa-Mod终极指南:彻底解放鸣潮游戏潜能的15种神奇模组

WuWa-Mod终极指南:彻底解放鸣潮游戏潜能的15种神奇模组 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod 还在为鸣潮游戏中的各种限制感到束手束脚吗?WuWa-Mod作为目前最受欢迎的…

2026/7/8 5:10:37 阅读更多 →
机械加工企业必看!ISO9001认证办理全流程拆解,一步到位不踩坑

机械加工企业必看!ISO9001认证办理全流程拆解,一步到位不踩坑

不少机械加工企业想办理ISO9001认证,却因不熟悉流程,要么盲目准备导致反复返工,要么被不专业机构误导走弯路。其实,ISO9001认证办理有清晰的标准化流程,只要把握关键节点,就能高效推进。整个流程分为三个核…

2026/7/8 5:10:37 阅读更多 →
计算机毕业设计之基于vue的零食销售系统

计算机毕业设计之基于vue的零食销售系统

随着互联网技术与电商行业的深度融合,传统零食销售模式面临渠道单一、运营效率低下等挑战,数字化转型成为行业发展的必然趋势。本研究针对零食销售场景的痛点,设计并实现了一套基于B/S架构的现代化电商平台,采用Java语言与Spring …

2026/7/8 5:10:37 阅读更多 →
Horizon Connection Server 证书配置:3步排查自签名证书无效与‘vdm’友好名缺失

Horizon Connection Server 证书配置:3步排查自签名证书无效与‘vdm’友好名缺失

Horizon Connection Server证书配置实战:从自签名无效到"vdm"友好名缺失的深度解析在虚拟桌面基础设施(VDI)的部署中,Horizon Connection Server作为核心组件,其证书配置的准确性直接关系到整个系统的安全性和可用性。许多管理员在…

2026/7/8 5:06:37 阅读更多 →
PMP 考纲大换血倒计时:9 月末班车,错过再等十年

PMP 考纲大换血倒计时:9 月末班车,错过再等十年

如果你一直在观望 PMP 认证,现在必须认真对待一个消息——PMI 官方已敲定,2026 年 12 月起国内正式启用第八版全新考纲。这次升级堪称近十年来最猛烈的变革:题型重塑、考点重排、知识权重全盘洗牌,考试门槛将被大幅抬高。而 9 月这…

2026/7/8 5:04:36 阅读更多 →
当消息已读救不了业务,企业IM需要底座能力

当消息已读救不了业务,企业IM需要底座能力

当“消息已读”救不了业务:企业即时通讯的协同断裂之痛 凌晨两点,某大型国企的CIO看着屏幕上闪烁的未读消息,陷入了沉思。这不是一个工作日深夜的普通加班,而是企业协同体系正在无声崩溃的缩影。 群聊爆炸与信息碎片化正在成为最…

2026/7/8 5:02:36 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻