Puedes acceder a los modelos de Gemini con las bibliotecas de OpenAI (Python y TypeScript / JavaScript) junto con la API de REST. Para ello, actualiza tres líneas de código y usa tu clave de API de Gemini. Obtén más información sobre esta función en la guía de compatibilidad.
Método: chatCompletions
Genera un conjunto de respuestas del modelo a partir de una entrada de historial de chat.
Extremo
publicaciónhttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
model
string
Obligatorio. Es el nombre del Model
que se usará para generar la finalización. El nombre del modelo tendrá el prefijo "models/" si no aparece una barra diagonal.
messages[]
object (Struct
format)
Obligatorio. Es el historial de chat que se usará para generar la finalización. Admite consultas de una o varias instrucciones. Nota: Este es un campo polimórfico que se deserializa en un InternalChatMessage.
stream
boolean
Opcional. Indica si se debe transmitir la respuesta o mostrar una sola respuesta.
Si es verdadero, el campo "object" en la respuesta será "chat.completion.chunk". De lo contrario, será "chat.completion".
streamOptions
object (StreamOptions
)
Opcional. Son opciones para las solicitudes de transmisión.
tools[]
object (ChatTool
)
Opcional. Es el conjunto de herramientas para las que el modelo puede generar llamadas. Cada herramienta declara su firma.
toolChoice
value (Value
format)
Opcional. Controla si el modelo debe usar una herramienta o no, y qué herramienta usar. Puede ser una de las siguientes opciones: - La cadena "none" para inhabilitar las herramientas. - La cadena "auto" para permitir que el modelo decida. - La cadena "required" para forzar al modelo a usar una herramienta. - Un objeto descriptor de nombre de función que especifica la herramienta que se usará. La última opción sigue el siguiente esquema: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opcional. Cantidad de finalizaciones de candidatos que se generarán. Debe ser un número entero positivo. Si la opción no está configurada, se establece en 1 de forma predeterminada.
stop
value (Value
format)
Opcional. Es el conjunto de secuencias de caracteres que detendrán la generación de resultados. Nota: Este es un campo polimórfico. Debe contener una cadena o cadenas repetidas.
maxCompletionTokens
integer
Opcional. Es la cantidad máxima de tokens que se pueden incluir en una respuesta candidata. Debe ser un número entero positivo.
maxTokens
integer
Opcional. Es la cantidad máxima de tokens que se pueden incluir en una respuesta candidata. Debe ser un número entero positivo. El SDK dejó de usar este campo.
temperature
number
Opcional. Controla la aleatoriedad del resultado.
topP
number
Opcional. Es la probabilidad acumulativa máxima de los tokens que se deben tener en cuenta cuando se realiza el muestreo.
responseFormat
object (ResponseFormat
)
Opcional. Define el formato de la respuesta. Si no se establece, la respuesta tendrá formato de texto.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, la respuesta es una respuesta HTTP genérica, y el método define su formato.
Método: embeddings
Genera incorporaciones del modelo a partir de una entrada.
Extremo
publicaciónhttps: / /generativelanguage.googleapis.com /v1beta /embeddings
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
input
value (Value
format)
Obligatorio. La entrada para la que se generarán las incorporaciones. Puede ser una cadena o una lista de cadenas. El SDK admite una lista de números y una lista de listas de números, pero aún no se implementó.
model
string
Obligatorio. Es el modelo para el que se generarán las incorporaciones.
encodingFormat
string
Opcional. Es el formato de la codificación. Debe ser "float" o "base64".
dimensions
integer
Opcional. Es el tamaño dimensional de las incorporaciones generadas.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de GenerateEmbeddingsResponse
.
Método: listModels
Muestra una lista de los modelos disponibles actualmente.
Extremo
gethttps: / /generativelanguage.googleapis.com /v1beta /listModels
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de SdkListModelsResponse
.
Método: chat.completions
Genera un conjunto de respuestas del modelo a partir de una entrada de historial de chat.
Extremo
publicaciónhttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
model
string
Obligatorio. Es el nombre del Model
que se usará para generar la finalización. El nombre del modelo tendrá el prefijo "models/" si no aparece una barra diagonal.
messages[]
object (Struct
format)
Obligatorio. Es el historial de chat que se usará para generar la finalización. Admite consultas de una o varias instrucciones. Nota: Este es un campo polimórfico que se deserializa en un InternalChatMessage.
stream
boolean
Opcional. Indica si se debe transmitir la respuesta o mostrar una sola respuesta.
Si es verdadero, el campo "object" en la respuesta será "chat.completion.chunk". De lo contrario, será "chat.completion".
streamOptions
object (StreamOptions
)
Opcional. Son opciones para las solicitudes de transmisión.
tools[]
object (ChatTool
)
Opcional. Es el conjunto de herramientas para las que el modelo puede generar llamadas. Cada herramienta declara su firma.
toolChoice
value (Value
format)
Opcional. Controla si el modelo debe usar una herramienta o no, y qué herramienta usar. Puede ser una de las siguientes opciones: - La cadena "none" para inhabilitar las herramientas. - La cadena "auto" para permitir que el modelo decida. - La cadena "required" para forzar al modelo a usar una herramienta. - Un objeto descriptor de nombre de función que especifica la herramienta que se usará. La última opción sigue el siguiente esquema: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opcional. Cantidad de finalizaciones de candidatos que se generarán. Debe ser un número entero positivo. Si la opción no está configurada, se establece en 1 de forma predeterminada.
stop
value (Value
format)
Opcional. Es el conjunto de secuencias de caracteres que detendrán la generación de resultados. Nota: Este es un campo polimórfico. Debe contener una cadena o cadenas repetidas.
maxCompletionTokens
integer
Opcional. Es la cantidad máxima de tokens que se pueden incluir en una respuesta candidata. Debe ser un número entero positivo.
maxTokens
integer
Opcional. Es la cantidad máxima de tokens que se pueden incluir en una respuesta candidata. Debe ser un número entero positivo. El SDK dejó de usar este campo.
temperature
number
Opcional. Controla la aleatoriedad del resultado.
topP
number
Opcional. Es la probabilidad acumulativa máxima de los tokens que se deben tener en cuenta cuando se realiza el muestreo.
responseFormat
object (ResponseFormat
)
Opcional. Define el formato de la respuesta. Si no se establece, la respuesta tendrá formato de texto.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, la respuesta es una respuesta HTTP genérica, y el método define su formato.
Método: embeddings.generate
Genera incorporaciones del modelo a partir de una entrada.
Extremo
publicaciónhttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
input
value (Value
format)
Obligatorio. La entrada para la que se generarán las incorporaciones. Puede ser una cadena o una lista de cadenas. El SDK admite una lista de números y una lista de listas de números, pero aún no se implementó.
model
string
Obligatorio. Es el modelo para el que se generarán las incorporaciones.
encodingFormat
string
Opcional. Es el formato de la codificación. Debe ser "float" o "base64".
dimensions
integer
Opcional. Es el tamaño dimensional de las incorporaciones generadas.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de GenerateEmbeddingsResponse
.
Método: openai.chat.completions
Genera un conjunto de respuestas del modelo a partir de una entrada de historial de chat.
Extremo
publicaciónhttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
model
string
Obligatorio. Es el nombre del Model
que se usará para generar la finalización. El nombre del modelo tendrá el prefijo "models/" si no aparece una barra diagonal.
messages[]
object (Struct
format)
Obligatorio. Es el historial de chat que se usará para generar la finalización. Admite consultas de una o varias instrucciones. Nota: Este es un campo polimórfico que se deserializa en un InternalChatMessage.
stream
boolean
Opcional. Indica si se debe transmitir la respuesta o mostrar una sola respuesta.
Si es verdadero, el campo "object" en la respuesta será "chat.completion.chunk". De lo contrario, será "chat.completion".
streamOptions
object (StreamOptions
)
Opcional. Son opciones para las solicitudes de transmisión.
tools[]
object (ChatTool
)
Opcional. Es el conjunto de herramientas para las que el modelo puede generar llamadas. Cada herramienta declara su firma.
toolChoice
value (Value
format)
Opcional. Controla si el modelo debe usar una herramienta o no, y qué herramienta usar. Puede ser una de las siguientes opciones: - La cadena "none" para inhabilitar las herramientas. - La cadena "auto" para permitir que el modelo decida. - La cadena "required" para forzar al modelo a usar una herramienta. - Un objeto descriptor de nombre de función que especifica la herramienta que se usará. La última opción sigue el siguiente esquema: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opcional. Cantidad de finalizaciones de candidatos que se generarán. Debe ser un número entero positivo. Si la opción no está configurada, se establece en 1 de forma predeterminada.
stop
value (Value
format)
Opcional. Es el conjunto de secuencias de caracteres que detendrán la generación de resultados. Nota: Este es un campo polimórfico. Debe contener una cadena o cadenas repetidas.
maxCompletionTokens
integer
Opcional. Es la cantidad máxima de tokens que se pueden incluir en una respuesta candidata. Debe ser un número entero positivo.
maxTokens
integer
Opcional. Es la cantidad máxima de tokens que se pueden incluir en una respuesta candidata. Debe ser un número entero positivo. El SDK dejó de usar este campo.
temperature
number
Opcional. Controla la aleatoriedad del resultado.
topP
number
Opcional. Es la probabilidad acumulativa máxima de los tokens que se deben tener en cuenta cuando se realiza el muestreo.
responseFormat
object (ResponseFormat
)
Opcional. Define el formato de la respuesta. Si no se establece, la respuesta tendrá formato de texto.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, la respuesta es una respuesta HTTP genérica, y el método define su formato.
Método: openai.embeddings
Genera incorporaciones del modelo a partir de una entrada.
Extremo
publicaciónhttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
input
value (Value
format)
Obligatorio. La entrada para la que se generarán las incorporaciones. Puede ser una cadena o una lista de cadenas. El SDK admite una lista de números y una lista de listas de números, pero aún no se implementó.
model
string
Obligatorio. Es el modelo para el que se generarán las incorporaciones.
encodingFormat
string
Opcional. Es el formato de la codificación. Debe ser "float" o "base64".
dimensions
integer
Opcional. Es el tamaño dimensional de las incorporaciones generadas.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de GenerateEmbeddingsResponse
.
Método: openai.models
Muestra una lista de los modelos disponibles actualmente.
Extremo
gethttps: / /generativelanguage.googleapis.com /v1beta /openai /models
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de SdkListModelsResponse
.
ChatTool
Es una herramienta para la que el modelo puede generar llamadas.
function
object (ChatFunction
)
Obligatorio. Es el nombre de la herramienta.
type
string
Obligatorio. Obligatorio, debe ser "function".
Representación JSON |
---|
{
"function": {
object ( |
ChatFunction
Es una función para la que el modelo puede generar llamadas.
name
string
Obligatorio. Es el nombre de la función.
description
string
Opcional. Es una descripción de la función.
parameters
object (Struct
format)
Opcional. Los parámetros de la función.
strict
boolean
Opcional. Indica si la validación del esquema es estricta. Si es verdadero, el modelo fallará si el esquema no es válido. NOTA: Actualmente, se ignora este parámetro.
Representación JSON |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
Es la respuesta para la generación de incorporaciones.
object
string
Solo salida. Siempre se "incorpora", lo que es obligatorio para el SDK.
data[]
object (GenerateEmbeddingsEmbedding
)
Solo salida. Es una lista de las incorporaciones solicitadas.
model
string
Solo salida. Es el modelo que se usa para generar las incorporaciones.
Representación JSON |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
Un vector de incorporación que genera el modelo.
object
string
Solo salida. Siempre se "incorpora", lo que es obligatorio para el SDK.
index
integer
Solo salida. Es el índice de la incorporación en la lista de incorporaciones.
embedding
value (Value
format)
Solo salida. El vector de incorporación generado para la entrada. Puede ser una lista de números de punto flotante o una cadena en base64 que codifique una lista de números de punto flotante con diseño de estilo C (compatible con Numpy).
Representación JSON |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
Mensaje que representa un cuerpo HTTP arbitrario. Solo debería usarse para formatos de carga útil que no pueden representarse como JSON, por ejemplo, datos binarios sin procesar o una página HTML.
Este mensaje se puede usar en métodos de API de transmisión y de no transmisión, en la solicitud y en la respuesta.
Se puede usar como campo de solicitud de alto nivel, que es conveniente si alguien quiere extraer parámetros de la plantilla de URL o HTTP para los campos de solicitudes y también quiere acceder al cuerpo HTTP sin procesar.
Ejemplo:
message GetResourceRequest {
// A unique request id.
string requestId = 1;
// The raw HTTP body is bound to this field.
google.api.HttpBody http_body = 2;
}
service ResourceService {
rpc GetResource(GetResourceRequest)
returns (google.api.HttpBody);
rpc UpdateResource(google.api.HttpBody)
returns (google.protobuf.Empty);
}
Ejemplo con métodos de transmisión:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
El uso de este tipo solo cambia la manera en que se manejan los cuerpos de la solicitud y la respuesta. Las demás funciones seguirán funcionando sin cambios.
contentType
string
El valor del encabezado HTTP de Content-Type que especifica el tipo de contenido del cuerpo.
data
string (bytes format)
El cuerpo de la solicitud/respuesta HTTP como objeto binario sin procesar.
String codificada en base 64.
extensions[]
object
Metadatos de la respuesta específica de la aplicación. Se deben configurar en la primera respuesta para las API de transmisión.
Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type"
contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Representación JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
Define el formato de la respuesta.
type
string
Obligatorio. Es el tipo de respuesta. Puede ser "text": Da formato a la respuesta como texto. - "json_object": Da formato a la respuesta como un objeto JSON. - "jsonSchema": Da formato a la respuesta como un objeto JSON siguiendo el esquema determinado.
jsonSchema
object (ResponseFormatSchema
)
Opcional. Es el esquema JSON que se debe seguir. Solo se usa si el tipo es "jsonSchema".
Representación JSON |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
Esquema de la respuesta.
description
string
Opcional. Descripción del objeto que representa el esquema.
name
string
Obligatorio. Es el nombre del tipo de objeto que representa el esquema.
strict
boolean
Opcional. Indica si la validación del esquema es estricta. Si es verdadero, el modelo fallará si el esquema no es válido. NOTA: Actualmente, se ignora este parámetro.
schema
object (Struct
format)
Opcional. Es el esquema JSON que se debe seguir.
Representación JSON |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
Respuesta para los modelos de lista.
object
string
Solo salida. Siempre es "list", que es obligatorio para el SDK.
data[]
object (SdkModel
)
Solo salida. Es una lista de las incorporaciones solicitadas.
Representación JSON |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
Es el objeto del modelo.
id
string
Solo salida. Es el ID del modelo.
object
string
Solo salida. Siempre es "model", que es obligatorio para el SDK.
created
string (int64 format)
Solo salida. La marca de tiempo de Unix (en segundos) cuando se creó el modelo.
owned_by
string
Solo salida. La organización propietaria del modelo.
Representación JSON |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |