作者:来自 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