Tech

Google lance une API compatible OpenAI pour Gemini

Dans le but de permettre aux développeurs qui ont adopté OpenAI pour leurs solutions basées sur LLM de passer plus facilement à Gemini, Google a lancé un nouveau point de terminaison pour son API Gemini qui leur permet de passer facilement d’un service à l’autre. Le nouveau point de terminaison est toujours en version bêta et ne fournit qu’une couverture partielle des fonctionnalités OpenAI.

Selon Google, leur nouveau openai le point de terminaison peut remplacer le propre point de terminaison d’OpenAI lors de l’utilisation d’appels REST directs ou avec l’un des Le SDK officiel d’OpenAI. Par exemple, si vous disposez d’un programme utilisant le SDK OpenAI, par exemple en Python, vous pouvez remplacer son code d’initialisation comme indiqué dans l’extrait suivant pour utiliser les modèles de Google au lieu de ceux d’OpenAI :


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

Remarquez comment vous devrez fournir une clé API Gemini, soit dans le code, soit via le OPENAI_API_KEY variable d’environnement. Pour générer du texte, vous pouvez utiliser le API de complétion de chat comme indiqué ci-dessous, où vous spécifiez le nom du modèle Gemini que vous souhaitez utiliser :


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)

Le nouveau point de terminaison Gemini prend également en charge API d’intégration d’OpenAIutilisé pour mesurer la relation entre les chaînes de texte. En bref, l’API Embeddings mappe le texte dans un vecteur de nombres à virgule flottante que vous pouvez utiliser pour rechercher une valeur spécifique, regrouper le texte en clusters, détecter des anomalies, faire des recommandations, etc. L’extrait suivant montre comment vous pouvez l’utiliser sur Gemini avec le SDK OpenAI :


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

print(response.data[0].embedding)

Pour le moment, l’API Chat Completions et l’API Embeddings sont les deux seules fonctionnalités OpenAI que vous pouvez utiliser sur les modèles Gemini via le nouveau openai point final. De plus, le téléchargement d’images et la sortie structurée n’ont qu’une prise en charge limitée. Google indique qu’il prévoit également d’ajouter davantage de fonctionnalités OpenAI pour faciliter l’adoption de Gemini en remplacement d’OpenAI sur les solutions existantes, mais on ne sait pas exactement dans quel délai.

Commentateurs Reddit a salué la décision de Google comme une solution de contournement pour verrouiller les utilisateurs de l’API d’OpenAI, même si cela est encore loin d’avoir une API standard permettant de passer facilement d’un fournisseur de modèles à un autre.

Dans le cadre d’une approche plus générique, le projet vLLM vise à soutenir un variété de modèles génératifs et intégrés et fournit un Serveur compatible OpenAI. Avec vLLM, vous pouvez utiliser Mistral, Llama, Llava et bien d’autres modèles majeurs actuellement disponibles.



Source link