OpenAI compatibility

Sie können auf Gemini-Modelle mit den OpenAI-Bibliotheken (Python und TypeScript / JavaScript) und der REST API zugreifen. Dazu müssen Sie drei Codezeilen aktualisieren und Ihren Gemini API-Schlüssel verwenden. Weitere Informationen zu dieser Funktion finden Sie im Kompatibilitätsleitfaden.

Methode: chatCompletions

Er generiert eine Reihe von Antworten aus dem Modell, die auf einen eingegebenen Chatverlauf basieren.

Endpunkt

Beitrag https://generativelanguage.googleapis.com/v1beta:chatCompletions

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
model string

Erforderlich. Der Name des Model, der für die Generierung der Vervollständigung verwendet werden soll. Wenn der Modellname keinen Schrägstrich enthält, wird ihm „models/“ vorangestellt.

messages[] object (Struct format)

Erforderlich. Der Chatverlauf, der für die Vervollständigung verwendet werden soll. Unterstützt Abfragen mit einer und mehreren Anweisungen. Hinweis: Dieses Feld ist polymorph und wird in eine InternalChatMessage-Instanz deserialisiert.

stream boolean

Optional. Gibt an, ob die Antwort gestreamt oder eine einzelne Antwort zurückgegeben werden soll.

Wenn „true“ ist, enthält das Feld „object“ in der Antwort „chat.completion.chunk“. Andernfalls ist es „chat.completion“.

streamOptions object (StreamOptions)

Optional. Optionen für Streaminganfragen.

tools[] object (ChatTool)

Optional. Die Tools, für die das Modell Aufrufe generieren kann. Jedes Tool deklariert seine Signatur.

toolChoice value (Value format)

Optional. Hier legen Sie fest, ob ein Tool verwendet werden soll und welches Tool verwendet werden soll. Kann folgende Werte haben: – „auto“, damit das Modell die Entscheidung trifft. – Der String „required“, um das Modell zur Verwendung eines Tools zu zwingen. – Ein Deskriptorobjekt für den Funktionsnamen, das das zu verwendende Tool angibt. Die letzte Option folgt dem folgenden Schema: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

Optional. Anzahl der zu generierenden möglichen Endungen. Muss eine positive Ganzzahl sein. Wenn kein Wert festgelegt ist, wird der Standardwert 1 verwendet.

stop value (Value format)

Optional. Die Zeichenfolgen, die die Ausgabegenerierung beenden. Hinweis: Dies ist ein polymorphes Feld. Er soll einen String oder wiederholte Strings enthalten.

maxCompletionTokens integer

Optional. Die maximale Anzahl von Tokens, die in einem Antwortkandidaten enthalten sein sollen. Muss eine positive Ganzzahl sein.

maxTokens integer

Optional. Die maximale Anzahl von Tokens, die in einem Antwortkandidaten enthalten sein sollen. Muss eine positive Ganzzahl sein. Dieses Feld wird vom SDK nicht mehr unterstützt.

temperature number

Optional. Steuert die Zufälligkeit der Ausgabe.

topP number

Optional. Die maximale kumulative Wahrscheinlichkeit von Tokens, die bei der Stichprobenerhebung berücksichtigt werden sollen.

responseFormat object (ResponseFormat)

Optional. Definiert das Format der Antwort. Wenn dieser Wert nicht festgelegt ist, wird die Antwort als Text formatiert.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, ist die Antwort eine allgemeine HTTP-Antwort, deren Format von der Methode vorgegeben wird.

Methode: embeddings

Generiert Einbettungen aus dem Modell anhand einer Eingabe.

Endpunkt

Beitrag https://generativelanguage.googleapis.com/v1beta/embeddings

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
input value (Value format)

Erforderlich. Die Eingabe, für die Einbettungen generiert werden sollen. Kann ein String oder eine Liste von Strings sein. Das SDK unterstützt Listen mit Zahlen und Listen von Listen mit Zahlen, diese Funktion ist aber noch nicht implementiert.

model string

Erforderlich. Modell, für das die Einbettungen generiert werden sollen.

encodingFormat string

Optional. Das Codierungsformat. Muss entweder „float“ oder „base64“ sein.

dimensions integer

Optional. Die Dimension der generierten Einbettungen.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von GenerateEmbeddingsResponse.

Methode: listModels

Liste der derzeit verfügbaren Modelle.

Endpunkt

get https://generativelanguage.googleapis.com/v1beta/listModels

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von SdkListModelsResponse.

Methode: chat.completions

Er generiert eine Reihe von Antworten aus dem Modell, die auf einen eingegebenen Chatverlauf basieren.

Endpunkt

Beitrag https://generativelanguage.googleapis.com/v1beta/chat/completions

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
model string

