Google ha anunciado recientemente el lanzamiento de un nuevo punto final para su API Gemini, diseñado para facilitar la transición a Gemini para los desarrolladores que ya utilizan soluciones de OpenAI. Este nuevo punto final se encuentra actualmente en fase de prueba y solo admite una parte de las funciones de OpenAI.
Según Google, este nuevo punto final puede reemplazar los puntos finales de OpenAI utilizando llamadas REST directas o el SDK oficial de OpenAI. Por ejemplo, si tiene un programa escrito con el SDK de OpenAI (como Python), puede cambiar la inicialización para usar el modelo de Google con el siguiente código:
from openai import OpenAI
client = OpenAI(
api_key="gemini_api_key",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
En el código, el desarrollador debe proporcionar la clave de API de Gemini, la cual puede escribirse directamente en el código o pasarse a través de la variable de entorno OPENAI_API_KEY. Para generar texto, se puede utilizar la API de compleción de chat, como se muestra a continuación, especificando el nombre del modelo Gemini que se desea utilizar:
response = client.chat.completions.create(
model="gemini-1.5-flash",
n=1,
messages=[
{"role": "system", "content": "Eres un asistente útil."},
{
"role": "user",
"content": "Explícame cómo funciona la IA"
}
]
)
print(response.choices[0].message)
Además, el nuevo punto final de Gemini también admite la API de incrustaciones de OpenAI, que se utiliza para medir la correlación entre cadenas de texto. En resumen, la API de incrustaciones mapea el texto a un vector de números de punto flotante, que los desarrolladores pueden utilizar para buscar valores específicos, agrupar textos, detectar anomalías y ofrecer recomendaciones, entre otras cosas. El siguiente fragmento de código muestra cómo utilizar esta función en Gemini:
response = client.embeddings.create(
input="Su cadena de texto aquí",
model="text-embedding-004"
)
print(response.data[0].embedding)
Actualmente, la API de compleción de chat y la API de incrustaciones son las únicas funciones de OpenAI que se pueden utilizar en los modelos Gemini a través del nuevo punto final de OpenAI. Además, la compatibilidad con la carga de imágenes y la salida estructurada es limitada. Google afirma que planea agregar más funciones de OpenAI para que los desarrolladores puedan utilizar Gemini como una alternativa a OpenAI más fácilmente, pero el plazo no está claro.
En las discusiones de Reddit, los comentaristas han elogiado esta iniciativa de Google, considerando que ofrece a los usuarios de la API de OpenAI una solución para evitar el bloqueo, aunque queda un largo camino por recorrer para lograr una API estándar que facilite la transición entre diferentes proveedores de modelos.
Como método más general, el proyecto vLLM tiene como objetivo admitir varios modelos de generación e incrustación y proporcionar un servidor compatible con OpenAI. Con vLLM, los desarrolladores pueden utilizar Mistral, Llama, Llava y muchos otros modelos principales disponibles actualmente.
Presentación oficial: https://developers.googleblog.com/en/gemini-is-now-accessible-from-the-openai-library/
Puntos clave:
🌟 Google lanza un nuevo punto final de la API Gemini para facilitar la transición a Gemini para los desarrolladores.
🔑 El nuevo punto final admite las API de compleción de chat y de incrustaciones de OpenAI, pero las funciones aún son incompletas.
🛠️ El proyecto vLLM admite varios modelos, mejorando la flexibilidad de la API.