Elasticsearch 开放推理 API 增加了对 Google AI Studio 的支持

news2024/11/6 9:50:33

作者:来自 Elastic Jeff Vestal

我们很高兴地宣布 Elasticsearch 的开放推理 API 支持 Gemini 开发者 API。使用 Google AI Studio 时,开发者现在可以与 Elasticsearch 索引中的数据进行聊天、运行实验并使用 Google Cloud 的模型(例如 Gemini 1.5 Flash)构建应用程序。AI Studio 是 Google 发布 Google DeepMind 最新模型的地方,也是使用 Gemini 开始构建的最快方式。

在此博客中,我们将创建一个新的 Google AI Studio 项目,创建一个 Elasticsearch 推理 API 端点以使用 Gemini 1.5 Flash,并实现一个示例聊天应用程序来估计美式足球场上可以容纳多少只鸭子!(为什么不呢?)

AI Studio API 密钥

首先,我们需要为 AI Studio 创建一个 API 密钥。前往 ai.google.dev/aistudio 并点击 “Sign In to Google AI Studio.”。

如果你尚未登录,系统将提示你登录。登录后,你将看到两个选项:在浏览器中使用 AI Studio 测试 Gemini 提示或创建 API 密钥。我们将创建一个 API 密钥以允许 Elasticsearch 连接到 AI Studio。

首次创建 API 密钥时,系统会提示你接受 Google Cloud 的条款和条件。如果你使用个人帐户,你将可以选择在新项目中创建 API 密钥。如果你使用企业帐户,则可能看不到该选项,具体取决于你的访问角色。无论哪种方式,你都可以选择现有项目来创建密钥。

选择现有项目或创建新项目。

将生成的 API 密钥复制到安全的地方,以便在下一部分中使用。

Elasticsearch 推理 API

我们将使用 Python 配置 Inference API 以连接到 Google AI Studio 并使用 Gemini 测试 chat completion。

创建推理端点

创建 Elasticsearch 连接。

es = Elasticsearch(
    elasticsearch_url, 
    api_key=elasticsearch_api_key
)

创建推理端点以连接到 Google AI Studio。对于本博客,我们将使用 Gemini 1.5 Flash 模型。有关可用模型的列表,请参阅 Gemini 文档。

inference_id = "google_ai_studio"

model_config = {
    "service": "googleaistudio",
    "service_settings": {
        "api_key": google_ai_studio_api_key,
        "model_id": google_ai_studio_model_id
    }
}

# Create the endpoint
create_endpoint = es.inference.put(
      inference_id=inference_id, 
      task_type="completion",
      body=model_config
  )

确认端点已创建。

inf_info = es.inference.get(inference_id=inference_id)
print(inf_info.body)

输出应类似于:

{'endpoints': [{'model_id': 'google_ai_studio',
   'inference_id': 'google_ai_studio',
   'task_type': 'completion',
   'service': 'googleaistudio',
   'service_settings': {'model_id': 'gemini-1.5-flash',
    'rate_limit': {'requests_per_minute': 360}},
   'task_settings': {}}]}

聊天时间到了!

这就是创建 Elasticsearch API 端点以访问 Google AI Studio 所需的全部步骤!完成后,你就可以开始使用它了。

我们将要求它估计一个美式足球场上可以容纳多少只鸭子。 为什么? 为什么不呢。

response = es.inference.inference(     
    inference_id=inference_id, 
    body={"input": "hello"}
  )

print(response.body['completion'][0]['result'])

响应:

It's impossible to give an exact number of ducks that could fit on an American football field without some crucial information:

* **Duck size:**  Ducks come in various sizes. Are we talking about mallards, Muscovy ducks, or something else? 
* **Duck behavior:** Ducks aren't neatly arranged like bricks. They'll move around, jostle, and likely try to escape. This makes packing them tightly impossible.
* **Field conditions:** Are we talking about a dry field, or one with mud and water? This impacts how ducks can stand and move.

**Here's a more helpful approach:**

* **Area:** An American football field is 100 yards long and 53 1/3 yards wide, for a total area of 5,333 square yards.
* **Duck size:** Let's assume a typical mallard duck is about 2 feet long and 1 foot wide. This gives us a rough area of 2 square feet per duck.
* **Packing density:** Even if we could perfectly pack ducks, we'd need to allow for some space between them. Let's be generous and assume we can fit 4 ducks per square yard. 

**Calculation:**

* 5,333 square yards * 4 ducks/square yard = **21,332 ducks**

**However, this is a highly unrealistic estimate.** In reality, you'd likely be able to fit far fewer ducks due to their movement and the need for space.

**It's more fun to imagine the chaos of trying to fit that many ducks on a field!** 🦆🦆🦆

简单而强大

随着 Google AI Studio 的加入,Elastic 开放推理 API 为开发者提供了越来越多强大的生成式 AI 功能。Google AI Studio 旨在实现简单、快速的生成式 AI 实验,以测试你的最佳想法。

准备好自己尝试了吗?开始免费试用。
想要获得 Elastic 认证?了解下一期 Elasticsearch 工程师培训何时开始!

原文:Elasticsearch open inference API adds support for Google AI Studio — Search Labs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2180820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

0基础学前端 day7

大家好,欢迎来到无限大的频道 今天继续带领大家来了解前端的知识,深入了解互联网和浏览器背后的技术。 历史背景 互联网的起源可以追溯到20世纪60年代的ARPANET项目,作为研究机构之间的通信网络。最初的网页浏览器由Tim Berners-Lee于1990…

【工程测试技术】第3章 测试装置的基本特性,静态特性和动态特性,一阶二阶系统的特性,负载效应,抗干扰性

