Modele Gemini są dostępne za pomocą bibliotek OpenAI (Python i TypeScript / Javascript) oraz interfejsu REST API. Aby zaktualizować 3 linie kodu i użyć klucza Gemini API, wykonaj te czynności: Więcej informacji o tej funkcji znajdziesz w przewodniku po zgodności.
Metoda: chatCompletions
Generuje zestaw odpowiedzi modelu na podstawie danych wejściowych z historii czatu.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
model
string
Wymagane. Nazwa Model
, która ma być użyta do wygenerowania zakończenia. Jeśli nazwa modelu nie zawiera znaku ukośnika, przed nazwą modelu będzie dopisany ciąg „models/”.
messages[]
object (Struct
format)
Wymagane. Historia czatu, która ma posłużyć do wygenerowania zakończenia. Obsługuje pojedyncze i wielokrotnie przetwarzane zapytania. Uwaga: to pole jest polimorficzne i jest deserializowane do obiektu InternalChatMessage.
stream
boolean
Opcjonalnie: Określa, czy odpowiedź ma być przesyłana strumieniowo, czy zwrócona jako pojedyncza odpowiedź.
Jeśli to pole ma wartość true, pole „object” w odpowiedzi będzie zawierać wartość „chat.completion.chunk”. W przeciwnym razie będzie to „chat.completion”.
streamOptions
object (StreamOptions
)
Opcjonalnie: Opcje dotyczące żądań strumieniowania.
tools[]
object (ChatTool
)
Opcjonalnie: Zestaw narzędzi, dla których model może generować wywołania. Każde narzędzie ma swoją sygnaturę.
toolChoice
value (Value
format)
Opcjonalnie: Określa, czy model ma używać narzędzia i którego. Może być: - ciąg znaków „none”, aby wyłączyć narzędzia; – ciąg znaków „auto”, aby pozwolić modelowi podjąć decyzję. – ciąg „required” (wymagany), aby wymusić użycie narzędzia przez model. – obiekt opisujący nazwę funkcji, który określa narzędzie do użycia. Ostatnia opcja ma następujący schemat: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opcjonalnie: Liczba kandydatów do ukończenia. Musi być dodatnią liczbą całkowitą. Jeśli nie zostanie ustawiony, domyślna wartość to 1.
stop
value (Value
format)
Opcjonalnie: Zestaw sekwencji znaków, które powodują zatrzymanie generowania danych wyjściowych. Uwaga: to jest pole polimorficzne. Powinien zawierać ciąg znaków lub powtarzające się ciągi znaków.
maxCompletionTokens
integer
Opcjonalnie: Maksymalna liczba tokenów do uwzględnienia w potencjalnej odpowiedzi. Musi być dodatnią liczbą całkowitą.
maxTokens
integer
Opcjonalnie: Maksymalna liczba tokenów do uwzględnienia w potencjalnej odpowiedzi. Musi być dodatnią liczbą całkowitą. To pole zostało wycofane przez pakiet SDK.
temperature
number
Opcjonalnie: Określa losowość danych wyjściowych.
topP
number
Opcjonalnie: Maksymalne skumulowane prawdopodobieństwo tokenów do uwzględnienia podczas próbkowania.
responseFormat
object (ResponseFormat
)
Opcjonalnie: Określa format odpowiedzi. Jeśli nie zostanie ustawione, odpowiedź zostanie sformatowana jako tekst.
Treść odpowiedzi
W przypadku powodzenia odpowiedź jest ogólną odpowiedzią HTTP, której format jest zdefiniowany przez metodę.
Metoda: wektory
Generuje wektory dystrybucyjne na podstawie danych wejściowych modelu.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta /embeddings
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
input
value (Value
format)
Wymagane. Dane wejściowe, dla których mają być generowane wektory dystrybucyjne. Może to być ciąg znaków lub lista ciągów znaków. Pakiet SDK obsługuje listę liczb i listę list liczb, ale nie jest to jeszcze zaimplementowane.
model
string
Wymagane. Model, dla którego mają być generowane wektory dystrybucyjne.
encodingFormat
string
Opcjonalnie: Format kodowania. Musi być to „float” lub „base64”.
dimensions
integer
Opcjonalnie: Wymiar wygenerowanych wektorów dystrybucyjnych.
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu GenerateEmbeddingsResponse
.
Metoda: listModels
Wyświetla listę obecnie dostępnych modeli.
Punkt końcowy
gethttps: / /generativelanguage.googleapis.com /v1beta /listModels
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania musi być pusta.
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu SdkListModelsResponse
.
Metoda: chat.completions
Generuje zestaw odpowiedzi modelu na podstawie danych wejściowych z historii czatu.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
model
string
Wymagane. Nazwa Model
, która ma być użyta do wygenerowania zakończenia. Jeśli nazwa modelu nie zawiera znaku ukośnika, przed nazwą modelu będzie dopisany ciąg „models/”.
messages[]
object (Struct
format)
Wymagane. Historia czatu, która ma posłużyć do wygenerowania zakończenia. Obsługuje pojedyncze i wielokrotnie przetwarzane zapytania. Uwaga: to pole jest polimorficzne i jest deserializowane do obiektu InternalChatMessage.
stream
boolean
Opcjonalnie: Określa, czy odpowiedź ma być przesyłana strumieniowo, czy zwrócona jako pojedyncza odpowiedź.
Jeśli to pole ma wartość true, pole „object” w odpowiedzi będzie zawierać wartość „chat.completion.chunk”. W przeciwnym razie będzie to „chat.completion”.
streamOptions
object (StreamOptions
)
Opcjonalnie: Opcje dotyczące żądań strumieniowania.
tools[]
object (ChatTool
)
Opcjonalnie: Zestaw narzędzi, dla których model może generować wywołania. Każde narzędzie ma swoją sygnaturę.
toolChoice
value (Value
format)
Opcjonalnie: Określa, czy model ma używać narzędzia i którego. Może być: - ciąg znaków „none”, aby wyłączyć narzędzia; – ciąg znaków „auto”, aby pozwolić modelowi podjąć decyzję. – ciąg „required” (wymagany), aby wymusić użycie narzędzia przez model. – obiekt opisujący nazwę funkcji, który określa narzędzie do użycia. Ostatnia opcja ma następujący schemat: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opcjonalnie: Liczba kandydatów do ukończenia. Musi być dodatnią liczbą całkowitą. Jeśli nie zostanie ustawiony, domyślna wartość to 1.
stop
value (Value
format)
Opcjonalnie: Zestaw sekwencji znaków, które powodują zatrzymanie generowania danych wyjściowych. Uwaga: to jest pole polimorficzne. Powinien zawierać ciąg znaków lub powtarzające się ciągi znaków.
maxCompletionTokens
integer
Opcjonalnie: Maksymalna liczba tokenów do uwzględnienia w potencjalnej odpowiedzi. Musi być dodatnią liczbą całkowitą.
maxTokens
integer
Opcjonalnie: Maksymalna liczba tokenów do uwzględnienia w potencjalnej odpowiedzi. Musi być dodatnią liczbą całkowitą. To pole zostało wycofane przez pakiet SDK.
temperature
number
Opcjonalnie: Określa losowość danych wyjściowych.
topP
number
Opcjonalnie: Maksymalne skumulowane prawdopodobieństwo tokenów do uwzględnienia podczas próbkowania.
responseFormat
object (ResponseFormat
)
Opcjonalnie: Określa format odpowiedzi. Jeśli nie zostanie ustawione, odpowiedź zostanie sformatowana jako tekst.
Treść odpowiedzi
W przypadku powodzenia odpowiedź jest ogólną odpowiedzią HTTP, której format jest zdefiniowany przez metodę.
Metoda: embeddings.generate
Generuje wektory dystrybucyjne na podstawie modelu i podanych danych wejściowych.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
input
value (Value
format)
Wymagane. Dane wejściowe, dla których mają być generowane wektory dystrybucyjne. Może to być ciąg znaków lub lista ciągów znaków. Pakiet SDK obsługuje listę liczb i listę list liczb, ale nie jest to jeszcze zaimplementowane.
model
string
Wymagane. Model, dla którego mają być generowane wektory dystrybucyjne.
encodingFormat
string
Opcjonalnie: Format kodowania. Musi być to „float” lub „base64”.
dimensions
integer
Opcjonalnie: Wymiar wygenerowanych wektorów dystrybucyjnych.
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu GenerateEmbeddingsResponse
.
Metoda: openai.chat.completions
Generuje zestaw odpowiedzi modelu na podstawie danych wejściowych z historii czatu.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
model
string
Wymagane. Nazwa Model
, która ma być użyta do wygenerowania zakończenia. Jeśli nazwa modelu nie zawiera znaku ukośnika, przed nazwą modelu będzie dopisany ciąg „models/”.
messages[]
object (Struct
format)
Wymagane. Historia czatu, która ma posłużyć do wygenerowania zakończenia. Obsługuje pojedyncze i wielokrotnie przetwarzane zapytania. Uwaga: to pole jest polimorficzne i jest deserializowane do obiektu InternalChatMessage.
stream
boolean
Opcjonalnie: Określa, czy odpowiedź ma być przesyłana strumieniowo, czy zwrócona jako pojedyncza odpowiedź.
Jeśli to pole ma wartość true, pole „object” w odpowiedzi będzie zawierać wartość „chat.completion.chunk”. W przeciwnym razie będzie to „chat.completion”.
streamOptions
object (StreamOptions
)
Opcjonalnie: Opcje dotyczące żądań strumieniowania.
tools[]
object (ChatTool
)
Opcjonalnie: Zestaw narzędzi, dla których model może generować wywołania. Każde narzędzie ma swoją sygnaturę.
toolChoice
value (Value
format)
Opcjonalnie: Określa, czy model ma używać narzędzia i którego. Może być: - ciąg znaków „none”, aby wyłączyć narzędzia; – ciąg znaków „auto”, aby pozwolić modelowi podjąć decyzję. – ciąg „required” (wymagany), aby wymusić użycie narzędzia przez model. – obiekt opisujący nazwę funkcji, który określa narzędzie do użycia. Ostatnia opcja ma następujący schemat: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opcjonalnie: Liczba kandydatów do ukończenia. Musi być dodatnią liczbą całkowitą. Jeśli nie zostanie ustawiony, domyślna wartość to 1.
stop
value (Value
format)
Opcjonalnie: Zestaw sekwencji znaków, które powodują zatrzymanie generowania danych wyjściowych. Uwaga: to jest pole polimorficzne. Powinien zawierać ciąg znaków lub powtarzające się ciągi znaków.
maxCompletionTokens
integer
Opcjonalnie: Maksymalna liczba tokenów do uwzględnienia w potencjalnej odpowiedzi. Musi być dodatnią liczbą całkowitą.
maxTokens
integer
Opcjonalnie: Maksymalna liczba tokenów do uwzględnienia w potencjalnej odpowiedzi. Musi być dodatnią liczbą całkowitą. To pole zostało wycofane przez pakiet SDK.
temperature
number
Opcjonalnie: Określa losowość danych wyjściowych.
topP
number
Opcjonalnie: Maksymalne skumulowane prawdopodobieństwo tokenów do uwzględnienia podczas próbkowania.
responseFormat
object (ResponseFormat
)
Opcjonalnie: Określa format odpowiedzi. Jeśli nie zostanie ustawione, odpowiedź zostanie sformatowana jako tekst.
Treść odpowiedzi
W przypadku powodzenia odpowiedź jest ogólną odpowiedzią HTTP, której format jest zdefiniowany przez metodę.
Metoda: openai.embeddings
Generuje wektory dystrybucyjne na podstawie danych wejściowych modelu.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
input
value (Value
format)
Wymagane. Dane wejściowe, dla których mają być generowane wektory dystrybucyjne. Może to być ciąg znaków lub lista ciągów znaków. Pakiet SDK obsługuje listę liczb i listę list liczb, ale nie jest to jeszcze zaimplementowane.
model
string
Wymagane. Model, dla którego mają być generowane wektory dystrybucyjne.
encodingFormat
string
Opcjonalnie: Format kodowania. Musi być to „float” lub „base64”.
dimensions
integer
Opcjonalnie: Wymiar wygenerowanych wektorów dystrybucyjnych.
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu GenerateEmbeddingsResponse
.
Metoda: openai.models
Wyświetla listę obecnie dostępnych modeli.
Punkt końcowy
gethttps: / /generativelanguage.googleapis.com /v1beta /openai /models
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania musi być pusta.
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu SdkListModelsResponse
.
ChatTool
Narzędzie, które model może wywoływać.
function
object (ChatFunction
)
Wymagane. Nazwa narzędzia.
type
string
Wymagane. Wymagane. Musi być równe „function”.
Zapis JSON |
---|
{
"function": {
object ( |
ChatFunction
Funkcja, do której model może generować wywołania.
name
string
Wymagane. Nazwa funkcji.
description
string
Opcjonalnie: Opis funkcji.
parameters
object (Struct
format)
Opcjonalnie: Parametry funkcji.
strict
boolean
Opcjonalnie: Czy weryfikacja schematu jest rygorystyczna. Jeśli to pole ma wartość Prawda, model nie zadziała, jeśli schemat nie jest prawidłowy. UWAGA: ten parametr jest obecnie ignorowany.
Zapis JSON |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
Odpowiedź dotycząca generowania wklejania.
object
string
Tylko dane wyjściowe. Zawsze „osadzanie”, wymagane przez pakiet SDK.
data[]
object (GenerateEmbeddingsEmbedding
)
Tylko dane wyjściowe. Lista żądanych reprezentacji właściwościowych.
model
string
Tylko dane wyjściowe. Model użyty do wygenerowania wektorów.
Zapis JSON |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
Wektor embeddingu wygenerowany przez model.
object
string
Tylko dane wyjściowe. Zawsze „osadzanie”, wymagane przez pakiet SDK.
index
integer
Tylko dane wyjściowe. Indeks wektora dystrybucyjnego na liście wektorów dystrybucyjnych.
embedding
value (Value
format)
Tylko dane wyjściowe. Wektor dystrybucyjny wygenerowany dla danych wejściowych. Może to być lista liczb zmiennoprzecinkowych lub ciąg znaków w formacie base64 kodujący listę liczb zmiennoprzecinkowych w układzie w stylu C (zgodny z Numpy).
Zapis JSON |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
Komunikat dotyczący dowolnej treści HTTP. Powinien być używany wyłącznie w przypadku formatów ładunku, których nie da się zapisać jako JSON, takich jak pliki binarne RAW lub strony HTML.
Komunikat może być używany w żądaniu oraz w odpowiedzi zarówno w strumieniowych, jak i niestrumieniowych metodach API.
Może służyć jako pole żądania najwyższego poziomu, co jest wygodne, gdy chcesz wyodrębnić parametry z szablonu URL lub HTTP i użyć ich w polach żądania oraz gdy potrzebujesz dostępu do treści HTTP w formacie RAW.
Przykład
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);
}
Przykład z metodami strumieniowymi:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
Użycie tego typu treści zmienia tylko sposób obsługi treści żądania i odpowiedzi – pozostałe funkcje działają bez zmian.
contentType
string
Wartość nagłówka HTTP Content-Type określająca typ treści.
data
string (bytes format)
Treść żądania/odpowiedzi HTTP jako dane binarne.
Ciąg znaków zakodowany w formacie Base64.
extensions[]
object
Metadane odpowiedzi aplikacji. W przypadku strumieniowych interfejsów API muszą być przesłane w pierwszej odpowiedzi.
Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type"
zawiera identyfikator URI identyfikujący typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Zapis JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
Określa format odpowiedzi.
type
string
Wymagane. Typ odpowiedzi. Możesz wybrać: – „text”: odpowiedź w formacie tekstowym. – „json_object”: odpowiedź jest formatowana jako obiekt JSON. – „jsonSchema”: sformatuj odpowiedź jako obiekt JSON zgodnie z podanym schematem.
jsonSchema
object (ResponseFormatSchema
)
Opcjonalnie: Schemat JSON, którego należy przestrzegać. Używane tylko wtedy, gdy typ to „jsonSchema”.
Zapis JSON |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
Schemat odpowiedzi.
description
string
Opcjonalnie: Opis obiektu reprezentowanego przez schemat.
name
string
Wymagane. Nazwa typu obiektu reprezentowanego przez schemat.
strict
boolean
Opcjonalnie: Czy weryfikacja schematu jest rygorystyczna. Jeśli to pole ma wartość Prawda, model nie zadziała, jeśli schemat nie jest prawidłowy. UWAGA: ten parametr jest obecnie ignorowany.
schema
object (Struct
format)
Opcjonalnie: Schemat JSON, którego należy przestrzegać.
Zapis JSON |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
Odpowiedź dla modeli list.
object
string
Tylko dane wyjściowe. Zawsze „list”, wymagane przez pakiet SDK.
data[]
object (SdkModel
)
Tylko dane wyjściowe. Lista żądanych reprezentacji właściwościowych.
Zapis JSON |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
Obiekt model.
id
string
Tylko dane wyjściowe. Identyfikator modelu.
object
string
Tylko dane wyjściowe. Zawsze „model”, wymagany przez pakiet SDK.
created
string (int64 format)
Tylko dane wyjściowe. Sygnatura czasowa systemu Unix (w sekundach) utworzenia modelu.
owned_by
string
Tylko dane wyjściowe. Organizacja, której model należy.
Zapis JSON |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |