<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Elastic Cloud Serverless - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Elastic Cloud Serverless - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/cn/search-labs/blog/category/elastic-cloud-serverless</link>
    </image>
    <link>https://www.elastic.co/cn/search-labs/blog/category/elastic-cloud-serverless</link>
    <atom:link href="https://www.elastic.co/cn/search-labs/rss/category/elastic-cloud-serverless.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[cn]]></language>
    <lastBuildDate>Tue, 29 Sep 2026 05:45:42 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Elasticsearch 向量数据库：数分钟内即可完成部署，能以超高性价比扩充至千亿规模]]></title>
    <description><![CDATA[混合检索的难点部分已经解决，配备优化的默认设置、第三方和原生 Jina AI 模型以及开箱即用的托管型 GPU 推理功能。您可以构建快速、可扩展的 AI 应用，无需构建基础架构。]]></description>
    <content:encoded><![CDATA[<p>Elasticsearch 是全球部署最广泛的向量工作负载平台之一，为 GitHub、Docusign、Seismic 等众多公司的语义搜索、检索增强生成 (RAG) 以及推荐功能提供支持。今天，我们正式发布 Elasticsearch 向量数据库，这是一款专为基于向量的应用进行优化的全新无服务器产品。您只需提供文档和查询指令，我们来负责处理嵌入、索引调优以及基础架构。此外，该产品还兼具低成本和可扩展的优势。 </p><p>对于新用户而言，这是运行高质量向量搜索的最快方式。如果您已在使用 Elasticsearch，这款新产品能够在您的数据所在平台上实现向量搜索，您无需引入任何新系统。Elasticsearch 向量数据库支持多种应用场景，例如为大型语言模型 (LLM) 提供事实依据，为 AI 智能体赋予检索与记忆能力，以及处理数千亿个向量等。<a href="https://cloud.elastic.co/registration?onboarding_token=vector">立即创建新项目</a>，只需几分钟即可开始使用。</p><h2>一个引擎，满足所有向量应用场景</h2><p>Elasticsearch 向量数据库专为使用向量构建应用程序的用户而设计：</p><ul><li><p><strong>RAG：</strong>通过密集和稀疏向量检索为您的 LLM 检索适当的上下文，或者采用结合向量检索和词汇检索的混合搜索。您的生成质量会随着检索质量的提升而提高。</p></li><li><p><strong>AI 智能体：</strong>为智能体提供针对文档和对话记忆的快速筛选检索，满足多步智能体循环所需的低延迟要求。</p></li><li><p><strong>语义搜索：</strong>根据含义而非关键字进行匹配，只需一种字段类型且无需任何管道代码。</p></li><li><p><strong>推荐和相似度：</strong>针对产品、图像或任何内容大规模查找最近邻。</p></li></ul><h2>您的向量工作负载所需的一切，开箱即用且经过优化</h2><p>构建基于向量的应用程序意味着将多个独立部分连接起来：设置并托管嵌入模型，通过这些模型为您的文档编制索引，高效存储向量，将嵌入模型应用于每个查询，与向量存储进行匹配，以及最后检索匹配项背后的文档。Elasticsearch 向量数据库可为您处理所有这些操作，无需进行额外配置或设置。</p><h3>使用 vectordb_document 索引模式进行向量索引</h3><p><a href="https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/dense-vector#dense-vector-vectordb-document-mode">vectordb_document</a> 索引模式是一种专为向量优先型工作负载构建的新索引配置，默认启用，因此您可以获得专家会选择的设置。以下是它会启用的功能：</p><ul><li><p><strong>默认使用 bfloat16：</strong>向量的存储大小仅为 float32 的一半，对召回率的影响可忽略不计，甚至在考虑量化之前，就能将您的磁盘占用空间大致减半。</p></li><li><p><strong>排除源向量：</strong>在 Elasticsearch 中，您的嵌入向量已存在于用于搜索的索引结构中；在 _source 中保留第二份原始副本只会增加存储占用并降低获取结果的速度。我们排除了重复项，以便更快获得响应并减少存储空间。</p></li><li><p><strong>将正确的文件预加载到缓存中：</strong>向量查询最先访问的数据结构会提前预热到内存中，从而确保无论是第一次查询还是第一千次查询，速度都快如闪电。</p></li><li><p><strong>并行合并：</strong>合并可将分段整合为组织更有序的向量结构，从而同时提升召回率并改善延迟，而以多线程方式运行这些合并则可以更快达成这一目标。</p></li></ul><h3>向量存储、压缩和自动调优</h3><ul><li><p>您的向量会自动压缩。<a href="https://www.elastic.co/cn/search-labs/blog/better-binary-quantization-lucene-elasticsearch">更好的二进制量化 (BBQ)</a> 可在保持召回率的同时将向量的内存占用最多减少 32 倍，而 DiskBBQ 则能针对大规模工作负载进一步降低内存需求。<a href="https://www.elastic.co/cn/search-labs/blog/vector-quantization-auto-calibration-diskbbq"> </a></p></li><li><p>选择启用<a href="https://www.elastic.co/cn/search-labs/blog/vector-quantization-auto-calibration-diskbbq">自动校准</a>，该功能会根据您的数据调整每个分段的量化参数，并在数据发生漂移时在每次合并时重新调整。在 18 个数据集上的测试结果显示，每秒查询数 (QPS) 平均提升了 16.7%，且大多数数据集的召回率也有所提高。</p></li></ul><h3>托管 GPU 推理上的嵌入</h3><ul><li><p>通过原生 <a href="https://www.elastic.co/cn/jina-search-models">Jina AI 嵌入和重排序模型</a>生成嵌入向量，或引入第三方模型；所有模型均在 <a href="https://www.elastic.co/docs/explore-analyze/elastic-inference/eis">Elastic Inference Service (EIS)</a> 提供的托管 GPU 上运行，无需运维模型服务器。如果您愿意，您也可以选择自行托管。</p></li><li><p><a href="https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/semantic-text"><strong>semantic_text</strong></a> 字段类型可自动处理分块和嵌入以及查询，这是市面上实现语义搜索的最简单途径。 </p></li></ul><h3>混合搜索和过滤向量搜索</h3><ul><li><p><a href="https://www.elastic.co/cn/elasticsearch/hybrid-search">混合搜索</a>是内置功能，可在单个查询中结合全文检索和向量检索。您可以使用倒数排序融合 (RRF) 或您所需的任何其他融合机制来融合结果。在混合搜索中，向量搜索部分的配置往往最具挑战性；而借助 Elasticsearch 向量数据库，这一难题迎刃而解，您的整个混合技术栈也会变得更加出色。 </p></li><li><p>借助<a href="https://www.elastic.co/cn/search-labs/blog/filtered-hnsw-knn-search">带过滤功能的向量搜索</a>，将元数据过滤作为向量检索过程本身的一部分来实施，而不是将其作为事后补救措施，从而避免损害召回率。</p></li></ul><h3>从第一天起即面向企业</h3><p>您还可以获得基于角色的访问控制 (RBAC)、审计日志，以及纯向量数据库通常缺乏的合规性认证。</p><h2>扩展时经济实惠且具有可预测性</h2><p>Elasticsearch 向量数据库旨在让您随着业务增长仍可负担：BBQ 和 DiskBBQ 压缩可使存储线性增长并保持较低内存占用，这意味着即使扩展到数千亿个向量，费用也不会大幅攀升。您实际支付的费用由您已知的数字决定：存储的数据量、索引的数据量，以及所需的搜索容量。估算您的文档数量、向量维度和查询负载，您便可在创建项目之前算出所需费用。您还可以在月底逐项了解账单明细。没有不透明的计算单元，也不会因后台操作产生意外费用。</p><h2>如何开始使用 Elasticsearch 向量数据库</h2><h3>创建无服务器向量数据库项目</h3><p>创建新的 <a href="https://cloud.elastic.co/registration?onboarding_token=vector">Elastic Cloud 无服务器向量数据库项目</a>。将数据指向终端，即可开始编入索引。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt556cbdfba551f248/6aa10b4332b53038406d321a/image1.png" alt="Elastic Cloud Serverless project types: Elasticsearch, Vector Database, Observability and Security" /><h3>使用 semantic_text 创建索引</h3><p>向量索引模式负责处理向量配置。使用 semantic_text 意味着系统会在托管 GPU 推理上为您管理嵌入和分块设置以及索引设置，无需构建嵌入管道。</p>PUT my-vectors
{
"mappings": {
"properties": {
"description": { "type": "semantic_text" }
    }
  }
}<h3>采集文档</h3><p>索引文本，系统便会为您生成嵌入。</p>POST /my-vectors/_doc
{
  "id": "park_rocky-mountain",
  "title": "Rocky Mountain",
  "description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra."
}<h3>运行语义搜索查询</h3><p>查询您刚刚创建的相同语义字段：</p>GET /my-vectors/_search
{
  "query": {
    "semantic": {
      "field": "description",
      "query": "a mountain range in the middle of north america"
    }
  }
}<p>然后您会获得返回的结果：</p>{
  "took": 80,
  "hits": {
    "max_score": 0.7792325,
    "hits": [
      {
        "_index": "my-vectors",
        "_score": 0.7792325,
        "_source": {
          "id": "park_rocky-mountain",
          "title": "Rocky Mountain",
          "description": "Bisected north to south by the Continental Divide, ..."
        }
      }
    ]
  }
}<p>语义搜索只是开始。运行纯文本查询，或将两者结合为混合查询。您甚至可以构建自己的向量查询，实现完全控制。请参阅文档中的<a href="https://www.elastic.co/docs/solutions/vector-database/vector-full-text-search">语义搜索快速入门</a>，获取完整说明。</p><h2>Elasticsearch 中向量搜索的未来展望</h2><p>我们已经在着手进行后续改进：</p><ul><li><p><strong>更出色的多租户处理：</strong>如果您的数据需要按租户保持隔离，我们将为您提供一种速度更快、代码量更少的方法来实现这一目标。</p></li><li><p><strong>自动索引优化：</strong>从“全新索引”到“完全优化”，无需过多人工干预。</p></li><li><p><strong>持续的基础架构改进：</strong>对向量数据库的设置和基础架构进行持续调优，确保您始终获得最佳吞吐量和最快响应。</p></li></ul><h2>在 Elastic Cloud Serverless 上试用 Elasticsearch 向量数据库</h2><p>仅需数分钟，您即可从零开始构建支持混合检索与过滤功能的向量查询应用，并利用生产级默认配置自动完成性能调优。您可以构建快速、可扩展的 AI 应用，无需构建基础架构。</p><p>开始使用 <a href="https://cloud.elastic.co/registration?onboarding_token=vector">Elastic Cloud Serverless</a>，或深入了解<a href="https://www.elastic.co/docs/solutions/vector-database">完整文档</a>和 <a href="https://www.elastic.co/docs/api/doc/elastic-cloud-serverless/group/endpoint-vectordb-projects">API 参考。</a></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/vector-database-rag-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/vector-database-rag-serverless</guid>
    <category><![CDATA[向量数据库]]></category>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[混合搜索]]></category>
    <dc:creator><![CDATA[Dustin Coates]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4def84aae6aff861/6aa10ab1ee57e53d9b05253c/cover.png" length="0" type="image/png"/>
    <pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[一次查询，多个 Elasticsearch Serverless 项目：隆重推出跨项目搜索]]></title>
    <description><![CDATA[Elastic Cloud Serverless 中的跨项目搜索允许您在单个 Elasticsearch 或 ES|QL 请求中查询跨隔离项目的数据：无需重复、无需网络对等，也无需因复制日志而产生出口成本。]]></description>
    <content:encoded><![CDATA[<p><a href="https://www.elastic.co/docs/explore-analyze/cross-project-search">跨项目搜索 (CPS)</a> 现已在 Elastic Cloud Serverless 中提供。通过一个像 <code>FROM logs*</code> 这样的单个查询，您即可跨多个孤立项目搜索数据——无需网络对等连接、无需证书管理、无需数据重复。项目保留在各自的区域和云中；只有结果会返回给您。对于处理数据驻留要求、租户隔离或因复制日志而产生跨区流量成本的团队，CPS 意味着您的数据可以存储在其所属的位置，同时仍然可以作为一个整体进行查询。</p><p>Elastic Cloud Serverless 已经消除了管理基础架构和版本升级的麻烦。CPS 则更进一步。我们用简单的链接模型取代了复杂的网络对等连接和人工证书管理。现在，您可以将 Elastic Cloud Serverless 项目视为数据的简单命名空间。无论您是在应对严格的数据驻留法律、隔离租户数据，还是只是试图避免由于复制日志而产生的巨额跨区流量费，CPS 都支持您通过单次查询在数据所在的位置搜索数据。</p><p>在这篇文章中，我们将介绍 CPS 的工作原理、如何使用项目标签控制搜索，以及这种新模式与传统的<a href="https://www.elastic.co/docs/solutions/search/cross-cluster-search">跨集群搜索 (CCS)</a> 有何不同。</p><h2>如何链接项目以进行跨项目搜索</h2><p>如要开始跨项目搜索，请在 Elastic Cloud 控制台或 API 中链接项目。链接过程非常简单，而且是单向的：选择一个源项目，然后连接它应该搜索的项目。这些链接可以跨越区域、云服务提供商和项目类型，因此您的数据可以在不放弃统一搜索体验的情况下保留在原位置。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt93c05224f74204d5/6a17ea0ae8fbce58793a1989/e3edbf5f9edc9ffde2e9b7f7dd61efad2a5650e6-1999x1004.png" alt="Elastic Cloud 控制台在无服务器项目侧边栏显示跨项目搜索选项，项目概述页面高亮了“链接项目”按钮" /><p>链接创建完成后，通常会在一分钟左右生效。如果您已经打开了 Kibana，请刷新页面以查看新的跨项目搜索功能。</p><h2>跨项目搜索如何默认查询所有链接项目</h2><p>一旦项目被链接起来，跨项目搜索就会将独立的项目变成一个单一的逻辑搜索面。如果日志跨越多个项目，则类似 <code>FROM logs*</code> 这样的查询会搜索源项目和有匹配数据的任何链接项目。您不必事先为每个远程目标命名。</p><p>这比跨集群搜索有了重大改进。在 CCS 中，访问本地和远程数据通常意味着编写类似 <code>FROM logs*,*:logs*</code> 的内容。对于用户来说，这意味着查询复杂性降低。对于团队而言，这让我们离实现跨分布式数据的真正“单一视图”更近了一步。</p><p>有关更多信息，请参阅 <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-search#cps-init-search-model">CPS 搜索模型</a>文档。</p><p>如果您有兴趣了解我们如何构建此功能的技术细节，请参阅<a href="https://www.elastic.co/search-labs/blog/cross-project-search-elasticsearch-serverless">跨项目搜索 (CPS) 在 Elasticsearch Serverless 中如何工作</a>。</p><h2>通过项目路由控制搜索</h2><p>默认情况下跨所有关联项目进行搜索，对于许多工作流而言既便捷又实用；然而，并非每一次搜索都应当覆盖所有范围。跨项目搜索引入了<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-project-routing"><strong>项目路由</strong></a>，这是一种将查询限制到特定项目子集的方式。</p><p>它通过 Elastic Cloud 中定义的<a href="https://www.elastic.co/docs/deploy-manage/deploy/elastic-cloud/project-settings#project-tags">项目标签</a>工作。每个项目都有内置属性，例如其别名、云服务提供商和区域。您还可以添加自己的标签，以反映您的组织对其数字资产的划分方式，如 <code>environment:prod, environment:test</code>、业务单元或客户名称。Elasticsearch 可以使用该元数据来决定哪些链接的项目应参与搜索。</p><p>所有支持跨项目搜索的 <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#cps-supported-apis">Elasticsearch 终端</a>都接受 <code>project_routing</code> 参数。在技术预览版中，路由功能仅限于使用项目别名。例如，将 project_routing 设置为 <code>_alias:my-linked-project</code> 将会把查询仅发送到该关联项目，而设置为 <code>_alias:_origin</code> 则会将查询保留在源项目内。随着时间的推移，这个模型将为更丰富的路由功能打开大门，届时，查询范围将完美契合贵公司的逻辑架构，而不再受制于基础设施的物理布局。</p><p>请参阅<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#project-routing-examples">项目路由文档</a>了解示例和更多关于工作原理的信息。</p><h2>Kibana 空间层级的默认项目路由</h2><p>关于您的查询路由为何需要更精准的范围，举例而言，盲目查询所有链接项目可能会导致您的 Kibana 检测规则触发大量误报，或者让您现有的仪表盘数据变得极其混乱。如要解决这个问题，您可以在 Kibana 中设置 <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-manage-scope">空间层级的默认项目范围</a>。这相当于为该特定空间设置了一个安全预设——这意味着所有仪表板、Discover 会话和告警规则都会自动遵循该设置。分析师在调查过程中如果需要更广泛的视角，仍可手动调整覆盖范围。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7c970e153a5be138/6a17ea0c7f6f15900ec09b75/c34fe7e7b290981a0d1c2d61b22a42340a015049-1999x946.png" alt="Kibana 空间设置页面显示跨项目搜索默认范围面板，选择了“所有项目”，并列出了 GCP us-central1 上的 my-origin-project-a22105 作为活动项目" /><p>这对于共享中央项目的团队（例如 MSP、MSSP 和卓越中心）来说很重要：您可以为每个团队分配自己的 Kibana 空间，并将其限制为仅查询其特定的客户项目，从而保证租户特定的体验。分析师在调查过程中如果需要更广泛的视角，仍可手动调整覆盖范围。</p><p>您在云用户界面中链接项目之前或之后可以配置此空间默认设置。但由于 CPS 在链接建立后立即开启“全局搜索”行为，因为先设置 Kibana 默认值可以确保现有的检测规则不会突然在海量全球数据下产生误报或导致团队不堪重负。</p><h2>在搜索中使用标签</h2><p>除了使用标签进行项目路由，您还可以在 ES|QL 和搜索查询中使用标签。这可以用来识别结果集中每条记录或行的来源，或者按这些标签进行排序、过滤或聚合。</p><p>例如，如果您想查看 ES|QL 响应中每一行数据来自哪个项目，可以将 <code>_project._alias</code> 标签添加到 ES|QL 查询中：</p><p>这样一来，您就可以在查询的其他部分（包括 KEEP 子句）中使用 “_project._alias”，在查询的其他部分（包括 KEEP 子句）中，从而使其呈现在最终结果中。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt25542e1644a60e17/6a17ea0da29299830ed02cc5/e8969965c8cff25d916a3620d047975f4a28185d-1612x524.png" alt="Kibana Discover 显示跨项目搜索结果，其中“_project._alias”列标识了每个日志条目来自哪个 Elastic Serverless 项目。" /><p>有关在查询中使用标签的更多示例，请参阅<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-tags#tag-queries">此文档</a>，其中介绍了如何在搜索 API 和 ES|QL 中使用标签。</p><p>如果您有兴趣了解如何为搜索和 ES|QL 查询添加标签的技术细节，请参阅<a href="https://www.elastic.co/search-labs/blog/serverless-cross-project-search-project-tags-routing">在 Elasticsearch Serverless 中使用项目标签和路由加快跨项目搜索</a>。</p><h2>跨项目搜索如何平等地处理源项目和链接项目</h2><p>如果您用过CCS，您可能知道本地群集与远程群集的处理方式有所不同。</p><ul><li><p>本地群集错误的处理方式与远程群集错误的处理方式不同。特别是，CCS 使用 <a href="https://www.elastic.co/docs/explore-analyze/cross-cluster-search#skip-unavailable-clusters">skip_unavailable</a> 设置来控制来自远程群集的错误的行为方式，但本地群集不存在该设置。 </p></li><li><p>本地集群没有“集群别名”，因此索引表达式 <code>*:logs*</code> 搜索所有远程项目，但会跳过本地集群。如要同时搜索两者，您必须使用索引表达式 <code>logs*,*:logs*</code>。</p></li></ul><p>在 CPS 中，我们已经改变了这两种行为，使原始项目和链接项目处于更加平等的地位。</p><p>首先，在 Elastic Cloud Serverless 中不使用 <code>skip_unavailable</code> 设置。相反，您可以通过在 _search 或 _async_search 中使用 <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search#operation-search-allow_partial_search_results">allow_partial_search_results</a> 参数，或在 ES|QL 中使用 <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-esql-query#operation-esql-query-allow_partial_results">allow_partial_results</a> 参数，来控制是否希望在搜索时获得部分结果。</p><p>其次，在 Elastic Cloud Serverless 中，源项目有一个项目别名。它在 Elastic Cloud 中定义，就像所有项目标签一样。因此，在 CPS 中，下面的所有查询都是等价的，它们针对的都是有“日志”索引的所有项目：</p>POST logs/_search

POST *:logs/_search


POST logs/search 
{
  "project_routing": "_alias:*"
}
<p><em>注意</em>：在针对缺失索引的错误处理方面，<em>限定</em>索引表达式 <code>*:logs</code> 和<em>非限定</em>表达式 <code>logs</code> 之间存在重要区别。有关详细信息，请参阅公共文档中的<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-search#search-expressions">非限定和限定搜索表达式</a>。</p><h2>跨项目搜索的访问控制和安全模型</h2><p>Elastic 创建了一种新的基于云的安全模型，即<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#security">通用身份和访问管理</a> (UIAM)，它实现了跨项目搜索的一个关键原则：<strong>您可以访问的项目和数据不依赖于您访问它的位置</strong>。</p><p>无论您是从主要的可观测项目还是从临时分析项目启动搜索，您对链接数据的访问都保持一致，因为这些访问权限已在集中位置进行了统一定义。该云端认证与授权模型利用云 UIAM 服务，确保无论源自哪个项目，您的访问权限均保持统一。</p><h2>试用跨项目搜索</h2><p>最终，Elastic Cloud Serverless 和 CPS 可共同<strong>减少操作摩擦，为您提供更多基于逻辑而非物理或操作因素来组织数据的选择。</strong>跨项目搜索允许您的用户纯粹关注数据的逻辑组织，提供统一的搜索体验，而不受过去物理复杂性的限制。</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-cross-project-search-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-cross-project-search-serverless</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Michael Peterson,Najwa Harif]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc83356ff51c8c398/6a17ea080b0bed381fdd35e9/c43c52492a7d6158487958becc31f57cb81b168d-720x420.png" length="0" type="image/png"/>
    <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[为 Elastic Cloud Serverless 和 Elasticsearch 引入统一的 API 密钥。]]></title>
    <description><![CDATA[了解 Elastic 如何通过全局分布式 IAM 架构，在 Serverless 中统一控制平面与数据平面的身份验证。使用同一 API 密钥访问 Cloud 和 Elasticsearch API。]]></description>
    <content:encoded><![CDATA[<p>假设您是一名站点可靠性工程师 (SRE)，负责管理不断增长的 Elastic Cloud Serverless 项目组合：用于生产基础架构的 Elastic Observability、用于安全运营中心 (SOC) 团队的 Elastic Security，以及用于面向客户应用程序的 Elasticsearch。每个项目都有自己专用的 Elasticsearch API 密钥。您的持续集成和持续交付（CI/CD）管道需要单独一个 Cloud API 密钥来配置和管理这些项目。每季度一次的密钥轮换日到来时：您需要逐个检查每个项目，生成新密钥，更新 Terraform 状态，重新部署管道，并希望一切不出纰漏。当凌晨 2 点发生故障，需要快速撤销访问权限时，您不得不对照一份电子表格来确认哪个密钥属于哪个项目、哪个服务。</p><p>如今，这一切变得简单得多。<strong>Elastic Cloud API 密钥</strong>现在可以直接在<strong> Elastic Cloud Serverless</strong> 上对<strong> Elasticsearch</strong><strong> 和 Kibana</strong> API 进行身份验证。您现在可以使用单一凭证来管理组织的资源<em>并</em>执行数据操作，例如 Elasticsearch 查询语言 (ES|QL) 查询、数据摄取和告警。</p><p>下面我们来看看我们构建这一功能的原因、如何设计全局分布式身份层来实现这一目标，以及它如何为跨项目搜索奠定基础。</p><h2>秘密管理负担</h2><p>围绕数据平台构建可靠的 CI/CD 管道、GitOps 工作流或 Terraform 自动化，都伴随着一项隐性成本：秘密信息蔓延。</p><p>在旧模式下，开发人员面临割裂的身份验证体验：</p><ul><li><p><strong>控制平面 (Elastic Cloud API 密钥)：</strong>组织级密钥，组织级作用域的密钥，用于通过 <a href="https://www.elastic.co/docs/api/doc/cloud/">Elastic Cloud API</a> 创建项目、邀请用户和管理计费。</p></li><li><p><strong>数据平面（Elasticsearch API 密钥）：</strong> 项目范围密钥是在特定的 Serverless 项目中创建的，<em>用于</em>与 <a href="https://www.elastic.co/docs/api/doc/elasticsearch-serverless/">Elasticsearch</a> 和 <a href="https://www.elastic.co/docs/api/doc/serverless">Kibana</a> API 进行交互。</p></li></ul><p>这意味着您的部署脚本必须对 Elastic Cloud 进行身份验证，配置 Serverless 项目，从该特定项目中提取新生成的 Elasticsearch API 密钥，然后将<em>该密钥</em>注入下游应用程序或自动化工具，从而导致复杂的管道、分散的审计日志以及更高的凭证泄露风险。</p><h2>Elastic Cloud Serverless 中的统一身份验证</h2><p>通过此次发布，Serverless 项目的拆分问题将不复存在。您现在可以创建一个明确授权用于 <strong>云、Elasticsearch 和 Kibana API</strong> 的 Elastic Cloud API 密钥。</p><ul><li><p><strong>以前：</strong>Elastic Cloud API 密钥严格来说是控制平面令牌。它可以创建项目、管理计费和邀请用户，但存在一个硬边界：它不能用于调用这些项目内部的 Elasticsearch 或 Kibana API。您始终需要第二个特定于项目的密钥来执行数据操作。</p></li><li><p><strong>现在：</strong> 在创建 Elastic Cloud API 密钥时，选择 <strong>Cloud、Elasticsearch 和 Kibana API</strong> 访问权限，Serverless 的硬边界就被移除了。该 API 密钥成为一个真正统一的凭证。它保留了管理组织基础架构的能力，同时获得了跨任何已授权 Serverless 项目进行查询、摄取和分析数据的原生访问能力。</p></li></ul><p>通过将这一切统一到单个 Elastic Cloud API 密钥之下，您获得了一个统一的身份，可以作为一个整体进行范围限定、审计、轮换和撤销。每个 API 调用——无论是配置新项目还是运行 ES|QL 查询——都会在审计日志中显示为使用同一凭证，从而在事件调查或合规性审查期间为您提供单一的追踪线索。凭证轮换成为一步操作，而无需跨独立的控制平面和数据平面秘密信息进行协调更新。而且由于角色分配是按项目进行的，一个密钥可以跨多个项目使用——在您的可观测项目中管理数据摄取，在安全项目中运行查询——无需为每个项目分别管理不同的凭证。</p><p>重要的是，<em>统一</em>并不意味着<em>全部权限</em>。通过使用 <code>role_assignments</code> 有效负载，您可以将统一密钥严格限定到单个项目和特定角色（例如只读），从而确保即使凭证泄露，其影响范围也能得到完全控制。如果某位开发人员离职或某个应用程序被停用，您可以在 Elastic Cloud Console 中撤销单个密钥，立即终止对控制平面以及所有关联 Elasticsearch 项目的访问。</p><p><em>(注意：对于 Elastic Cloud Hosted / 托管部署，Cloud API 密钥仍仅用于控制平面管理。计划在未来的版本中支持将其扩展到托管堆栈 API。）</em></p><h2>自动化您的工作流</h2><p>入门很简单。您可以完全通过 Elastic Cloud 控制台进行配置，也可以使用 Elastic Cloud <a href="https://www.elastic.co/docs/deploy-manage/api-keys/elastic-cloud-api-keys">API</a> 对其进行自动配置。</p><p>UI 流程保持不变，但现在您可以在项目角色分配下选择 <strong>Cloud、Elasticsearch 和 Kibana API</strong> 访问权限。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltda0a18945295aa84/6a1707bd509168fab4e1ba19/c4f802f130655290cd474b283001a954d14c3088-2801x1681.png" alt="Elastic Cloud 界面显示 API 密钥页面，其中包含一个打开的创建 API 密钥模态窗口，包括名称、过期日期和角色分配字段。" /><p>下面说明如何使用 Elastic Cloud API 以编程方式创建统一密钥。请注意 <code>application_roles</code> 数组，正是它授予了密钥对 Elasticsearch 数据平面的原生访问权限：</p>curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: ApiKey $EC_API_KEY" \
  "https://api.elastic-cloud.com/api/v1/users/auth/keys" \
  -d '{
    "description": "unified-automation-key",
    "expiration": "90d",
    "role_assignments": {
      "project": {
        "elasticsearch": [
          {
            "role_id": "elasticsearch-admin",
            "organization_id": "YOUR_ORG_ID",
            "all": false,
            "project_ids": ["YOUR_PROJECT_ID"],
            "application_roles": ["admin"]
          }
        ]
      }
    }
  }'<p>一旦创建，您只需在 <code>Authorization: ApiKey</code> 标头中向 <code>api.elastic-cloud.com</code> 以及您的特定 Serverless Elasticsearch 终端传递完全相同的这个密钥即可。</p><h2>底层实现：构建分布式身份层</h2><p>使一个 Cloud API 密钥能够在控制平面和数据平面同时工作，并不像传递一个令牌那么简单。这需要解决一个根本性的分布式系统挑战。</p><p>过去，Cloud API 密钥存储在一个中心化的全局安全集群中。这对于可以接受较高延迟的控制平面操作来说没有问题。然而，Elasticsearch 数据请求要求超低延迟。我们不能为了验证每个搜索查询或摄取请求而在全局范围内往返访问中央控制平面。</p><p>为了解决这个问题，我们引入了一种由全局分布式数据存储提供支持的新身份验证架构。下面的序列图展示了一个客户端使用 Elastic Cloud API 密钥发送 Elasticsearch 查询的过程，说明了身份验证完全在本地区域内完成，无需往返全局控制平面。Elasticsearch 将身份验证委托给区域 IAM 服务，该服务针对全局分布式数据库的本地副本验证密钥并解析其角色分配。一旦授权通过，Elasticsearch 执行查询并将结果返回给客户端。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf4fa84c3f33f88f7/6a1707baacf088989abe9a8e/3e38d7a862b9981523c5393c441b92eae13aeb90-2401x1351.webp" alt="序列图：展示客户端请求携带 Cloud API 密钥，流经 Elasticsearch Serverless、区域 IAM 服务以及分布式数据库副本，最终返回结果的过程。" /><h3>全局分布式持久化</h3><p>Elastic Cloud API 密钥及其关联的角色定义不再仅依赖集中式安全集群，而是持久化存储在全球分布的高可用数据库中。该数据库在全球控制平面与实际运行您的 Serverless 项目的区域数据平面之间同步身份与访问管理 (IAM) 数据。</p><h3>使用区域 IAM 进行本地验证</h3><p>当您的客户端使用 Elastic Cloud API 密钥向 Elasticsearch 发送请求时，该请求不会返回全局控制平面。相反，它会被路由到新的区域 IAM 服务。它会验证本地数据库副本中的密钥，确保身份验证几乎无延迟，并且完全不受全局控制平面故障的影响。</p><h3>动态角色映射</h3><p>身份验证只是成功的一半；系统还需要对请求进行授权。区域 IAM 服务可立即将您的云端角色分配 (例如 <code>application_roles</code>) 转换为原生 Elasticsearch 权限。Elasticsearch 随后可在本地授权并执行请求，完全无需本地 <code>.security</code> 索引。</p><h2>跨项目搜索的基础</h2><p>这种分布式身份架构是 Elastic 平台未来发展的基础构建块。</p><p>由于身份和访问权限现在统一且全局同步，我们拥有了在不同项目之间安全传递您身份所需的框架。这为 Serverless 即将推出的 <strong>跨项目搜索 (CPS)</strong> 功能提供了支持。</p><p>借助 CPS，您将能够查询跨越多个远程 Serverless 项目的数据，例如将安全负载和可观测负载组合起来，就像它们是单一数据集一样简单。通过依赖统一 API 密钥，系统可以自动评估您在所有项目上的权限，而无需您在每个目标项目上配置复杂的信任关系、证书或重复的凭证。</p><h2>了解详情</h2><p>准备好简化您的技术栈了吗？</p><ul><li><p>请参阅 <a href="https://www.elastic.co/docs/deploy-manage/api-keys/elastic-cloud-api-keys">Elastic Cloud API 密钥文档</a>，了解如何分配堆栈访问权限。</p></li><li><p>请参考 <a href="https://www.elastic.co/docs/api/doc/cloud/operation/operation-create-api-key">Create API key（Elastic Cloud API）</a> 文档，以实现密钥自动生成。</p></li><li><p>查看 <a href="https://www.elastic.co/docs/deploy-manage/api-keys">Elastic API 密钥</a>，了解 Elastic 平台中各类密钥的完整对比。</p></li></ul><p>立即开始在 <a href="https://cloud.elastic.co/registration">Elastic Cloud</a> 上构建或继续您的构建之旅。</p><h2>免责声明</h2><p>本文中描述的任何功能或功能性的发布和时间均由 Elastic 自行决定。当前尚未发布的任何功能或功能性可能无法按时提供或根本无法提供。</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elastic-cloud-api-keys-unified-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elastic-cloud-api-keys-unified-serverless</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[开发者体验]]></category>
    <dc:creator><![CDATA[ Alex Chalkias]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt16ca1a6af7e5bab8/6a1707b7a6c2b900abe7965b/864e229f00eb2018084f13dd7f0e390e18383ed4-1980x1188.png" length="0" type="image/png"/>
    <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[在无服务器环境中实现负载均衡的 Elasticsearch 副本]]></title>
    <description><![CDATA[了解 Elastic Cloud Serverless 如何根据搜索负载自动调整索引副本，无需手动配置即可确保最佳查询性能。]]></description>
    <content:encoded><![CDATA[<p>在 Elastic Cloud Serverless 中，我们会根据搜索负载自动调整索引的副本数量，确保查询性能最佳，无需手动配置。在这篇博客中，我们将解释副本如何扩展，系统何时添加或移除它们，以及这对您的索引意味着什么。</p><h2>派对越来越拥挤了</h2><p>您要举办一个披萨派对。您有几位朋友协助您招待宾客，他们分别在房间的不同位置。您把披萨分给每位朋友，他们会在饥饿的宾客陆续到来时开始分发披萨。</p><p>起初，一切运行顺利。有几位宾客陆续进来，朋友们端上披萨片，大家都很开心。但随后关于您的披萨的消息传开了。门铃一直在响。宾客们蜂拥而至。很快，人群聚集在您的一位朋友周围，就是那个拿着意式辣味香肠披萨的朋友，似乎大家都想要那块披萨。</p><p>您那位拿着意式辣味香肠披萨的朋友感到不知所措。宾客们正在等待，变得不耐烦了，还排起了长队。与此同时，您的朋友手持玛格丽特披萨站在那里，几乎没有人要一片。</p><p>您需要怎么做？</p><p>您又点了几份意式辣味香肠披萨，并把它们分给其他朋友。现在有三位朋友在拿着意式辣味香肠披萨分发，而不再只是一个人。人群散开了，突然间您就能一次性接待三倍数量的宾客。</p><p>随着您举办的派对越来越多，有几件事会变得越来越清晰：</p><ul><li><p><strong>并非所有披萨都同样受欢迎。</strong>有些供不应求，有些则鲜有人问津。您不需要为那些不受欢迎的披萨准备多余的“份数”。您需要为那些排队的披萨准备更多“份数”。</p></li><li><p><strong>在排队人数变多之前多点几份披萨。</strong>如果您等到朋友已经忙得不可开交、客人都气得离场时才行动，那就太晚了。最好是在看到人群聚集时，就提前加点一份披萨。</p></li><li><p><strong>别太快把披萨撤走。</strong>即使意式辣味香肠披萨周围的人群散开了五分钟，也不代表高峰期已经过去。也许他们只是在加饮料，甚至只是在聊天（现在还是这样吗？）。把多余的披萨准备好。如果冷场确实持续了一段时间，那时再撤走也不迟。</p></li><li><p><strong>您能分发的披萨数量取决于有多少朋友来帮忙。</strong>如果您只有四个朋友在帮忙，十张披萨也改变不了结果。一次只能供应四份。将您的披萨数量与可用人手相匹配。</p></li><li><p><strong>当一个朋友离开时，记得接管他的披萨。</strong>如果您的朋友需要离开，请立即拿走他们的披萨。披萨不能无人看管地放置。将它交给其他人，或者妥善收好。</p></li></ul><h2>我们已经聊完了披萨和副本</h2><p>现在让我们把这些生动的小故事映射回 Elasticsearch。</p><p>在我们的类比中，披萨是副本（索引分片的副本），帮助提供服务的朋友是搜索节点，饥肠辘辘的宾客是搜索查询，而人头攒动的热门披萨则是搜索负载较高的热门索引。</p><p>当特定索引的搜索流量增加时，我们会创建额外的副本，并将它们分发到搜索节点上。任何副本都可以为该索引的任何查询提供服务，就像任何拿着意式辣味香肠披萨的朋友都可以分发意式辣味香肠披萨片一样。更多副本意味着更高的吞吐量：三个副本每秒处理的查询量是单个副本的三倍。</p><h2>衡量饥饿程度</h2><p>在决定订购多少披萨之前，我们需要了解人群的饥饿程度。</p><p>Elasticsearch 会跟踪每个分片的<strong>搜索负载</strong>。这是一个度量指标，用于衡量分片正在处理的搜索活动的数量。我们将此汇总到索引的所有分片中，以了解总的搜索需求。</p><p>最重要的是<strong>相对搜索负载</strong>：您的项目总搜索流量中，每个索引所占的比例是多少？如果一个索引的搜索量为 60%，而另一个索引的搜索量为 5%，我们就知道应该在哪里增加容量。</p><h2>披萨背后的数学原理</h2><p>我们按照以下公式计算最佳副本数量：</p>desired_replicas = min(ceil(L × N / (S × X)), N)<p>其中：</p><ul><li><p><strong>L</strong> = 索引的相对搜索负载（介于 0 和 1 之间）。</p></li><li><p><strong>N</strong> = 项目中所需搜索节点的数量。</p></li><li><p><strong>S</strong> = 索引中的分片数量。</p></li><li><p><strong>X</strong> = 用于避免热点的阈值（默认值：0.5）。</p></li></ul><p>示例：四个搜索节点，具有两个主分片的一个索引，接收 80% 的搜索流量：</p>desired_replicas = min(ceil(0.8 × 4 / (2 × 0.5)), 4)
                 = min(4, 4)
                 = 4<p>这个热索引有四个副本，分布在各个搜索节点上。</p><p>阈值 X（默认为 0.5）非常重要。我们不会等到副本完全不堪重负才采取行动；当副本的负载达到一半容量时，我们就会进行扩展。当看到人群聚集时再分发额外的披萨，而不是等到宾客已经开始离开的时候。</p><h2>快速扩展，缓慢收缩</h2><p>当搜索负载增加时，我们立即添加副本。没有理由让用户等待。</p><p>当搜索负载下降时，我们会等待一段时间再采取行动。在减少副本之前，我们需要看到持续约 30 分钟的低需求。（这是为了应对流量高峰，因为短暂的平静并不意味着派对结束。）</p><p>这很重要，因为添加副本是有成本的。在高效提供查询之前，新的副本会复制数据并预热其缓存。过于急切地移除副本意味着在流量自然波动时持续支付这种启动成本。</p><h2>尊重拓扑边界</h2><p>副本永远不能超过搜索节点的数量。拥有比节点更多的副本并不会带来任何好处（您能送出的披萨数量取决于帮忙的朋友数量）。</p><p>从您的项目中移除节点时，我们会立即减少副本数量以进行匹配。无需等待冷却时间，因为您无法拥有未分配的副本。朋友离开的那一刻，我们就会移除他们的披萨。</p><h2>无服务器的全貌</h2><p>用于搜索负载均衡的副本与其他自动缩放系统协同工作：</p><ul><li><p><strong>搜索自动缩放</strong>可调整搜索节点的数量（有多少朋友在帮忙）。</p></li><li><p><strong>用于搜索负载均衡的副本</strong>通过调整每个索引的副本数量来分发流量（我们需要每种披萨的数量）。</p></li><li><p><strong>数据流自动分片</strong>优化了写入的分片数量（如何将每个披萨切片，详情见<a href="https://www.elastic.co/search-labs/blog/datastream-autosharding-serverless">上一篇文章</a>）。</p></li></ul><p>一个重要的设计原则：用于负载均衡的副本不会直接触发搜索自动扩展。相反，通过将搜索请求分发给更多副本，可以提高搜索节点的资源利用率。这种更高的利用率会触发我们现有的自动扩展逻辑，以便在需要时增加容量。用于负载均衡的副本可让自动扩展发挥作用，确保搜索节点真正得到使用，而不是将所有流量都集中在单个副本上造成瓶颈，而其他节点却处于闲置状态。</p><h2>这对您意味着什么</h2><p>您无需预测哪些索引会更受欢迎。当流量模式发生变化时，您无需手动调整副本。您无需因为流量激增导致最繁忙的索引不堪重负，而不得不凌晨 3 点起床进行处理。</p><p>系统会观察排队的地点，并为这些地点订购更多披萨。冷索引不会在不必要的副本上浪费资源。热门索引会获得所需的容量。您的预算用在了最重要的地方。</p><h2>结论</h2><p>在<a href="https://www.elastic.co/search-labs/blog/datastream-autosharding-serverless">自动分片文章</a>中，我们确保您的披萨切得恰到好处。现在，有了用于搜索负载均衡的副本，我们可以确保在饥饿的人群到来时，有足够的披萨送到他们手中。</p><p>试用 <a href="https://www.elastic.co/cloud/serverless">Elastic Cloud Serverless</a>，让我们来处理披萨分发事宜。</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-replicas-load-balancing-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-replicas-load-balancing-serverless</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Andrei Dan]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blte3b371b70b12b9ef/6a170f240e2e49999441a1de/3c4c1e99b892f026b7aba098973593f8298e2ea6-1280x717.png" length="0" type="image/png"/>
    <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Agent Builder 现已正式发布：几分钟内即可部署上下文驱动型代理]]></title>
    <description><![CDATA[Agent Builder 现已正式发布。了解它如何帮助您快速开发上下文驱动的 AI 代理。]]></description>
    <content:encoded><![CDATA[<p>我们非常高兴地宣布，Agent Builder 在 Elastic Cloud Serverless 和即将发布的 9.3 版本中正式推出。Agent Builder 带来了 Elasticsearch 作为上下文工程平台的强大功能，能够快速开发以数据为中心的上下文 AI 代理。</p><p>代理正凭借其提升效率和改善客户体验方面的潜力而日益受到重视。但在实践中，为代理提供正确的上下文是困难的，尤其是在处理杂乱无章的非结构化企业数据时。开发人员必须管理工具、提示、状态、推理逻辑、模型，最重要的是从业务来源检索相关上下文，以提供准确的结果和操作。Elastic Agent Builder 提供这些核心组件，用于开发安全、可靠、上下文驱动的代理。</p><h2>Agent Builder 核心功能</h2><p>Agent Builder 利用 Elastic 在搜索相关性和检索增强生成方面的长期投入，并致力于将 Elasticsearch 打造成最佳的向量数据库，从而简化以数据为中心的上下文 AI 代理的开发。</p><p>Agent Builder 允许您：</p><ul><li><p>立即开始使用内置的会话代理，它可以回答问题、执行分析并驱动对 Elasticsearch 中任何数据的调查。</p></li><li><p>快速从复杂的非结构化数据转变为具有基于配置的开发体验的自定义代理。</p></li><li><p>利用内置的 ES|QL 或自定义工具，利用最佳的混合搜索相关性来提高上下文质量和代理可靠性。</p></li><li><p>将复杂的工作流（预览）作为可重复使用的工具来执行，以丰富数据、更新记录、发送消息等，实现基于规则的自动化。</p></li><li><p>使用工作流和 MCP 连接 Elasticsearch 外部的数据源，以关联和整合代理的上下文。</p></li><li><p>使用通过 MCP 提供的内置和自定义工具与任何代理或应用程序框架集成，并能够连接到外部 MCP（预览版）、支持 A2A 和提供完整的 API 支持。</p></li><li><p>通过与第三方解决方案（如用于复杂文档处理的 LlamaIndex 或用于安全、结构化工具访问的 Arcade.dev）集成，扩展 Agent Builder 的功能。</p></li></ul><p>为了进一步扩展 Agent Builder 的功能，我们推出了 Elastic Workflows，这是我们新的基于规则的自动化功能，目前处于技术预览阶段。对于组织任务，代理有时需要基于规则的操作的确定性和可靠性，这通常是实现特定业务逻辑所必需的。Elastic Workflows 为代理提供了一种简单、声明式的方式，用于编排内部和外部系统，以执行操作、收集和转换数据和上下文。工作流是完全可组合、事件驱动且灵活的，并且可以通过 MCP 作为工具提供给代理。</p><h2>从数据到代理仅需几分钟</h2><p>开发代理可能需要花费数周的前期工作来整合独立的数据存储、构建手动管道、调整查询和管理复杂的编排。Agent Builder 不需要单独的数据存储、向量数据库、RAG 管道、搜索层、查询转换器和工具编排器，从而减少了开发代理的时间，使您能够专注于代理逻辑和应用程序交付。</p><p>Agent Builder 原生集成了 Elasticsearch 平台的基元，从而加快了代理开发的速度。</p><ul><li><p>首先，内置的对话代理可以立即与您的索引数据进行聊天和推理。</p></li><li><p>通过 Kibana、API 或 MCP 和 A2A 进行交互式访问，将代理集成到应用程序、仪表板或 CI/CD 系统中。</p></li><li><p>使用默认工具进行构建，以了解您的数据结构，选择适当的索引，生成优化的混合、语义和结构化查询，并根据自然语言提示使用 ES|QL 创建可配置的可视化。</p></li></ul><p>要深入了解，请尝试完整的<a href="https://www.elastic.co/search-labs/blog/ai-agent-builder-elasticsearch">实践演练</a>。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd8def92028138672/6a17e086af47b60cd8cdde96/b55b63eae40f72952967cc8f3ea4df4cd62d7d70-1080x608.gif" alt="Elastic Agent Builder 演练" /><h2>基于 Elasticsearch 构建，这是一个用于上下文工程的完整数据平台</h2><p>对于 AI 代理，上下文质量对于提供有效的推理和降低幻觉的风险至关重要。对于许多企业 AI 代理而言，执行任务所需的业务数据是最关键的上下文信息。作为大规模可扩展数据存储、向量数据库和相关性领域的领导者，Elasticsearch 已经提供了许多强大的上下文工程原语。上下文工程超越了简单的检索增强生成，允许您定制和扩展数据获取、排序、筛选和呈现给代理的方式，有助于减少噪音和歧义。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc4c10c1d09e9f81e/6a17e087577262feb31bcb4b/419b9b6f13739e0a8983249d8ac31478e73dac89-1600x901.png" alt="Agent builder 图" /><p>Elasticsearch 提供的上下文引擎结合了词汇搜索、向量搜索和结构化筛选，通过确保模型在相关且精确的上下文中运行，显著<a href="https://www.elastic.co/search-labs/blog/context-engineering-relevance-ai-agents-elasticsearch">提高了 LLM 性能</a>。这种功能由代理检索提供支持，同时还具备内置工具和搜索逻辑，能够自动选择正确的索引，并将自然语言转化为针对上下文优化的查询。</p><p>利用 Agent Builder，您可以确保代理首先获得最有用的上下文，并设有相关性和排名控制，从而允许您微调评分、排名和筛选逻辑。Elasticsearch 可让您控制重要内容、重要原因以及优先级，而非依赖不透明的检索行为。这一切都由 Elasticsearch 作为可扩展性平台提供支持，可以在单个平台上存储和扩展来自文本、向量、元数据、日志等的所有数据，从而更轻松地管理代理的上下文。</p><h2>将复杂的工作流作为可重复使用的工具来执行</h2><p>虽然 AI 代理可以对复杂的任务进行推理，但许多自动化工作都依赖于可靠地执行基于规则的操作，以强制实施特定的业务逻辑。Elastic Workflows 提供了一种简单、声明式的方式来编排内部和外部系统，以执行操作、收集上下文或数据，并将其整合为代理的一部分。在 YAML 中定义的工作流是完全可组合的，这使得它们能够根据任务需求变得简单或复杂。这为代理提供了在 Elasticsearch 平台和解决方案以及第三方应用程序中执行操作的有效方式。</p><p>使用 Agent Builder 集成工作流可通过三个步骤完成（先决条件：启用工作流，详情请参阅<a href="https://github.com/elastic/workflows">此处</a>）</p><p>1. 使用内置自动完成和测试功能的基于 YAML 的简单编辑器创建并保存新的工作流。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt00585158429a3395/6a17e089e317916b122d5740/308888bf3d2fa013f9391a55be6a6fbd458b6dac-1600x998.png" alt="Agent Builder 工作流" /><p>2. 在 Agent Builder 中创建一个类型为“工作流”的新工具，并提供说明，帮助代理确定何时使用工作流工具。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt874b6a1ce3a2ac34/6a17e08be9ea87b1dea9c4d9/c04810d30d226112c3610bd58e208607b213fc3d-1600x945.png" alt="在 Agent Builder 中创建新工具" /><p>3. 将工作流工具添加到您的自定义代理。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt94a31cb60ef11ce6/6a17e08daf47b61f0dcdde9a/724cd4ac93c46efb0d339fd140e5caf138f8150f-1600x948.png" alt="将工作流工具添加到您的自定义代理。" /><p>4. 就是这样！现在，代理可以在对话中调用工作流。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5143f401a06e8ba2/6a17e08fdbb4ffcfc6fb55de/8dfdd726ab89e31c48b79372650ce33946713dca-1600x929.png" alt="已使用 Elastic Agent Builder 创建了 AI 代理" /><h2>您的代理，您的规则</h2><p>Agent Builder 不会将您限制在单一的开发范式中。相反，它旨在为代理提供开放、灵活的开发方法，使代理能够完全掌控数据、相关性、模型、互操作性、安全性和代理设计。</p><p>自定义代理定义可让您准确选择代理可访问的工具、嵌入自定义系统提示、定制代理的指令并定义安全边界。代理仍然与模式无关，让您能够灵活配置首选的本地和跨更广泛生态系统的 LLM，而无需受限于单一提供商。</p><p>构建可扩展的工具，将特定领域的逻辑（例如特定的索引筛选器、ES|QL 连接、分析管道）封装起来，并对其加以约束，以确保其在生产环境中安全使用。完整的 API 支持实现了与其他代理框架的互操作性，并原生支持模型上下文协议 (MCP)。A2A 集成意味着您可以将 Elastic 代理提供给其他框架、服务和客户端应用，从而在各种集成中重复使用相同的数据和上下文工程逻辑。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt309a0b3dd4cc367b/6a17e090ec0f8932045a6550/5e903ba24ffb3f40231e901f63bd494c89cb7757-1600x1004.png" alt="使用 Elastic Agent Builder 配置 AI 代理" /><p>Agent Builder 支持灵活、开放的开发，可与流行的代理框架和平台轻松集成。这些集成对于提供高效的代理至关重要。正如 <strong>Arcade.dev 的联合创始人 Sam Partee</strong> 所描述的那样，</p><p><em>"如今，代理系统之所以失败，是因为将 AI 与工具和数据连接起来非常复杂。Elastic Agent Builder 与 Arcade.dev 结合，为开发者提供了一种结构化且安全的方式来处理代理如何检索上下文、进行推理和采取行动，从而将代理从演示级别提升至生产级别。”</em></p><p>Agent Builder 还利用了 Elasticsearch 的可扩展性来处理复杂数据。正如 <strong>LlamaIndex 首席执行官 Jerry Liu</strong> 所描述的那样，</p><p><em>“从非结构化数据源中解锁企业上下文是建立有效代理的关键。Elastic Agent Builder 与 LlamaIndex 复杂文档处理相结合，强化了关键的上下文层，帮助团队检索、处理和准备数据，从而使代理能够更准确地推理并提供更好的结果。”</em></p><h2>您可以构建什么？</h2><p>Agent Builder 已用于各种用例。以下是一些示例和参考架构，可帮助您开始使用代理：</p><ul><li><p><strong>基础设施自动化：</strong>在支持场景中，代理已被用于读取、思考和聊天，但迄今为止，它们还无法触及可能需要管理的基础设施。Elastic 的工程团队在黑客马拉松中构建了一个用于<a href="https://www.elastic.co/search-labs/blog/agent-builder-augmented-infrastructure">自动化基础设施管理</a>的代理。代理会主动调查应用程序基础设施的问题，并采取自动化操作。它使用工作流来优化配置、响应问题并扩展资源，所有这些都基于对基础设施日志的智能理解。</p></li><li><p><strong>安全威胁分析：</strong>已使用 Elastic Agent Builder、MCP 和 Elasticsearch 开发了一个安全漏洞代理。它通过将内部安全数据与外部威胁情报关联起来，自动进行威胁分析。该代理对历史事件和配置进行语义搜索，使用实时互联网数据增加结果，并应用 LLM 推理来评估环境相关性、确定风险优先级并生成可操作的补救措施。请参阅<a href="https://www.elastic.co/search-labs/blog/agent-builder-mcp-reference-architecture-elasticsearch">参考架构</a><strong>。</strong></p></li><li><p><strong>技术客户支持：</strong>代理可以执行多项支持任务，包括案例汇总、问题重复检测和创建，以及深入的技术调查。Agent Builder 可通过多步骤混合搜索实现这一功能，仅查找最相关的相关问题、解决方案和程序，并制定根本原因假设和补救计划。Agent Builder 可以简化复杂<a href="https://www.elastic.co/blog/generative-ai-customer-support-elastic-support-assistant">支持系统</a>的架构，并加快交付时间。</p></li><li><p><strong>产品和内容发现：</strong>Agent Builder 简化了<a href="https://www.elastic.co/search-labs/blog/build-voice-agents-elastic-agent-builder">将复杂的产品目录用于对话式体验</a>的过程，同时允许组织保持灵活性，以纳入其自身的业务逻辑和要求。</p></li><li><p><strong>构建您自己的系统：</strong>参加 <a href="https://elasticsearch.devpost.com/">Agent Builder 黑客松活动</a>，该活动将于 2026 年 1 月 22 日至 2 月 27 日举行。与社区合作，构建基于上下文的多步骤 AI 代理，将搜索、工作流、工具和推理相结合，以自动执行现实世界中的任务*</p></li></ul><h2>现在开始构建自定义代理</h2><p>开始 <a href="https://cloud.elastic.co/registration?onboarding_token=search&amp;pg=en-enterprise-search-page">Elastic Cloud 试用</a>，并在<a href="https://www.elastic.co/docs/solutions/search/elastic-agent-builder">此处</a>查看文档。对于现有客户，Agent Builder 可在 Cloud Serverless 中使用，也可在 Elastic Cloud Hosted 和自主管理的企业层中使用。</p><p>*<a href="https://elasticsearch.devpost.com/rules">点击此处</a>查看黑客松的完整条款、条件和资格要求</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/agent-builder-elastic-ga</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/agent-builder-elastic-ga</guid>
    <category><![CDATA[智能体 AI]]></category>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Anish Mathur,Evan Castle]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta5ffa581514d8b8c/6a17e092dbb4fff61afb55e2/6840eb7dbb884055ab0e965dcfd614fec54936af-2210x1440.png" length="0" type="image/png"/>
    <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[更高的吞吐量和更低的延迟：AWS 上的 Elastic Cloud Serverless 性能显著提升]]></title>
    <description><![CDATA[我们已将适用于 Elasticsearch Serverless 的 AWS 基础设施升级为更新、更快的硬件。了解这一巨大的性能提升如何提供更快的查询、更好的扩展和更低的成本。]]></description>
    <content:encoded><![CDATA[<p>Elastic Cloud Serverless 已成为那些希望构建高效搜索和 AI 应用程序而无需管理基础设施的开发人员的首选解决方案。现在，我们将无服务器项目的性能提升到了一个全新的水平。</p><p>我们已为在 AWS 上运行的所有 <a href="https://www.elastic.co/cloud/serverless">Elastic Cloud Serverless</a> 项目完成了一次重大基础设施升级，迁移到了更新、更快的硬件上。此更改已自动推广至所有无服务器项目。它为 AWS 上的 Elasticsearch、Elastic Observability 和 Elastic Security 无服务器项目提供了<strong>更高的吞吐量和更低的延迟</strong>。</p><h2><strong>为开发人员带来的关键性能优势</strong></h2><p>新的 AWS 硬件基础设施支撑着您使用 Elastic Cloud Serverless 所做的一切，为您的应用程序的速度和响应能力带来切实的好处。</p><h3><strong>降低查询延迟……提高吞吐量</strong></h3><p>改进后的硬件显著提升了计算资源的速度，这意味着您的搜索查询处理速度比以往任何时候都要快。</p><ul><li><p><strong>搜索和向量搜索：</strong>无论您是运行传统的全文本查询，还是在<a href="https://www.elastic.co/generative-ai">生成式 AI 和 Retrieval-Augmented Generation (RAG) 应用</a>中使用尖端的向量搜索，您都会发现延迟明显减少。内部基准测试显示，搜索延迟平均减少了 35%。</p></li><li><p><strong>索引速度更快：</strong>数据摄取速率得到优化，使您能够以更高的吞吐量为海量数据和复杂文档建立索引。这对于需要近实时数据可见性的应用程序至关重要。内部基准测试显示，索引吞吐量平均提高了 26%。</p></li></ul><h3><strong>在负载下保持稳定性能</strong></h3><p>无论您的工作负载如何，Elastic Cloud Serverless 都能实时动态地自动扩展，以满足需求，最大限度地减少延迟。通过这次硬件升级，这种扩展性现在变得性能更强且响应更迅速。</p><ul><li><p><strong>轻松应对流量高峰：</strong>无论您面临的是用户流量的突然激增，还是大规模批量数据的摄取，新的基础设施都能确保您的搜索和索引资源更高效地扩展，从而保持一致的低延迟。</p></li><li><p><strong>优化的计算存储解耦：</strong>无服务器架构将计算与存储分离，使工作负载能够独立扩展，从而实现最佳性能和成本效益。速度更快的硬件增强了计算层，最大限度地提高了这种解耦设计的效率。</p></li></ul><h2><strong>幕后揭秘：内部基准测试结果</strong></h2><p>为了量化 AWS 基础设施升级的影响，Elastic 工程团队针对一系列无服务器工作负载进行了全面的内部基准测试。这些工作负载为性能改进提供了经验证据，无论您的用例如何，您都可以期望在应用程序中获得性能提升。</p><h3><strong>基准测试方法</strong></h3><p>我们将测试重点放在直接影响开发者体验和应用程序响应速度的关键指标上：响应时间（即延迟）和搜索与索引操作的吞吐量。</p><ul><li><p><strong>测试的工作负载：</strong>测试包括面向用户的应用程序中典型的高并发搜索操作、复杂的向量搜索查询以及用于可观测性和安全用例的大量数据摄取/索引。特别是，我们的测试方法使用了 Elastic 基准测试工具 Rally 的<a href="https://github.com/elastic/rally-tracks/tree/master">公开</a><a href="https://github.com/elastic/rally-tracks/tree/master">可用的数据集</a>。</p><ul><li><p><a href="https://github.com/elastic/rally-tracks/tree/3bedd51/wikipedia"><code>wikipedia</code></a>：一个从维基百科文本内容的快照中提取的数据集，用于衡量通用文本搜索性能。</p></li><li><p><a href="https://github.com/elastic/rally-tracks/tree/3bedd51/msmarco-passage-ranking"><code>MSMARCO-Passage-Ranking</code></a>：一个源自 Microsoft 机器阅读理解 (MS MARCO) 的数据集，用于衡量稀疏向量字段上的搜索性能。</p></li><li><p><a href="https://github.com/elastic/rally-tracks/tree/3bedd51/openai_vector"><code>OpenAI_Vector</code></a>：一个源自 BEIR 的 NQ 并通过 OpenAI 的 <code>text-embedding-ada-002</code> 模型生成的嵌入进行丰富的数据集，用于衡量密集向量字段上的搜索性能。</p></li></ul></li><li><p><strong>测量：</strong>我们比较了新旧基础设施的性能，测量了第 99 百分位数 (P99) 的延迟，以捕捉最坏情况下的尾部延迟性能和每秒操作数。为确保结果的一致性，每个硬件配置文件的每条测试路径都运行了五次。</p></li><li><p><strong>目标：</strong>我们的目标是验证基础设施即使在快速自动扩展期间也能持续提供<strong>更快、更可预测的全面性能</strong>的能力。</p></li></ul><h3><strong>性能数据摘要</strong></h3><p>结果证实，效率和速度都有了明显提高。由于能够使用更少的计算资源完成相同的工作量，这些收益直接转化为更短的用户响应时间和更低的运营成本。</p><p>下表详细列出了数量上的改进。数值越大，吞吐量越高；数值越小，延迟越低。</p><p><strong>搜索基准测试结果：</strong></p><p>基准</p><p>对比</p><p>旧版基础设施</p><p>新的基础设施</p><p>差别</p><p>`wikipedia` (纯文本)</p><p>搜索操作吞吐量 (ops/s)</p><p>729</p><p>1107</p><p>+52%</p><p>`wikipedia` (纯文本)</p><p>搜索操作延迟（p99，毫秒）</p><p>56</p><p>35</p><p>-37%</p><p>`MSMARCO-Passage-Ranking`（稀疏向量）</p><p>搜索操作吞吐量 (ops/s)</p><p>220</p><p>31</p><p>+40%</p><p>`MSMARCO-Passage-Ranking`（稀疏向量）</p><p>搜索操作延迟（p99，毫秒）</p><p>108</p><p>67</p><p>-38%</p><p>`OpenAI_Vector`（密集向量）</p><p>搜索操作吞吐量 (ops/s)</p><p>475</p><p>624</p><p>+31%</p><p>`OpenAI_Vector`（密集向量）</p><p>搜索操作延迟（p99，毫秒）</p><p>35</p><p>220</p><p>-37%</p><p><strong>索引基准测试结果：</strong></p><p>基准</p><p>对比</p><p>旧版基础设施</p><p>新的基础设施</p><p>差别</p><p>`wikipedia` (纯文本)</p><p>搜索操作吞吐量 (ops/s)</p><p>2,845</p><p>3220</p><p>+13%</p><p>`wikipedia` (纯文本)</p><p>搜索操作延迟（p99，毫秒）</p><p>1,769</p><p>1,120</p><p>-37%</p><p>`MSMARCO-Passage-Ranking`（稀疏向量）</p><p>搜索操作吞吐量 (ops/s)</p><p>7,087</p><p>8900</p><p>+26%</p><p>`MSMARCO-Passage-Ranking`（稀疏向量）</p><p>搜索操作延迟（p99，毫秒）</p><p>824</p><p>677</p><p>-18%</p><p>`OpenAI_Vector`（密集向量）</p><p>搜索操作吞吐量 (ops/s)</p><p>2,972</p><p>3,187</p><p>+7%</p><p>`OpenAI_Vector`（密集向量）</p><p>搜索操作延迟（p99，毫秒）</p><p>2,946</p><p>2,944</p><p>0%</p><h2><strong>额外收获：成本降低</strong></h2><p>虽然我们的重点是提供低延迟性能，但新硬件的效率也对 Elasticsearch 项目的成本产生直接的积极影响。</p><p><a href="https://www.elastic.co/pricing/serverless-search">Elasticsearch Serverless 的定价</a>是基于使用量的，这意味着您只需为您所使用的摄取和搜索资源付费。由于更新、更快的硬件效率更高，您的工作负载通常能用更少的资源完成任务，从而降低大多数项目的固有成本。您无需支付高昂的价格，就能获得卓越的性能提升——这就是优化效率的定义。</p><h2><strong>这对您，开发者来说意味着什么？</strong></h2><p>此次基础设施升级完全由 Elastic 管理，因此您无需亲自操作——无需迁移，也无需更改配置。改进效果立竿见影，并自动应用于您所有基于 AWS 的无服务器项目。</p><p>此升级赋予您以下能力：</p><ul><li><p><strong>构建更快的应用程序：</strong>专注于功能开发速度，确保您的底层搜索平台能够提供用户所需的速度。</p></li><li><p><strong>自信创新：</strong>部署新的搜索、可观测性和安全功能（包括向量搜索和相关性排序等复杂的 AI 功能），并确保平台能够以最高性能处理负载。</p></li><li><p><strong>简化堆栈：</strong>使用完全托管的服务来处理基础设施管理、容量规划和扩展，这样您就可以专注于代码和数据。
</p></li></ul>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-serverless-aws-performance-boost</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-serverless-aws-performance-boost</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[运维]]></category>
    <dc:creator><![CDATA[Pete Galeotti,Yuvraj Gupta,Rachel Forshee]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt399bcc5a2e55bfe0/6a1708b45091684557e1ba3c/3aa0b481994d2445ba979d3c79fff64c5ee6676a-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[管理 Elasticsearch Serverless 项目的人工智能代理]]></title>
    <description><![CDATA[一个由自然语言驱动的人工智能代理，可轻松管理 Elasticsearch Serverless 项目--实现项目创建、删除和状态检查。]]></description>
    <content:encoded><![CDATA[<h2>如何使用人工智能代理管理无服务器 Elasticsearch 项目</h2><ol><li><p><strong>克隆版本库：</strong>使用<code>git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent</code> <code>a</code> 从 GitHub 下载该工具的代码，然后使用<code>cd serverless-ai-agent</code> 导航到该目录。</p></li><li><p><strong>设置环境： </strong>使用<code>python -m venv venv</code> 创建虚拟环境（可选）并激活（Windows 上为<code>source venv/bin/activate</code> 或<code>venv\Scripts\activate</code> ）。然后，使用<code>pip install -r requirements.txt</code> 安装必要的 Python 软件包。</p></li><li><p><strong>配置凭证： </strong>在项目根目录下创建<code>.env</code> 文件，并在其中填入 Elasticsearch API URL (<code>ES_URL</code>)、API 密钥 (<code>API_KEY</code>)、地区 (<code>REGION</code>) 和 OpenAI API 密钥 (<code>OPENAI_API_KEY</code>)。</p></li><li><p><strong>运行工具： </strong>在终端运行<code>python main.py</code> ，执行该工具。这将启动人工智能代理，并提示您执行命令。</p></li><li><p><strong>用自然语言管理项目：</strong>使用纯英文命令与工具交互，如"Create a serverless project named my\_project","Get status of the serverless project named my\_project", 或"Delete the serverless project named my\_project" 。人工智能将解读您的命令并执行相应的功能。</p></li></ol><h2>背景</h2><p>这个小命令行工具能让你用简单的英语管理你的<a href="https://www.elastic.co/guide/en/serverless/current/intro.html">无服务器 Elasticsearch 项目</a>。它会与人工智能（本例中为 OpenAI）对话，以了解您的意思，并使用 LlamaIndex 调用正确的函数！</p><h3>Elasticsearch Serverless AI 代理能做什么</h3><ul><li><p><strong>创建项目</strong>：启动一个新的无服务器 Elasticsearch 项目。</p></li><li><p><strong>删除项目</strong>删除现有项目（是的，它会在你删除后进行清理）。</p></li><li><p><strong>获取项目状态</strong>：查看项目进展情况</p></li><li><p><strong>获取项目详情</strong>：获取项目的所有细节。</p></li></ul><p>在<a href="https://github.com/elastic/elasticsearch-labs/tree/a65f7bc1e4a041765d1c0a45ac44b9cd9fc1589f/supporting-blog-content/serverless-ai-agent">GitHub</a>上查看代码。</p><h3>Elasticsearch Serverless AI 代理如何工作</h3><p>当您输入以下内容时</p><p><em>"创建一个名为 my_project 的无服务器项目"</em></p><p>......下面是幕后花絮：</p><ul><li><p><strong>用户输入&amp; 上下文：</strong>您的自然语言命令将发送给人工智能代理。</p></li><li><p><strong>功能描述：</strong>人工智能代理已经知道一些函数，如创建项目、删除项目、获取项目状态和获取项目细节，因为我们给了它详细的说明。这些说明会告诉人工智能每个函数的作用以及需要的参数。</p></li><li><p><strong>LLM 处理：</strong>将您的查询和功能信息发送给 LLM。这意味着人工智能可以看到</p><ul><li><p><strong>用户查询</strong>：您的简明指令</p></li><li><p><strong>可用功能&amp; 说明</strong>：详细说明每个工具的功能，以便选择正确的工具。</p></li><li><p><strong>上下文/历史聊天信息</strong>：既然是对话，就会记住之前说过的话。</p></li></ul></li><li><p><strong>函数调用&amp; 响应：</strong>人工智能会找出要调用的函数，传递正确的参数（如项目名称），然后执行函数。回复会以友好的格式发回给您。</p></li></ul><p>简而言之，我们将您的自然语言查询和详细的工具描述列表同时发送给 LLM，这样它就能 "理解 "并为您的请求选择正确的操作。</p><h3>设置人工智能代理</h3><h4>先决条件</h4><p>运行人工智能代理之前，请确保已设置好以下内容：</p><ol><li><p>已安装<strong>Python（v3.7 或更高版本）</strong>。</p></li><li><p>在 Elastic Cloud 上设置<strong>Elasticsearch 无服务器账户</strong>。</p></li><li><p><strong>OpenAI 账户</strong>与语言模型进行交互。</p></li></ol><h4>步骤：</h4><p><strong>1.克隆版本库：</strong></p>git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent
cd serverless-ai-agent<p><strong>2.创建虚拟环境（可选但推荐）：</strong>如果遇到与环境相关的问题，可以建立虚拟环境进行隔离：</p>python -m venv venv
source venv/bin/activate  # On Windows, use venv\Scripts\activate<p><strong>3.安装依赖项：</strong>运行以下命令，确保已安装所有必需的依赖项：</p>pip install -r requirements.txt<p><strong>4.配置环境：</strong>创建 .env文件，其中包含以下变量下面是一个<code>.env.example</code> 文件示例，希望对您有所帮助：</p>ES_URL=your_elasticsearch_api_url  # The base URL for your Elasticsearch service (e.g., https://your-cluster-id.es.region.aws.elastic-cloud.com)
API_KEY=your_elasticsearch_api_key  # Your API key for Elasticsearch
REGION=your_region  # Example: aws-eu-west-1
OPENAI_API_KEY=your_openai_api_key  # Your OpenAI API key<p>确保<code>ES_URL</code> 、<code>API_KEY</code> 和<code>OPENAI_API_KEY</code> 的值正确无误。您可以在相应的服务仪表板中找到您的 API 密钥。</p><p><strong>5.项目文件：</strong>该工具使用<code>projects.json</code> 文件来存储项目映射（项目名称与其详细信息）。如果该文件不存在，将自动创建。</p><h3>运行人工智能代理</h3>python main.py<p>您会看到这样的提示</p>Welcome to the Serverless Project AI Agent Tool!
You can ask things like:
 - 'Create a serverless project named my_project'
 - 'Delete the serverless project named my_project'
 - 'Get the status of the serverless project named my_project'
 - 'Get the details of the serverless project named my_project'<p>输入指令，人工智能代理就会施展魔法！完成后，请输入<code>exit</code> 或<code>quit</code> 离开。</p><h3>更多细节</h3><ul><li><p><strong>LLM 集成</strong>：LLM 可同时收到您的查询和每个可用功能的详细说明。这有助于它理解上下文，并决定是调用<code>create_ess_project</code> 还是<code>delete_ess_project</code> 等。</p></li><li><p><strong>工具说明</strong>：每个函数工具（使用 FunctionTool.from_defaults 创建）有一个友好的描述。该说明包含在发送给 LLM 的提示中，以便 LLM "知道 "有哪些可用的操作，以及每个操作的期望值。</p></li><li><p><strong>持久性</strong>：项目及其详细信息保存在 projects.json 中、这样您就不必每次都重新输入信息了。</p></li><li><p><strong>详细记录</strong>：代理被设置为 "详细 "模式，非常适合调试和查看指令如何被转换为函数调用。</p></li></ul><h3>Elasticsearch 人工智能代理利用示例</h3>python main.py 

Welcome to the Serverless Project AI Agent Tool!

You can ask things like:
 - 'Create a serverless project named my_project'
 - 'Delete the serverless project named my_project'
 - 'Get the status of the serverless project named my_project'
 - 'Get the details of the serverless project named my_project'

User: Create a serverless project named my-february-test
Added user message to memory: Create a serverless project named my-february-test

=== Calling Function ===
Calling function: create_ess_project with args: {"project_name":"my-february-test"}
========================


Agent: The serverless Elasticsearch project named "my-february-test" has been created successfully. Here are the details:

- **Project ID:** &lt;&gt;&gt;
- **Elasticsearch Endpoint:** [https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud](https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud)
- **Kibana Endpoint:** [https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud](https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud)

User: get my-february-test status
Added user message to memory: get my-february-test status

=== Calling Function ===
Calling function: get_ess_project_status with args: {"project_name":"my-february-test"}
========================

Agent: The status of the "my-february-test" project is currently **initializing**.

User: get my-february-test info
Added user message to memory: get my-february-test info

=== Calling Function ===
Calling function: get_ess_project_details with args: {"project_name":"my-february-test"}
========================

Agent: Here are the details for the "my-february-test" project:

- **Project Name:** my-february-test
- **Alias:** my-february-test-ccc399
- **Cloud ID:** ""
- **Project ID:** ""
- **Region ID:** aws-eu-west-1
- **Created At:** 2025-02-12T15:42:00.530177619Z
- **Created By:** 571213384
- **Organization ID:** ""
- **Type:** Elasticsearch
- **Optimized For:** General Purpose
- **Search Lake:**
  - **Boost Window:** 7
  - **Search Power:** 100
- **Endpoints:**
  - **Elasticsearch:** https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud
  - **Kibana:** https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud
- **Credentials:**
  - **Username:** ""
  - **Password:** ""

Please ensure to keep the credentials secure.

User: please delete the my-february-test project
Added user message to memory: please delete the my-february-test project

=== Calling Function ===
Calling function: delete_ess_project with args: {"project_name":"my-february-test"}
========================

Agent: The "my-february-test" project has been deleted successfully.<p></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/serverless-elasticsearch-ai-agent</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/serverless-elasticsearch-ai-agent</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[智能体 AI]]></category>
    <dc:creator><![CDATA[Fram Souza]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt88526af16bafdb7c/6a17d7807f6f15825dc0998d/d11e1ba058784ec92b8953fb8db62e1bad21c210-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Tue, 04 Mar 2025 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[无状态--使用 Elasticsearch 查找的新状态]]></title>
    <description><![CDATA[了解 Elasticsearch 无状态，探索无状态架构，从而提高性能并降低成本。]]></description>
    <content:encoded><![CDATA[<p>通过无状态 Elasticsearch，我们正在投资建设一个全新的完全云本地架构，以推动规模和速度的发展。在本博客中，我们将探讨我们的起点、引入无状态架构后 Elasticsearch 的未来以及该架构的细节。</p><h2>我们的起点</h2><p><a href="https://www.elastic.co/what-is/elasticsearch">Elasticsearch</a>的第一个版本于 2010 年发布，它是一个分布式可扩展搜索引擎，允许用户快速搜索并浮现关键见解。十二年过去了，Elasticsearch 的提交次数已超过 65,000 次，它将继续为用户提供久经考验的解决方案，以解决各种搜索问题。在包括数百名 Elastic 全职员工在内的 1,500 多名贡献者的努力下，Elasticsearch 不断发展，以应对搜索领域出现的新挑战。</p><p>在 Elasticsearch 诞生之初，当数据丢失的问题被提出时，Elastic 团队经过<a href="https://www.elastic.co/blog/a-new-era-for-cluster-coordination-in-elasticsearch">多年的努力</a>，重写了集群协调系统，以确保确认的数据得到安全存储。当发现在大型集群中管理索引是一件麻烦事时，团队开始实施广泛的<a href="https://www.elastic.co/blog/elasticsearch-data-lifecycle-management-with-data-tiers">ILM 解决方案</a>，通过允许用户预先定义索引模式和生命周期操作来实现这项工作的自动化。由于用户发现需要存储大量的度量和时间序列数据，因此增加了各种功能，如更好的压缩功能，以减少数据量。由于搜索大量冷数据的存储成本越来越高，我们投资创建了<a href="https://www.elastic.co/blog/introducing-elasticsearch-searchable-snapshots">可搜索快照</a>，作为在低成本对象存储上直接搜索用户数据的一种方式。</p><p>这些投资为 Elasticsearch 的下一步发展奠定了基础。随着云原生服务和新协调系统的发展，我们决定是时候对 Elasticsearch 进行进化，以改善使用云原生系统时的体验。我们相信，这些变化为在 Elastic<a href="https://www.elastic.co/cloud/"> Cloud 上运行</a> Elasticsearch 带来了改进运行、性能和成本的机会。</p><h2>我们的目标--采用无状态架构</h2><p>运行或协调 Elasticsearch 时面临的主要挑战之一是，它依赖于大量持久状态，因此是一个有状态的系统。这三个主要部分是 translog、索引存储和集群元数据。这种状态意味着存储必须是持久的，不会在节点重启或更换时丢失。</p><p>Elastic Cloud 上现有的 Elasticsearch 架构必须在多个可用性区域内重复索引，以便在发生故障时提供冗余。我们打算将这些数据的持久性从本地磁盘转移到对象存储，如 AWS S3。通过依靠外部服务来存储这些数据，我们将不再需要进行索引复制，从而大大减少了与摄取相关的硬件。由于 AWS S3、GCP Cloud Storage 和 Azure Blob Storage 等云对象存储跨可用区复制数据的方式，这种架构还能提供非常高的耐用性保证。</p><p>将索引存储卸载到外部服务中还能让我们通过分离索引和搜索职责来重新构建 Elasticsearch。我们打算建立一个索引层和一个搜索层，而不是让主实例和副本实例同时处理这两种工作负载。将这些工作负载分开，可以使它们独立扩展，并使硬件选择更有针对性，以满足各自的使用情况。它还有助于解决一个长期存在的难题，即搜索和索引负载会相互影响。</p><p>经过为期数月的概念验证和实验阶段，我们确信这些对象存储服务能够满足我们对索引存储和集群元数据的要求。我们的测试和基准测试表明，这些存储服务可以满足我们在 Elastic Cloud 中看到的最大集群的高索引需求。此外，将数据备份到对象存储区可降低索引成本，并可对搜索性能进行简单调整。为了搜索数据，Elasticsearch 将使用久经考验的可搜索快照（Searchable Snapshots）模型，在该模型中，数据永久保存在云原生对象存储中，而本地磁盘则用作频繁访问数据的缓存。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf17ddc7c69dc6e76/6a17d9f563baff2cc5741b02/e1d7b7b36bd1bbf906d50c3b873bfe2e1acd7fb3-1440x805.png" alt="" /><p>为了帮助区分，我们将现有模型描述为"节点对节点" 复制。在该模型的热层中，主分片和副本分片都承担着处理摄取和提供搜索请求的重任。这些节点是"有状态的" ，因为它们依靠本地磁盘安全地持久化所托管分片的数据。此外，主分片和副本分片不断进行通信，以保持同步。它们的做法是将主分区上执行的操作复制到副本分区上，这意味着这些操作的成本（主要是 CPU 成本）会在指定的每个副本上产生。同样的分片和节点在为收录工作提供服务的同时，也在为搜索请求提供服务，因此在进行配置和扩展时必须考虑到这两种工作负载。</p><p>除了搜索和摄取，节点到节点复制模型中的分片还负责处理其他密集型任务，如合并 Lucene 片段。虽然这种设计有其优点，但根据我们多年来从客户那里了解到的情况以及更广泛的云生态系统的演变，我们看到了很多机会。</p><p>新架构可实现许多直接和未来的改进，包括</p><ol><li><p>在相同的硬件上，你可以大幅提高摄取吞吐量，或者换个角度看，在相同的摄取工作负载下，大幅提高效率。这一增长来自于消除了每个副本的重复索引操作。CPU 密集型的索引操作只需在索引层上进行一次，然后将生成的段传送到对象存储区。这样，搜索层就可以按原样使用数据了。</p></li><li><p>您可以将计算与存储分开，以简化集群拓扑结构。如今，Elasticsearch 拥有多个数据层（内容层、热层、温层、冷层和冻结层），可将数据与硬件配置文件相匹配。热层用于近实时搜索，冷冻层用于搜索频率较低的数据。这些层级在提供价值的同时，也增加了复杂性。在新架构中，不再需要数据层，从而简化了 Elasticsearch 的配置和操作。我们还将索引与搜索分离开来，这进一步降低了复杂性，并使我们能够独立扩展这两种工作负载。</p></li><li><p>通过减少必须存储在本地磁盘上的数据量，索引层的存储成本可以得到改善。目前，Elasticsearch 必须在热节点（主节点和副本节点）上存储完整的分片副本，以便编制索引。采用无状态方法，直接在对象存储区建立索引，只需要部分本地数据。对于只进行追加的用例，只需存储某些元数据以编制索引。这将大大减少索引所需的本地存储空间。</p></li><li><p>您可以降低与搜索查询相关的存储成本。通过将 "可搜索快照 "模式作为搜索数据的本机模式，与搜索查询相关的存储成本将大大降低。根据用户对搜索延迟的需求，Elasticsearch 将允许对频繁请求的数据进行调整，以增加本地缓存。</p></li></ol><h2>基准测试 - 75% 索引吞吐量改进</h2><p>为了验证这种方法，我们实施了一个广泛的概念验证，其中数据仅在单个节点上编制索引，并通过云对象存储实现复制。我们发现，通过消除对索引复制专用硬件的需求，我们可以将索引<strong>吞吐量提高 75% </strong>。此外，仅从对象存储中提取数据所需的 CPU 成本远低于编制数据索引和本地写入数据的成本，而这正是目前热层所必需的。这意味着搜索节点可以将其 CPU 全部用于搜索。</p><p>这些性能测试是在一个双节点集群上针对三大公共云提供商（AWS、GCP 和 Azure）进行的。我们打算在实现无状态生产的过程中，继续建立更大的基准。</p><p><strong>索引吞吐量</strong></p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4a44b141e077a8cf/6a17d9f7445de982084cffa9/2c3c94b38a5c816a720112851b4a497b4176c285-593x270.png" alt="" /><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8dfd035e67eaf0a8/6a17d9f9e3179127802d56d5/ee236cd455e8fa8f4af62a0f8557a5e907deffbf-596x270.png" alt="" /><p><strong>CPU 使用率</strong></p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt13df63861f1149a6/6a17d9fa414c643b05945026/76632a9211a4762e3559ab498beb5381b7d441d2-547x329.png" alt="" /><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltfd352e4ebd0a1417/6a17d9fcbe60863c0c0045e0/62dd9063a05d5841e196a5abf39db7e9c990fb01-547x326.png" alt="" /><h2>我们无国籍，你们有储蓄</h2><p>Elastic Cloud 上的无状态架构可让您减少索引开销，独立扩展摄取和搜索，简化数据层管理，并加快扩展或升级等操作。这是实现弹性云平台实质性现代化的第一个里程碑。</p><h2>成为 Elasticsearch 无状态愿景的一部分</h2><p>有兴趣抢先尝试这种解决方案吗？您可以在<a href="https://discuss.elastic.co/">讨论区</a>或我们的<a href="https://ela.st/slack">社区休闲频道</a>与我们联系。我们希望您能提供反馈意见，帮助我们确定新架构的方向。</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/stateless-your-new-state-of-find-with-elasticsearch</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/stateless-your-new-state-of-find-with-elasticsearch</guid>
    <category><![CDATA[ML 研究]]></category>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Leaf Lin,Tim Brooks,Quin Hoxie]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltcc6aaa7d1d08f8d5/6a17d9c94b055d1ca0432084/dd0e2f3d452a288a185558102c705c60fdf77ad9-1440x840.png" length="0" type="image/png"/>
    <pubDate>Thu, 06 Oct 2022 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>