目录 3.1 概述 1测量装置的静态特性 2.标准和标准传递 3.测量装置的动态特性 4.测量装置的负载特性 5.测量装置的抗干扰性 1.线性度 2.灵敏度 3.回程误差 4.分辨力 5.零点漂移和灵敏度漂移 3.3.1 动态特性的数学描述 1.传递函数 2.频率响应函数 3.脉冲响应函数 …

jmeter进行性能测试实践

设置场景接口 一、通过抓取一个场景的接口(抓包) 自己抓取需要的接口,进行依赖 流程:1.在网页上F12抓取登录页面和登出页面的URL。2.在jemeter设置线程组,添加http请求输入URL等。3.查看结果数 二、通过boday录制 …

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-29

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-29 在这一期中,我们对大语言模型在软件开发中的跨学科应用的几个工作做简要的介绍。相关内容涵盖软件测试时的问题报告,问题分类,测试生成,和软件测试中的AI应用: …

【宝藏篇】加密软件有哪些?10款好用的加密软件推荐!

小明:嘿,小华,你知道有哪些好用的加密软件吗?我最近需要保护一些敏感数据。 小华:当然,小明!现在市场上有很多优秀的加密软件,可以帮助你保护数据安全。我正好有10款宝藏级的加密软件…

【RocketMQ】RocketMQ应用难点

🎯 导读:本文探讨了RocketMQ中消息重复消费的问题及其解决方案,尤其是在CLUSTERING模式下的扩容影响。文章分析了重复消费的原因,如广播模式、负载均衡模式下的多consumerGroup消费、消费者组内的动态变化及网络延迟等&#xff0c…

基于单片机的催眠电路控制系统

** 文章目录 前言一 概要功能设计设计思路 软件设计效果图 程序文章目录 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主…

动手学深度学习(李沐)PyTorch 第 3 章 线性神经网络

3.1 线性回归 线性回归是对n维输入的加权,外加偏差 线性回归可以看作是单层神经网络 回归问题中最常用的损失函数是平方误差函数。 平方误差可以定义为以下公式: 常数1/2不会带来本质的差别,但这样在形式上稍微简单一些 (因为当…

【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧

文章目录 C模板进阶编程前言第一章: 非类型模板参数1.1 什么是非类型模板参数?1.1.1 非类型模板参数的定义 1.2 非类型模板参数的注意事项1.3 非类型模板参数的使用场景示例:静态数组的实现 第二章: 模板的特化2.1 什么是模板特化?2.1.1 模板…

YOLO11关键改进与网络结构图

目录 前言:一、YOLO11的优势二、YOLO11网络结构图三、C3k2作用分析四、总结 前言: 对于一个科研人来说,发表论文水平的高低和你所掌握的信息差有着极大的关系,所以趁着YOLO11刚刚发布,趁热了解,先人一步对…

与我免费ai书童拆解《坚持》创作历程

插科打诨的海侃胡闹,调侃舒展《坚持》诗创的灵魂盛宴之旅。 (笔记模板由python脚本于2024年09月30日 19:11:42创建,本篇笔记适合喜欢python和诗歌的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free&#x…

如何让ollama本地模型使用code-interpreter(代码解释器)?

代码解释器通常都需要在GPU的环境下使用原生的模型通过transformer来实现,且本身还需要模型本身支持,ollama本地蒸馏过的模型占用的资源比较小,也方便本地使用,但是如果想用这些模型的代码解释器,即让大模型写程序并执…

小巧机身,但强劲动力实现千元级净须,未野迷你剃须刀测评

剃须刀是很多朋友每天都要用的工具,在选择上非常丰富,就便捷性和可靠性来说,电动剃须刀还是更方便一些。以前多数人用的都是飞利浦等传统品牌。近几年国产剃须刀也开始崛起,但是也存在很多令人不够满意的产品,比如说&a…

Redis入门第三步:Redis事务处理

欢迎继续跟随《Redis新手指南:从入门到精通》专栏的步伐!在本文中,我们将探讨Redis的事务处理机制。了解如何使用事务来保证一系列操作的原子性和一致性,这对于构建可靠的应用程序至关重要 1 什么是Redis事务🍀 ​ R…

高效学习工作SMART原则

S代表Specific(明确具体的),意味着你需要清晰地定义你的目标,并确保它是具体而明确的。例如,如果你的目标是“提高销售”,那么这个目标就不是足够具体。更好的表述可能是:“在接下来的三个月内&…

【Python报错已解决】 ModuleNotFoundError: No module named ‘lime‘

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

828华为云征文 | 利用FIO工具测试Flexus云服务器X实例存储性能

目录 一、Flexus云服务器X实例概要 1.1 Flexus云服务器X实例摘要 1.2 产品特点 1.3 存储方面性能 1.4 测评服务器规格 二、FIO工具 2.1 安装部署FIO 2.2 主要性能指标概要 三、进行压测 3.1 测试全盘随机读IO延迟 3.2 测试全盘随机写IO延迟 3.3 测试随机读IOPS 3.4…

《后端程序猿 · Spring事务失效场景》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

如何使用ssm实现钢铁集团公司安全管理系统的构建与实现

TOC ssm748钢铁集团公司安全管理系统的构建与实现jsp 研究背景与现状 时代的进步使人们的生活实现了部分自动化,由最初的全手动办公已转向手动自动相结合的方式。比如各种办公系统、智能电子电器的出现,都为人们生活的享受提供帮助。采用新型的自动化…

SpringBoot教程(三十一) | SpringBoot生成Docker镜像包

SpringBoot教程(三十) | SpringBoot生成Docker镜像包 前提方式一:spring-boot-maven-plugin 方式方式二:Dockfile 方式(推荐) 前提 如果你在 Windows 上,确保 Docker Desktop 已经启动并正在运…