Erforderlich. Der Name des Model, der für die Generierung der Vervollständigung verwendet werden soll. Wenn der Modellname keinen Schrägstrich enthält, wird ihm „models/“ vorangestellt.

messages[] object (Struct format)

Erforderlich. Der Chatverlauf, der für die Vervollständigung verwendet werden soll. Unterstützt Abfragen mit einer und mehreren Anweisungen. Hinweis: Dieses Feld ist polymorph und wird in eine InternalChatMessage-Instanz deserialisiert.

stream boolean

Optional. Gibt an, ob die Antwort gestreamt oder eine einzelne Antwort zurückgegeben werden soll.

Wenn „true“ ist, enthält das Feld „object“ in der Antwort „chat.completion.chunk“. Andernfalls ist es „chat.completion“.

streamOptions object (StreamOptions)

Optional. Optionen für Streaminganfragen.

tools[] object (ChatTool)

Optional. Die Tools, für die das Modell Aufrufe generieren kann. Jedes Tool deklariert seine Signatur.

toolChoice value (Value format)

Optional. Hier legen Sie fest, ob ein Tool verwendet werden soll und welches Tool verwendet werden soll. Kann folgende Werte haben: – „auto“, damit das Modell die Entscheidung trifft. – Der String „required“, um das Modell zur Verwendung eines Tools zu zwingen. – Ein Deskriptorobjekt für den Funktionsnamen, das das zu verwendende Tool angibt. Die letzte Option folgt dem folgenden Schema: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

Optional. Anzahl der zu generierenden möglichen Endungen. Muss eine positive Ganzzahl sein. Wenn kein Wert festgelegt ist, wird der Standardwert 1 verwendet.

stop value (Value format)

Optional. Die Zeichenfolgen, die die Ausgabegenerierung beenden. Hinweis: Dies ist ein polymorphes Feld. Er soll einen String oder wiederholte Strings enthalten.

maxCompletionTokens integer

Optional. Die maximale Anzahl von Tokens, die in einem Antwortkandidaten enthalten sein sollen. Muss eine positive Ganzzahl sein.

maxTokens integer

Optional. Die maximale Anzahl von Tokens, die in einem Antwortkandidaten enthalten sein sollen. Muss eine positive Ganzzahl sein. Dieses Feld wird vom SDK nicht mehr unterstützt.

temperature number

Optional. Steuert die Zufälligkeit der Ausgabe.

topP number

Optional. Die maximale kumulative Wahrscheinlichkeit von Tokens, die bei der Stichprobenerhebung berücksichtigt werden sollen.

responseFormat object (ResponseFormat)

Optional. Definiert das Format der Antwort. Wenn dieser Wert nicht festgelegt ist, wird die Antwort als Text formatiert.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, ist die Antwort eine allgemeine HTTP-Antwort, deren Format von der Methode vorgegeben wird.

Methode: embeddings.generate

Generiert Einbettungen aus dem Modell anhand einer Eingabe.

Endpunkt

Beitrag https://generativelanguage.googleapis.com/v1beta/embeddings:generate

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
input value (Value format)

Erforderlich. Die Eingabe, für die Einbettungen generiert werden sollen. Kann ein String oder eine Liste von Strings sein. Das SDK unterstützt Listen mit Zahlen und Listen von Listen mit Zahlen, diese Funktion ist aber noch nicht implementiert.

model string

Erforderlich. Modell, für das die Einbettungen generiert werden sollen.

encodingFormat string

Optional. Das Codierungsformat. Muss entweder „float“ oder „base64“ sein.

dimensions integer

Optional. Die Dimension der generierten Einbettungen.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von GenerateEmbeddingsResponse.

Methode: openai.chat.completions

Er generiert eine Reihe von Antworten aus dem Modell, die auf einen eingegebenen Chatverlauf basieren.

Endpunkt

Beitrag https://generativelanguage.googleapis.com/v1beta/openai/chat/completions

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
model string

Erforderlich. Der Name des Model, der für die Generierung der Vervollständigung verwendet werden soll. Wenn der Modellname keinen Schrägstrich enthält, wird ihm „models/“ vorangestellt.

messages[] object (Struct format)

Erforderlich. Der Chatverlauf, der für die Vervollständigung verwendet werden soll. Unterstützt Abfragen mit einer und mehreren Anweisungen. Hinweis: Dieses Feld ist polymorph und wird in eine InternalChatMessage-Instanz deserialisiert.

stream boolean

Optional. Gibt an, ob die Antwort gestreamt oder eine einzelne Antwort zurückgegeben werden soll.

Wenn „true“ ist, enthält das Feld „object“ in der Antwort „chat.completion.chunk“. Andernfalls ist es „chat.completion“.

streamOptions object (StreamOptions)

Optional. Optionen für Streaminganfragen.

tools[] object (ChatTool)

