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

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

我们很高兴地宣布,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 并点击“登录 Google AI Studio”。

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

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

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

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

Elasticsearch 推理 API

我们将使用 Python 配置推理 API 以连接到 Google AI Studio 并使用 Gemini 测试聊天完成。

创建推理端点

创建 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': {}}]}

聊天时间!

创建用于访问 Google AI Studio 的 Elasticsearch API 端点就这么简单!完成此操作后,您可以开始使用它。

我们将要求它估算有多少鸭子可以容纳在一个美式橄榄球场上。为什么?为什么不呢。

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 实验,以测试他们的最佳想法。

Elasticsearch 充满了新功能,可以帮助您为您的用例构建最佳搜索解决方案。深入了解我们的示例笔记本以了解更多信息,开始免费云试用,或立即在您的本地机器上试用 Elastic。

想获得 Elastic 认证?了解下一场Elasticsearch 工程师培训何时举行!

准备好构建最先进的搜索体验了吗?

足够先进的搜索并非一人之力所能完成。Elasticsearch 由数据科学家、ML Ops 工程师、工程师以及许多其他同样热衷于搜索的人员提供支持,他们对搜索的热情与您一样。让我们联系起来,共同努力构建神奇的搜索体验,让您获得想要的结果。

自己试试