ChatGPT 和 Elasticsearch:使用 Elastic 数据创建自定义 GPT

这篇具有很好参考价值的文章主要介绍了ChatGPT 和 Elasticsearch:使用 Elastic 数据创建自定义 GPT。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:Sandra Gonzales

ChatGPT Plus 订阅者现在有机会创建他们自己的定制版 ChatGPT,称为 GPT,这替代了之前博客文章中讨论的插件。基于本系列的第一部分的基础 —— 我们深入探讨了在 Elastic Cloud 中设置 Elasticsearch 数据和创建向量嵌入 —— 这篇博客将指导你完成开发一个定制的 GPT 的过程,该 GPT 旨在与你的 Elasticsearch 数据无缝交互。

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

定制 GPT

与插件系统相比,GPT 标志着一项重大进步,为用户提供了一种更简便的方式来创建 ChatGPT 的定制版本。通过直观的用户界面,这种增强简化了定制过程,通常无需编码技能就可以应用于广泛的应用程序。除了基本的个性化定制之外,那些希望将 ChatGPT 与外部数据集成的用户可以通过自定义动作来实现这一点。用户可以选择在 GPT 商店分享这些定制的 GPT,将它们保留为个人使用,或者只在公司的 ChatGPT 团队计划中与你的公司工作空间共享。

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

如何实现 ChatGPT 与 Elasticsearch 的通信

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

  1. ChatGPT 通过 Cloud Run 服务的 /search 端点发起调用。
  2. 服务将此输入用于创建 Elasticsearch 搜索请求。
  3. 查询响应与文档主体和 URL 一起返回给服务。
  4. 服务以文本形式将文档主体和 URL 返回给定制的 ChatGPT。
  5. 然后,此响应以文本形式中继回给 GPT,准备进行解释。

再次强调,此博客假设你已设置了 Elastic Cloud 账户,对内容进行了向量化处理,并拥有填充了数据的 Elasticsearch 集群,可供使用。如果你还没有完成所有设置,请参阅我们之前的帖子,了解详细的步骤。

代码

为了使我们的定制 GPT 得以实现,我们创建了一个服务,作为 ChatGPT 和我们的 Elasticsearch 数据之间的中间件。这个服务的核心是一个 Python 应用程序,它设置了一个 Quart 应用程序,并定义了 /search 端点。此外,我们使用一个Dockerfile来便于在Cloud Run上部署应用程序。

Python 应用程序连接到我们的 Elastic Cloud 集群,执行一个结合了 BM25 和 kNN 查询的混合搜索,并返回相关的文档主体和 URL。这使得我们的定制 GPT 能够实时访问和利用 Elasticsearch 数据。

完整的代码请参考 GitHub 存储库。这包括了用于 Cloud Run 部署的 Python 应用程序和 Dockerfile。

部署服务

关于使用 Google Cloud Platform(GCP)部署服务的详细步骤,请参考我们之前关于 ChatGPT 插件的博客文章中的部署部分。在那里,你将找到一份逐步指南,指导你在 GCP 上设置和部署你的服务。

创建 GPT

登录你的 ChatGPT Plus 账户后,通过你的个人资料导航到 “My GPTs”(我的 GPT)找到 “Create a GPT”(创建 GPT)链接。或者,你的对话上方的 “Explore GPTs”(探索GPT)部分也可以进入 GPT 商店,在那里你可以找到创建 GPT 的链接。

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

配置 GPT

GPT 编辑器提供了两种配置你的 GPT 的方式:通过对话提示进行引导设置的 “Create”(创建)标签,以及用于直接配置输入的 “Configure”(配置)标签。为了配置 Elastic Docs Assistant,我们将主要使用手动配置,以精确定义我们的 GPT 的设置。

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

为你的 GPT 指定一个名称,例如 “Elastic Docs Assistant”,并添加一个简短的描述,突出其功能。

在 Instructions(指令栏) 下,定义你的 GPT 的主要角色,并为其提供展示信息的指令:

You are an Elasticsearch Docs Assistant.  Your function is to assist users with docs on Elastic products by querying the defined /search action. Answer the user's query using only the information from the /search action response. If the response contains no results, respond "I'm unable to answer the question based on the information I have from Elastic Docs." and nothing else.  Be sure to include the URL at the bottom of each response.

