OpenAI compatibility

Gemini modellerine, REST API ile birlikte OpenAI kitaplıkları (Python ve TypeScript / JavaScript) kullanılarak, üç kod satırını güncelleyerek ve Gemini API anahtarınızı kullanarak erişilebilir. Bu özellik hakkında daha fazla bilgi için uyumluluk rehberine göz atın.

Yöntem: chatCompletions

Bir sohbet geçmişi girişi verildiğinde modelden bir dizi yanıt oluşturur.

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta:chatCompletions

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
model string

Zorunlu. Tamamlamayı oluşturmak için kullanılacak Model öğesinin adı. Model adında eğik çizgi yoksa model adının önüne "models/" eklenir.

messages[] object (Struct format)

Zorunlu. Tamamlama mesajını oluşturmak için kullanılacak sohbet geçmişi. Tek ve çok turlu sorguları destekler. Not: Bu, polimorfik bir alandır ve InternalChatMessage olarak serileştirilir.

stream boolean

İsteğe bağlı. Yanıtın akış halinde mi yoksa tek bir yanıt olarak mı döndürüleceğini belirtir.

Doğru ise yanıttaki "object" alanı "chat.completion.chunk" olur. Aksi takdirde "chat.completion" olur.

streamOptions object (StreamOptions)

İsteğe bağlı. Akış istekleriyle ilgili seçenekler.

tools[] object (ChatTool)

İsteğe bağlı. Modelin çağrı oluşturabileceği araç grubu. Her araç kendi imzasını belirtir.

toolChoice value (Value format)

İsteğe bağlı. Modelin bir araç kullanıp kullanmayacağını ve hangi aracı kullanacağını kontrol eder. Şunlardan biri olabilir: - Araçları devre dışı bırakmak için "none" dizesi. - Modelin karar vermesine izin vermek için "auto" dizesi. - Modeli bir araç kullanmaya zorlamak için "required" dizesi. - Kullanılacak aracı belirten bir işlev adı tanımlayıcısı nesnesi. Son seçenek aşağıdaki şemayı izler: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

İsteğe bağlı. Oluşturulacak olası tamamlama sayısı. Pozitif bir tam sayı olmalıdır. Ayarlanmamışsa varsayılan değeri 1'dir.

stop value (Value format)

İsteğe bağlı. Çıktı oluşturmayı durduracak karakter dizisi grubu. Not: Bu, polimorfik bir alandır. Bir dize veya tekrarlanan dizeler içermesi gerekir.

maxCompletionTokens integer

İsteğe bağlı. Bir yanıt adayına dahil edilecek maksimum jeton sayısı. Pozitif bir tam sayı olmalıdır.

maxTokens integer

İsteğe bağlı. Bir yanıt adayına dahil edilecek maksimum jeton sayısı. Pozitif bir tam sayı olmalıdır. Bu alanın desteği SDK tarafından sonlandırılmıştır.

temperature number

İsteğe bağlı. Çıktının rastgeleliğini kontrol eder.

topP number

İsteğe bağlı. Örnekleme sırasında dikkate alınacak maksimum kümülatif jeton olasılığı.

responseFormat object (ResponseFormat)

İsteğe bağlı. Yanıtın biçimini tanımlar. Ayarlanmazsa yanıt metin olarak biçimlendirilir.

Yanıt gövdesi

Başarılı olursa yanıt, biçimi yöntem tarafından tanımlanan genel bir HTTP yanıtıdır.

Yöntem: embeddings

Giriş verilen modelden yerleştirilmiş öğeler oluşturur.

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta/embeddings

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
input value (Value format)

Zorunlu. Yerleştirilmiş öğelerin oluşturulacağı giriş. Dize veya dize listesi olabilir. SDK, sayı listesi ve sayı listesi listesi destekler ancak bu henüz uygulanmamıştır.

model string

Zorunlu. Yerleştirilmiş öğelerin oluşturulacağı model.

encodingFormat string

İsteğe bağlı. Kodlamanın biçimi. "float" veya "base64" olmalıdır.

dimensions integer

İsteğe bağlı. Oluşturulan yerleştirmelerin boyutu.

Yanıt gövdesi

Başarılıysa yanıt metni, GenerateEmbeddingsResponse öğesinin bir örneğini içerir.

Yöntem: listModels

Şu anda mevcut modelleri listeler.

Uç nokta

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni boş olmalıdır.

Yanıt metni

Başarılıysa yanıt metni, SdkListModelsResponse öğesinin bir örneğini içerir.

Yöntem: chat.completions

Bir sohbet geçmişi girişi verildiğinde modelden bir dizi yanıt oluşturur.

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta/chat/completions

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
model string