Optional. Die Tools, für die das Modell Aufrufe generieren kann. Jedes Tool deklariert seine Signatur.

toolChoice value (Value format)

Optional. Hier legen Sie fest, ob ein Tool verwendet werden soll und welches Tool verwendet werden soll. Kann folgende Werte haben: – „auto“, damit das Modell die Entscheidung trifft. – Der String „required“, um das Modell zur Verwendung eines Tools zu zwingen. – Ein Deskriptorobjekt für den Funktionsnamen, das das zu verwendende Tool angibt. Die letzte Option folgt dem folgenden Schema: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

Optional. Anzahl der zu generierenden möglichen Endungen. Muss eine positive Ganzzahl sein. Wenn kein Wert festgelegt ist, wird der Standardwert 1 verwendet.

stop value (Value format)

Optional. Die Zeichenfolgen, die die Ausgabegenerierung beenden. Hinweis: Dies ist ein polymorphes Feld. Er soll einen String oder wiederholte Strings enthalten.

maxCompletionTokens integer

Optional. Die maximale Anzahl von Tokens, die in einem Antwortkandidaten enthalten sein sollen. Muss eine positive Ganzzahl sein.

maxTokens integer

Optional. Die maximale Anzahl von Tokens, die in einem Antwortkandidaten enthalten sein sollen. Muss eine positive Ganzzahl sein. Dieses Feld wird vom SDK nicht mehr unterstützt.

temperature number

Optional. Steuert die Zufälligkeit der Ausgabe.

topP number

Optional. Die maximale kumulative Wahrscheinlichkeit von Tokens, die bei der Stichprobenerhebung berücksichtigt werden sollen.

responseFormat object (ResponseFormat)

Optional. Definiert das Format der Antwort. Wenn dieser Wert nicht festgelegt ist, wird die Antwort als Text formatiert.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, ist die Antwort eine allgemeine HTTP-Antwort, deren Format von der Methode vorgegeben wird.

Methode: openai.embeddings

Generiert Einbettungen aus dem Modell anhand einer Eingabe.

Endpunkt

Beitrag https://generativelanguage.googleapis.com/v1beta/openai/embeddings

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
input value (Value format)

Erforderlich. Die Eingabe, für die Einbettungen generiert werden sollen. Kann ein String oder eine Liste von Strings sein. Das SDK unterstützt Listen mit Zahlen und Listen von Listen mit Zahlen, diese Funktion ist aber noch nicht implementiert.

model string

Erforderlich. Modell, für das die Einbettungen generiert werden sollen.

encodingFormat string

Optional. Das Codierungsformat. Muss entweder „float“ oder „base64“ sein.

dimensions integer

Optional. Die Dimension der generierten Einbettungen.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von GenerateEmbeddingsResponse.

Methode: openai.models

Liste der derzeit verfügbaren Modelle.

Endpunkt

get https://generativelanguage.googleapis.com/v1beta/openai/models

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von SdkListModelsResponse.

ChatTool

Ein Tool, für das das Modell Aufrufe generieren kann.

Felder
function object (ChatFunction)

Erforderlich. Der Name des Tools.

type string

Erforderlich. Erforderlich, muss „function“ sein.

JSON-Darstellung
{
  "function": {
    object (ChatFunction)
  },
  "type": string
}

ChatFunction

Eine Funktion, für die das Modell Aufrufe generieren kann.

Felder
name string

Erforderlich. Der Name der Funktion.

description string

Optional. Eine Beschreibung der Funktion.

parameters object (Struct format)

Optional. Die Parameter der Funktion.

strict boolean

Optional. Gibt an, ob die Schemavalidierung streng ist. Wenn diese Option aktiviert ist, schlägt das Modell fehl, wenn das Schema ungültig ist. HINWEIS: Dieser Parameter wird derzeit ignoriert.

JSON-Darstellung
{
  "name": string,
  "description": string,
  "parameters": {
    object
  },
  "strict": boolean
}

GenerateEmbeddingsResponse

Antwort für die Erstellung von Einbettungen.

Felder
object string

Nur Ausgabe. Immer „Einbetten“, vom SDK erforderlich.

data[] object (GenerateEmbeddingsEmbedding)

Nur Ausgabe. Eine Liste der angeforderten Einbettungen.

model string

Nur Ausgabe. Modell, das zum Generieren der Einbettungen verwendet wird.

JSON-Darstellung
{
  "object": string,
  "data": [
    {
      object (GenerateEmbeddingsEmbedding)
    }
  ],
  "model": string
}

GenerateEmbeddingsEmbedding

Ein vom Modell generierter Einbettungsvektor.

Felder
object string

Nur Ausgabe. Immer „embedding“, vom SDK erforderlich.

index integer

Nur Ausgabe. Index der Einbettung in der Liste der Einbettungen.