切换到 “Create”(创建)标签,让 ChatGPT 生成对话开始提示和一个 logo。或许我会上传我自己的 logo。

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

我们不会上传任何知识文件,因为我们使用的所有数据都在 Elasticsearch 中。相反,我们将定义一个动作。

定义一个动作

这是我们将数据连接到 Elasticsearch 的地方。点击 “Create a new action”(创建新动作)将带我们进入动作编辑器。

首先,我在我的环境中设置了一个自定义头部名称,用于定义我在端点服务中使用的 API 密钥。

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

然后我复制我的 OpenAPI 规范:

openapi: 3.0.1
info:
  title: ElasticDocs_CustomGPT 
  description: Retrieve information from the most recent Elastic documentation
  version: 'v1'
servers:
  - url: YOUR_SERVICE_URL
paths:
  /search:
    get:
      operationId: search
      summary: retrieves the document matching the query
      parameters:
      - in: query
        name: query
        schema:
            type: string
        description: use to filter relevant part of the elasticsearch documentation 
      responses:
        "200":
          description: OK

输入这些信息后,我们的模式将被自动验证,并显示一个搜索动作,任何错误都会显示为红色。如果一切都看起来不错,这就是预览窗格特别有用的地方。你不仅可以测试动作以确认其功能,而且助手还提供有关请求的调试信息。这对于根据服务的响应来完善你的 GPT 的回答非常有帮助。

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

通过配置 GPT 指令以动态修改其动作请求,可以实现更进一步的定制,例如在用户输入发送到服务之前重写用户输入,或者根据用户输入中的某些条件添加请求查询参数。这消除了传统编码逻辑的需要,前提是你的端点被设计为支持这些修改。

发布 GPT

点击预览窗格上方右上角的 “Publish”(发布),即可转到你新创建的 GPT。

elastic gpt,Elasticsearch,AI,Elastic,gpt,大数据,elasticsearch,搜索引擎,全文检索,人工智能

展望未来

通过利用 Elasticsearch 进行动态的、数据驱动的对话,探索定制 GPT 的过程仅仅揭示了可能性的一角。通过利用 ChatGPT 的界面,并将其连接到外部数据,我们为定制化和具有上下文丰富性的交互引入了新的维度,使用了最先进的 AI 模型。

你今天就可以尝试本博客中讨论的所有功能!通过注册免费的 Elastic Cloud 试用版开始吧。

在本博客文章中,我们可能使用了第三方生成AI工具,这些工具由各自的所有者拥有和操作。Elastic 对这些第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任或义务,也不对你使用此类工具可能引起的任何损失或损害负责。在使用含有个人、敏感或机密信息的 AI 工具时,请小心谨慎。你提交的任何数据可能会用于 AI 训练或其他目的。无法保证你提供的信息将被保密或安全。在使用任何生成 AI 工具之前,你应该熟悉其隐私实践和使用条款。

Elastic、Elasticsearch 及相关标志是 Elasticsearch N.V. 在美国及其他国家的商标、标志或注册商标。所有其他公司和产品名称都是其各自所有者的商标、标志或注册商标。

准备在你的应用中构建 RAG 吗?想尝试不同的 LLMs 与向量数据库? 查看我们在 Github 上的 LangChain、Cohere 等样本笔记本,并加入即将开始的Elasticsearch 工程师培训!

原文:ChatGPT and Elasticsearch: Creating Custom GPTs with Elastic Data — Elastic Search Labs文章来源地址https://www.toymoban.com/news/detail-858450.html