Zorunlu. Tamamlamayı oluşturmak için kullanılacak Model öğesinin adı. Model adında eğik çizgi yoksa model adının önüne "models/" eklenir.

messages[] object (Struct format)

Zorunlu. Tamamlama mesajını oluşturmak için kullanılacak sohbet geçmişi. Tek ve çok turlu sorguları destekler. Not: Bu, polimorfik bir alandır ve InternalChatMessage olarak serileştirilir.

stream boolean

İsteğe bağlı. Yanıtın akış halinde mi yoksa tek bir yanıt olarak mı döndürüleceğini belirtir.

Doğru ise yanıttaki "object" alanı "chat.completion.chunk" olur. Aksi takdirde "chat.completion" olur.

streamOptions object (StreamOptions)

İsteğe bağlı. Akış istekleriyle ilgili seçenekler.

tools[] object (ChatTool)

İsteğe bağlı. Modelin çağrı oluşturabileceği araç grubu. Her araç kendi imzasını belirtir.

toolChoice value (Value format)

İsteğe bağlı. Modelin bir araç kullanıp kullanmayacağını ve hangi aracı kullanacağını kontrol eder. Şunlardan biri olabilir: - Araçları devre dışı bırakmak için "none" dizesi. - Modelin karar vermesine izin vermek için "auto" dizesi. - Modeli bir araç kullanmaya zorlamak için "required" dizesi. - Kullanılacak aracı belirten bir işlev adı tanımlayıcısı nesnesi. Son seçenek aşağıdaki şemayı izler: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

İsteğe bağlı. Oluşturulacak olası tamamlama sayısı. Pozitif bir tam sayı olmalıdır. Ayarlanmamışsa varsayılan değeri 1'dir.

stop value (Value format)

İsteğe bağlı. Çıktı oluşturmayı durduracak karakter dizisi grubu. Not: Bu, polimorfik bir alandır. Bir dize veya tekrarlanan dizeler içermesi gerekir.

maxCompletionTokens integer

İsteğe bağlı. Bir yanıt adayına dahil edilecek maksimum jeton sayısı. Pozitif bir tam sayı olmalıdır.

maxTokens integer

İsteğe bağlı. Bir yanıt adayına dahil edilecek maksimum jeton sayısı. Pozitif bir tam sayı olmalıdır. Bu alanın desteği SDK tarafından sonlandırılmıştır.

temperature number

İsteğe bağlı. Çıktının rastgeleliğini kontrol eder.

topP number

İsteğe bağlı. Örnekleme sırasında dikkate alınacak maksimum kümülatif jeton olasılığı.

responseFormat object (ResponseFormat)

İsteğe bağlı. Yanıtın biçimini tanımlar. Ayarlanmazsa yanıt metin olarak biçimlendirilir.

Yanıt gövdesi

Başarılı olursa yanıt, biçimi yöntem tarafından tanımlanan genel bir HTTP yanıtıdır.

Yöntem: embeddings.generate

Giriş verilen modelden yerleştirilmiş öğeler oluşturur.

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta/embeddings:generate

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
input value (Value format)

Zorunlu. Yerleştirilmiş öğelerin oluşturulacağı giriş. Dize veya dize listesi olabilir. SDK, sayı listesi ve sayı listesi listesi destekler ancak bu henüz uygulanmamıştır.

model string

Zorunlu. Yerleştirilmiş öğelerin oluşturulacağı model.

encodingFormat string

İsteğe bağlı. Kodlamanın biçimi. "float" veya "base64" olmalıdır.

dimensions integer

İsteğe bağlı. Oluşturulan yerleştirmelerin boyutu.

Yanıt gövdesi

Başarılıysa yanıt metni, GenerateEmbeddingsResponse öğesinin bir örneğini içerir.

Yöntem: openai.chat.completions

Bir sohbet geçmişi girişi verildiğinde modelden bir dizi yanıt oluşturur.

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta/openai/chat/completions

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
model string

Zorunlu. Tamamlamayı oluşturmak için kullanılacak Model öğesinin adı. Model adında eğik çizgi yoksa model adının önüne "models/" eklenir.

messages[] object (Struct format)

Zorunlu. Tamamlama mesajını oluşturmak için kullanılacak sohbet geçmişi. Tek ve çok turlu sorguları destekler. Not: Bu, polimorfik bir alandır ve InternalChatMessage olarak serileştirilir.

stream boolean

İsteğe bağlı. Yanıtın akış halinde mi yoksa tek bir yanıt olarak mı döndürüleceğini belirtir.

Doğru ise yanıttaki "object" alanı "chat.completion.chunk" olur. Aksi takdirde "chat.completion" olur.

streamOptions object (StreamOptions)

İsteğe bağlı. Akış istekleriyle ilgili seçenekler.

tools[] object (ChatTool)

