当前位置: 首页 > article >正文

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

作者:来自 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.kler.cn/news/327148.html

相关文章:

  • 【python进阶攻略12】C扩展
  • 破局汽车智能化浪潮:Tire 1供应商的网络优化与升级策略
  • leetcode|刷算法 线段树原理以及模板
  • 用OpenSSL搭建PKI证书体系
  • react 前端框架中的 三层(service,model,index)具体操作
  • CSS 参考手册
  • 某星球预约抢票脚本
  • 25中国烟草校园招聘面试问题总结 烟草面试全流程及面试攻略
  • 人工智能辅助的神经康复
  • Thinkphp/Laravel旅游景区预约系统的设计与实现
  • open-resty 服务安装jwt插件
  • SpringBoot教程(三十一) | SpringBoot生成Docker镜像包
  • Gdao v1.2.0:Go语言高效ORM框架
  • 初学51单片机之I2C总线与E2PROM二
  • 【动态规划-最长公共子序列(LCS)】力扣583. 两个字符串的删除操作
  • Python和C++及MATLAB距离相关性生物医学样本统计量算法及数据科学
  • WebRTC入门
  • 大屏走马灯与echarts图表柱状图饼图开发小结
  • 嵌入式单片机底层原理详解
  • 一文详解WebRTC、RTSP、RTMP、SRT
  • 《深圳大学学报理工版》
  • 【玩转贪心算法专题】56. 合并区间【中等】
  • 004集—— txt格式坐标写入cad(CAD—C#二次开发入门)
  • mobile_aloha训练过程中pycharm编辑器遇到的问题记录
  • 拿下奇怪的前端报错:SyntaxError: Unexpected token ‘??=‘或‘xxx‘ - 浅谈Nodejs版本过高过低的部分问题
  • ping香港服务器超时的原因通常有哪些?
  • 【笔记】电子绕核运动的轨道半径求解
  • 详解zookeeper四字命令
  • 大数据的挑战是小文件
  • 配音软件哪个好?配音小白用这些