Googleは最近、OpenAIのソリューションを採用済みの開発者がGeminiへの移行を容易にすることを目的とした、Gemini APIの新しいエンドポイントを発表しました。この新しいエンドポイントは現在テスト段階にあり、OpenAIの機能の一部のみがサポートされています。
Googleの説明によると、この新しいエンドポイントは、直接的なREST呼び出しまたはOpenAI公式SDKを使用してOpenAIのエンドポイントを置き換えることができます。例えば、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環境変数を使用して渡すことができます。テキストを生成するには、以下のように、使用するGeminiモデル名を指定してチャット補完APIを使用します。
response = client.chat.completions.create (
model="gemini-1.5-flash",
n=1,
messages=[
{"role": "system", "content": "あなたは役に立つアシスタントです。"},
{
"role": "user",
"content": "AIの仕組みを説明してください"
}
]
)
print (response.choices [0].message)
さらに、新しいGeminiエンドポイントは、テキスト文字列間の関連性を測定するためのOpenAIの埋め込みAPIもサポートしています。簡単に言うと、埋め込みAPIはテキストを浮動小数点数のベクトルにマッピングし、開発者はこれらのベクトルを使用して特定の値を検索したり、テキストをクラスタリングしたり、異常を検出したり、推奨を提供したりすることができます。以下のコードスニペットは、Geminiでこの機能を使用する方法を示しています。
response = client.embeddings.create (
input="ここにあなたのテキスト文字列を入力してください",
model="text-embedding-004"
)
print (response.data [0].embedding)
現在、チャット補完APIと埋め込みAPIは、新しいOpenAIエンドポイントを通じてGeminiモデルで使用できる唯一のOpenAI機能です。また、画像のアップロードと構造化された出力のサポートも限られています。Googleは、開発者がGeminiをOpenAIの代替手段としてより簡単に使用できるように、OpenAIの機能を追加する予定であると述べていますが、具体的な時間枠はまだ明らかになっていません。
Redditの議論では、コメント投稿者はGoogleのこの取り組みを高く評価しており、OpenAI APIユーザーにロックインからの脱出策を提供するものと考えています。ただし、異なるモデルプロバイダー間で簡単に切り替えるための標準APIの実現にはまだ長い道のりがあります。
より一般的な方法として、vLLMプロジェクトは様々な生成モデルと埋め込みモデルをサポートし、OpenAIと互換性のあるサーバーを提供することを目指しています。vLLMを使用すると、Mistral、Llama、Llava、および現在利用可能な多くの主要なモデルを使用できます。
公式紹介:https://developers.googleblog.com/en/gemini-is-now-accessible-from-the-openai-library/
要点:
🌟 GoogleがGemini APIの新しいエンドポイントを発表し、開発者がGeminiへの移行を容易に。
🔑 新しいエンドポイントはOpenAIのチャット補完APIと埋め込みAPIをサポートしますが、機能はまだ完全ではありません。
🛠️ vLLMプロジェクトは様々なモデルをサポートし、APIの柔軟性を向上。