İsteğe bağlı. Modelin çağrı oluşturabileceği araç grubu. Her araç kendi imzasını belirtir.

toolChoice value (Value format)

İsteğe bağlı. Modelin bir araç kullanıp kullanmayacağını ve hangi aracı kullanacağını kontrol eder. Şunlardan biri olabilir: - Araçları devre dışı bırakmak için "none" dizesi. - Modelin karar vermesine izin vermek için "auto" dizesi. - Modeli bir araç kullanmaya zorlamak için "required" dizesi. - Kullanılacak aracı belirten bir işlev adı tanımlayıcısı nesnesi. Son seçenek aşağıdaki şemayı izler: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

İsteğe bağlı. Oluşturulacak olası tamamlama sayısı. Pozitif bir tam sayı olmalıdır. Ayarlanmamışsa varsayılan değeri 1'dir.

stop value (Value format)

İsteğe bağlı. Çıktı oluşturmayı durduracak karakter dizisi grubu. Not: Bu, polimorfik bir alandır. Bir dize veya tekrarlanan dizeler içermesi gerekir.

maxCompletionTokens integer

İsteğe bağlı. Bir yanıt adayına dahil edilecek maksimum jeton sayısı. Pozitif bir tam sayı olmalıdır.

maxTokens integer

İsteğe bağlı. Bir yanıt adayına dahil edilecek maksimum jeton sayısı. Pozitif bir tam sayı olmalıdır. Bu alanın desteği SDK tarafından sonlandırılmıştır.

temperature number

İsteğe bağlı. Çıktının rastgeleliğini kontrol eder.

topP number

İsteğe bağlı. Örnekleme sırasında dikkate alınacak maksimum kümülatif jeton olasılığı.

responseFormat object (ResponseFormat)

İsteğe bağlı. Yanıtın biçimini tanımlar. Ayarlanmazsa yanıt metin olarak biçimlendirilir.

Yanıt gövdesi

Başarılı olursa yanıt, biçimi yöntem tarafından tanımlanan genel bir HTTP yanıtıdır.

Yöntem: openai.embeddings

Giriş verilen modelden yerleştirilmiş öğeler oluşturur.

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta/openai/embeddings

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
input value (Value format)

Zorunlu. Yerleştirilmiş öğelerin oluşturulacağı giriş. Dize veya dize listesi olabilir. SDK, sayı listesi ve sayı listesi listesi destekler ancak bu henüz uygulanmamıştır.

model string

Zorunlu. Yerleştirilmiş öğelerin oluşturulacağı model.

encodingFormat string

İsteğe bağlı. Kodlamanın biçimi. "float" veya "base64" olmalıdır.

dimensions integer

İsteğe bağlı. Oluşturulan yerleştirmelerin boyutu.

Yanıt gövdesi

Başarılıysa yanıt metni, GenerateEmbeddingsResponse öğesinin bir örneğini içerir.

Yöntem: openai.models

Şu anda mevcut modelleri listeler.

Uç nokta

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni boş olmalıdır.

Yanıt metni

Başarılıysa yanıt metni, SdkListModelsResponse öğesinin bir örneğini içerir.

ChatTool

Modelin arama oluşturabileceği bir araç.

Alanlar
function object (ChatFunction)

Zorunlu. Aracı adı.

type string

Zorunlu. Zorunlu, "function" olmalıdır.

JSON gösterimi
{
  "function": {
    object (ChatFunction)
  },
  "type": string
}

ChatFunction

Modelin çağrı oluşturabileceği bir işlev.

Alanlar
name string

Zorunlu. İşlevin adı.

description string

İsteğe bağlı. İşlevin açıklaması.

parameters object (Struct format)

İsteğe bağlı. İşlevin parametreleri.

strict boolean

İsteğe bağlı. Şema doğrulamasının katı olup olmadığı. Doğru ise şema geçerli değilse model başarısız olur. NOT: Bu parametre şu anda yoksayılmaktadır.

JSON gösterimi
{
  "name": string,
  "description": string,
  "parameters": {
    object
  },
  "strict": boolean
}

GenerateEmbeddingsResponse

Yerleştirme oluşturma için yanıt.

Alanlar
object string

Yalnızca çıkış. Her zaman "embedding" (yerleştirme) olmalıdır. Bu, SDK tarafından zorunlu kılınmıştır.

data[] object (GenerateEmbeddingsEmbedding)

Yalnızca çıkış. İstenen yerleştirmelerin listesi.

model string

Yalnızca çıkış. Yerleşim oluşturmak için kullanılan model.

JSON gösterimi
{
  "object": string,
  "data": [
    {
      object (GenerateEmbeddingsEmbedding)
    }
  ],
  "model": string
}

GenerateEmbeddingsEmbedding