embedding value (Value format)

Nur Ausgabe. Der für die Eingabe generierte Einbettungsvektor. Kann entweder eine Liste von Gleitkommazahlen oder ein Base64-String sein, der eine Liste von Gleitkommazahlen im C-Format codiert (Numpy-kompatibel).

JSON-Darstellung
{
  "object": string,
  "index": integer,
  "embedding": value
}

HttpBody

Diese Nachricht repräsentiert einen beliebigen HTTP-Text. Sie sollte nur für Payload-Formate verwendet werden, die nicht als JSON dargestellt werden können, z. B. binäre Rohdaten oder eine HTML-Seite.

Diese Nachricht kann sowohl für Streaming- als auch Nicht-Streaming-API-Methoden in der Anfrage sowie in der Antwort verwendet werden.

Diese Nachricht kann als übergeordnetes Anfragefeld verwendet werden. Das ist praktisch, wenn du Parameter aus der URL- oder HTTP-Vorlage in die Anfragefelder extrahierst und auch auf die Rohdaten des HTTP-Hauptteils zugreifen möchtest.

Beispiel:

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);

}

Beispiel mit Streaming-Methoden:

service CaldavService {
  rpc GetCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);
  rpc UpdateCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);

}

Durch die Verwendung dieses Typs wird nur die Art und Weise geändert, wie der Anfrage- und Antwort-Nachrichtenkörper gehandhabt wird. Alle anderen Funktionen bleiben unverändert.

Felder
contentType string

Der HTTP Content-Type-Headerwert, der den Inhaltstyp des Textes angibt.

data string (bytes format)

Der HTTP-Anfrage-/Antworttext als Rohbinärdatei.

Ein base64-codierter String

extensions[] object

Anwendungsspezifische Antwortmetadaten. Sie müssen in der ersten Antwort für Streaming-APIs festgelegt werden.

Ein Objekt mit Feldern eines beliebigen Typs. Ein zusätzliches Feld "@type" enthält einen URI zur Identifizierung des Typs. Beispiel: { "id": 1234, "@type": "types.example.com/standard/id" }.

JSON-Darstellung
{
  "contentType": string,
  "data": string,
  "extensions": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}

ResponseFormat

Definiert das Format der Antwort.

Felder
type string

Erforderlich. Typ der Antwort. Kann Folgendes sein: - „text“: Die Antwort wird als Text formatiert. – „json_object“: Die Antwort wird als JSON-Objekt formatiert. – „jsonSchema“: Die Antwort wird als JSON-Objekt im angegebenen Schema formatiert.

jsonSchema object (ResponseFormatSchema)

Optional. Das JSON-Schema, das eingehalten werden soll. Wird nur verwendet, wenn „type“ „jsonSchema“ ist.

JSON-Darstellung
{
  "type": string,
  "jsonSchema": {
    object (ResponseFormatSchema)
  }
}

ResponseFormatSchema

Schema für die Antwort.

Felder
description string

Optional. Beschreibung des Objekts, das durch das Schema dargestellt wird.

name string

Erforderlich. Name des Objekttyps, der durch das Schema dargestellt wird.

strict boolean

Optional. Gibt an, ob die Schemavalidierung streng ist. Wenn diese Option aktiviert ist, schlägt das Modell fehl, wenn das Schema ungültig ist. HINWEIS: Dieser Parameter wird derzeit ignoriert.

schema object (Struct format)

Optional. Das JSON-Schema, das eingehalten werden soll.

JSON-Darstellung
{
  "description": string,
  "name": string,
  "strict": boolean,
  "schema": {
    object
  }
}

SdkListModelsResponse

Antwort für Listenmodelle.

Felder
object string

Nur Ausgabe. Immer „list“, vom SDK erforderlich.

data[] object (SdkModel)

Nur Ausgabe. Eine Liste der angeforderten Einbettungen.

JSON-Darstellung
{
  "object": string,
  "data": [
    {
      object (SdkModel)
    }
  ]
}

SdkModel

Das Modellobjekt.

Felder
id string

Nur Ausgabe. Die ID des Modells.

object string

Nur Ausgabe. Immer „model“, vom SDK erforderlich.

created string (int64 format)

Nur Ausgabe. Der Unix-Zeitstempel (in Sekunden), zu dem das Modell erstellt wurde.

owned_by string

Nur Ausgabe. Die Organisation, der das Modell gehört.

JSON-Darstellung
{
  "id": string,
  "object": string,
  "created": string,
  "owned_by": string
}

StreamOptions

Optionen für Streaminganfragen.

Felder
includeUsage boolean

Optional. Wenn festgelegt, werden Nutzungsstatistiken in die Antwort eingefügt.

JSON-Darstellung
{
  "includeUsage": boolean
}