谷歌推出与OpenAI兼容的Gemini API

Google推出Gemini API新端点,方便开发者从OpenAI切换

为了帮助使用OpenAI LLM解决方案的开发者更轻松地切换到Gemini,Google推出了一个新的Gemini API端点。该端点目前仍处于测试阶段,仅部分支持OpenAI的功能。

主要功能与使用方法

  1. 替代OpenAI端点
    Google的新openai端点可以替代OpenAI的端点,支持直接REST调用或任何OpenAI官方SDK。例如,如果你有一个使用OpenAI SDK的Python程序,可以通过以下代码初始化以使用Google的模型:

    from openai import OpenAI
    client = OpenAI(
        api_key="gemini_api_key",
        base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
    )

    需要提供Gemini API密钥,可以通过代码或OPENAI_API_KEY环境变量设置。

  2. 文本生成(Chat Completions API)
    开发者可以使用Chat Completions API生成文本,并指定Gemini模型的名称:

    response = client.chat.completions.create(
        model="gemini-1.5-flash",
        n=1,
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Explain to me how AI works"}
        ]
    )
    print(response.choices[0].message)
  3. 嵌入功能(Embeddings API)
    新的Gemini端点还支持OpenAI的Embeddings API,用于测量文本字符串的相关性。以下代码展示了如何在Gemini中使用该功能:

    response = client.embeddings.create(
        input="Your text string goes here",
        model="text-embedding-004"
    )
    print(response.data[0].embedding)

当前支持与未来计划

  • 支持的功能:目前,Chat Completions API和Embeddings API是唯一可以通过新openai端点使用的OpenAI功能。图像上传和结构化输出仅有限支持。
  • 未来计划:Google计划增加更多OpenAI功能,以便开发者更容易将Gemini作为OpenAI的替代方案,但具体时间表尚未明确。

社区反应与替代方案

  • 社区评价:Reddit评论者称赞Google此举为OpenAI API用户提供了一种避免锁定的解决方案,但距离实现标准API以便轻松切换模型提供商仍有一定距离。
  • 替代方案vLLM项目支持多种生成模型和嵌入模型,并提供了OpenAI兼容服务器,允许使用Mistral、Llama、Llava等主流模型。

通过这一新端点,Google为开发者提供了更多选择,进一步推动了LLM生态的多样化和灵活性。

阅读 204
0 条评论