Model tarafından oluşturulan bir yerleştirme vektörü.

Alanlar
object string

Yalnızca çıkış. Her zaman "embedding" (yerleştirme) olmalıdır. Bu, SDK tarafından zorunlu kılınmıştır.

index integer

Yalnızca çıkış. Yerleştirme listesinde yer alan yerleştirmenin dizini.

embedding value (Value format)

Yalnızca çıkış. Giriş için oluşturulan yerleştirme vektörü. Kesirli sayı listesi veya C tarzı düzene sahip kesirli sayı listesini kodlayan bir base64 dizesi (Numpy uyumlu) olabilir.

JSON gösterimi
{
  "object": string,
  "index": integer,
  "embedding": value
}

HttpBody

Rastgele bir HTTP gövde metnini temsil eden mesaj. Yalnızca ham ikili program veya HTML sayfası gibi JSON olarak temsil edilemeyen yük biçimleri için kullanılmalıdır.

Bu mesaj hem istekteki hem de yanıttaki akışkan ve akışkan olmayan API yöntemlerinde kullanılabilir.

Üst düzey istek alanı olarak kullanılabilir. Bu, URL veya HTTP şablonundan parametreleri alıp istek alanlarına yerleştirmek ve ham HTTP gövde metnine erişmek istediğinizde kullanışlı olur.

Örnek:

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

}

Akışkan yöntemlerin kullanıldığı örnek:

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

}

Bu türün kullanılması yalnızca istek ve yanıt gövde metinlerinin ele alınma biçimini değiştirir, diğer tüm özellikler herhangi bir değişiklik olmadan çalışmaya devam eder.

Alanlar
contentType string

Gövdenin içerik türünü belirten HTTP Content-Type başlık değeri.

data string (bytes format)

Ham ikili olarak HTTP istek/yanıt gövdesi.

Base64 kodlu bir dize.

extensions[] object

Uygulamaya özgü yanıt meta verileri. Akışkan API'ler için ilk yanıtta ayarlanmalıdır.

İsteğe bağlı türde alanlar içeren bir nesne. "@type" adlı ek bir alan, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.

JSON gösterimi
{
  "contentType": string,
  "data": string,
  "extensions": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}

ResponseFormat

Yanıtın biçimini tanımlar.

Alanlar
type string

Zorunlu. Yanıtın türü. Şu değerlerden biri olabilir: - "text": Yanıtı metin olarak biçimlendirir. - "json_object": Yanıtı JSON nesnesi olarak biçimlendirin. - "jsonSchema": Yanıtı, belirtilen şemaya uygun bir JSON nesnesi olarak biçimlendirir.

jsonSchema object (ResponseFormatSchema)

İsteğe bağlı. Uygulanacak JSON şeması. Yalnızca tür "jsonSchema" ise kullanılır.

JSON gösterimi
{
  "type": string,
  "jsonSchema": {
    object (ResponseFormatSchema)
  }
}

ResponseFormatSchema

Yanıtın şeması.

Alanlar
description string

İsteğe bağlı. Şema tarafından temsil edilen nesnenin açıklaması.

name string

Zorunlu. Şema tarafından temsil edilen nesne türünün adı.

strict boolean

İsteğe bağlı. Şema doğrulamasının katı olup olmadığı. Doğru ise şema geçerli değilse model başarısız olur. NOT: Bu parametre şu anda yoksayılmaktadır.

schema object (Struct format)

İsteğe bağlı. Uygulanacak JSON şeması.

JSON gösterimi
{
  "description": string,
  "name": string,
  "strict": boolean,
  "schema": {
    object
  }
}

SdkListModelsResponse

Liste modelleri için yanıt.

Alanlar
object string

Yalnızca çıkış. Her zaman "list", SDK tarafından zorunludur.

data[] object (SdkModel)

Yalnızca çıkış. İstenen yerleştirmelerin listesi.

JSON gösterimi
{
  "object": string,
  "data": [
    {
      object (SdkModel)
    }
  ]
}

SdkModel

Model nesnesi.

Alanlar
id string

Yalnızca çıkış. Modelin kimliği.

object string

Yalnızca çıkış. Her zaman "model"dir ve SDK tarafından zorunlu tutulur.

created string (int64 format)

Yalnızca çıkış. Modelin oluşturulduğu Unix zaman damgası (saniye cinsinden).

owned_by string

Yalnızca çıkış. Modelin sahibi olan kuruluş.

JSON gösterimi
{
  "id": string,
  "object": string,
  "created": string,
  "owned_by": string
}

StreamOptions

Akış istekleri için seçenekler.

Alanlar
includeUsage boolean

İsteğe bağlı. Ayarlandıysa yanıta kullanım istatistiklerini ekleyin.

JSON gösterimi
{
  "includeUsage": boolean
}