到了这里,关于ChatGPT 和 Elasticsearch:使用 Elastic 数据创建自定义 GPT的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch:使用 Elastic APM 监控 Android 应用程序(二)

    在我之前的文章 “Elasticsearch:使用 Elastic APM 监控 Android 应用程序(一)” 中,我详述了如何使用 Elastic APM 来监控 Android 应用程序。在今天的文章中,我来详述如何部署 Elastic Stack,并使用文章中的示例代码来进行展示。为了展示方便,在今天的展示中,我将所有的组件都安

    2023年04月22日
    浏览(46)
  • Elasticsearch:如何通过 3 个简单步骤从 Elastic 数据中删除个人身份信息

    作者:Peter Titov 对于任何组织来说,个人身份信息 (Personally Identifiable information, PII) 合规性都是一个日益严峻的挑战。 无论你是在电子商务、银行、医疗保健还是其他数据敏感的领域,PII 都可能会在无意中被捕获和存储。 拥有结构化日志,可以轻松快速识别、删除和保护敏

    2024年02月13日
    浏览(51)
  • Elasticsearch:使用 Docker-Compose 启动单节点 Elastic Stack

    首先必须指出的是,在我之前的文章 “Elasticsearch:使用 Docker compose 来一键部署 Elastic Stack 8.x”,我有详述根据官方文档如何创建一个带有三个节点的安全 Elasticsearch 集群。本文基于著名的 Deviatony 存储库和 Elastic 的官方说明。 建议先通读这些说明,如果你已经可以根据这些

    2024年02月05日
    浏览(65)
  • Observability:如何使用 Elastic Agents 把定制的日志摄入到 Elasticsearch 中

    在我之前的文章 “Observability:使用 Elastic Agent 来摄入日志及指标 - Elastic Stack 8.0”,我详细地描述了如何安装 Elasticsearch,Stack 及 Elastic Agents 来采集系统日志及指标。很多开发者可能会有疑问,在我们的实际使用中,我们更多的可能是需要采集定制的应用日志,而不是系统日

    2024年02月02日
    浏览(64)
  • Copilot Hub 基于私有数据的人格化AI 平台 - 创建自定义ChatGPT知识库AI的简明操作指南...

    Copilot Hub 是一个帮助你基于私有数据创建智能知识库 人格化 AI 的平台。你可以基于文档、网站、Notion database 或其他数据源在几分钟内创建一个自定义的 ChatGPT。 https://app.copilothub.ai/copilots 需要先登录一下 Copilot Hub  输入邮箱就能登录成功了 我现在使用自己的文本来创建一个

    2024年02月11日
    浏览(46)
  • Elasticsearch:使用 ELSER 释放语义搜索的力量:Elastic Learned Sparse EncoderR

    在信息过载的时代,根据上下文含义和用户意图而不是精确的匹配来查找相关搜索结果已成为一项重大挑战。 传统的搜索引擎通常无法理解用户查询的语义上下文,从而导致相关性较低的结果。 在现代向量搜索之前,我们有 “传统”的 词袋(Bags of word - BOW)方法。

    2024年02月15日
    浏览(58)
  • Observability:如何把 Elastic Agent 采集的数据输入到 Logstash 并最终写入到 Elasticsearch

    在之前的文章 “安装独立的 Elastic Agents 并采集数据 - Elastic Stack 8.0”,我们详述了如何使用 No Fleet Server 来把数据写入到 Elasticsearch 中。在今天的文章中,我们来详述如下使用 Elastic Agents 在独立(standalone)模式下来采集数据并把数据最终通过 Logstash 来写入到 Elasticsearch 中去

    2024年02月11日
    浏览(53)
  • Elasticsearch:创建自定义 ES Rally tracks 的分步指南

    作者:Alejandro Sánchez 按照这个综合教程学习如何制作个性化的 Rally tracks ES Rally 是一个用于在 Elasticsearch® 上测试性能的工具,允许你运行和记录比较测试。 做出决策可能很困难,尤其是当你没有所需的信息并且只能根据过去积极或消极的变化进行猜测或经验时。 如果我们补

    2024年02月21日
    浏览(99)
  • Elasticsearch:NLP 和 Elastic:入门

    自然语言处理 ( N atural L anguage P rocessing - NLP) 是人工智能 (AI) 的一个分支,专注于尽可能接近人类解释的理解人类语言,将计算语言学与统计、机器学习和深度学习模型相结合。 AI - Artificial Inteligence 人工智能 ML - Machine Learning 机器学习 DL - Deep Learning  深度学习 NLP - Naturual L

    2024年02月05日
    浏览(48)
  • Vue3 - 如何将 reactive() 创建的响应式数据 “轻松“ 恢复成初始数据值,重置 reactive() 定义的数据使其恢复成初始定义的数据结构(使用一个函数轻松解决,并且不丢失响应式)

    典型的场景就是我有一个表单,用户输入了一些内容后,点击提交后程序需要 “重置表单” 把上次填过的内容重置掉。 本文实现了 一个函数重置 reactive 创建的数据,恢复 “最开始时的数据结构和默认值,” 你可以直接复制本文提供的函数,有三种方案可选。 直接调用函

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包