OpenAI compatibility

Modelet e Gemini janë të aksesueshme duke përdorur bibliotekat OpenAI (Python dhe TypeScript / Javascript) së bashku me API-në REST, duke përditësuar tre rreshta kodi dhe duke përdorur çelësin tuaj API Gemini . Lexoni më shumë rreth kësaj veçorie në udhëzuesin e përputhshmërisë .

Metoda: Përfundimet e bisedës

Gjeneron një grup përgjigjesh nga modeli i dhënë një hyrje të historisë së bisedës.

Pika përfundimtare

postoni https: / /generativelanguage.googleapis.com /v1beta:chatCompletions
URL-ja përdor sintaksën e transkodimit të gRPC .

Trupi i kërkesës

Trupi i kërkesës përmban të dhëna me strukturën e mëposhtme:

Fushat
string model

E detyrueshme. Emri i Model që do të përdoret për gjenerimin e përfundimit. Emri i modelit do të parashtesohet me "modele/" nëse nuk shfaqet asnjë e pjerrët në të.

objekti i messages[] object ( Struct format)

E detyrueshme. Historia e bisedës për t'u përdorur për gjenerimin e përfundimit. Mbështet pyetje të vetme dhe me shumë kthesa. Shënim: Kjo është një fushë polimorfike, është deserializuar në një Mesazh të Brendshëm Chat.

stream boolean

Fakultative. Nëse përgjigja do të transmetohet ose do të kthehet një përgjigje e vetme.

Nëse është e vërtetë, fusha "objekt" në përgjigje do të jetë "chat.completion.chunk". Përndryshe do të jetë "chat.completion".

Objekt streamOptions object ( StreamOptions )

Fakultative. Opsione për kërkesat e transmetimit.

tools[] object ( ChatTool )

Fakultative. Kompleti i mjeteve për të cilat modeli mund të gjenerojë thirrje. Çdo mjet deklaron nënshkrimin e tij.

toolChoice value ( Value format)

Fakultative. Kontrollon nëse modeli duhet të përdorë një mjet apo jo, dhe cilin mjet të përdorë. Mund të jetë ose: - Vargu "asnjë", për të çaktivizuar veglat. - Vargu "auto", që të vendosë modelja. - Vargu "kërkohet", për të detyruar modelin të përdorë një mjet. - Një objekt përshkrues i emrit të funksionit, duke specifikuar mjetin që do të përdoret. Opsioni i fundit ndjek skemën e mëposhtme: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

Fakultative. Sasia e përfundimeve të kandidatëve për të gjeneruar. Duhet të jetë një numër i plotë pozitiv. Parazgjedhur në 1 nëse nuk është caktuar.

vlera stop value ( Value format)

Fakultative. Grupi i sekuencave të karaktereve që do të ndalojnë gjenerimin e prodhimit. Shënim: Kjo është një fushë polimorfike. Është menduar të përmbajë një varg ose vargje të përsëritura.

maxCompletionTokens integer

Fakultative. Numri maksimal i argumenteve për t'u përfshirë në një kandidat përgjigjeje. Duhet të jetë një numër i plotë pozitiv.

maxTokens integer

Fakultative. Numri maksimal i argumenteve për t'u përfshirë në një kandidat përgjigjeje. Duhet të jetë një numër i plotë pozitiv. Kjo fushë është zhvlerësuar nga SDK.

number temperature

Fakultative. Kontrollon rastësinë e daljes.

number topP

Fakultative. Probabiliteti maksimal kumulativ i argumenteve për t'u marrë parasysh gjatë marrjes së mostrave.

responseFormat object ( ResponseFormat )

Fakultative. Përcakton formatin e përgjigjes. Nëse nuk është caktuar, përgjigja do të formatohet si tekst.

Trupi i reagimit

Nëse është e suksesshme, përgjigja është një përgjigje e përgjithshme HTTP, formati i së cilës përcaktohet nga metoda.

Metoda: ngulitje

Gjeneron ngulitje nga modeli i dhënë një hyrje.

Pika përfundimtare

postoni https: / /generativelanguage.googleapis.com /v1beta /embeddings
URL-ja përdor sintaksën e transkodimit të gRPC .

Trupi i kërkesës

Trupi i kërkesës përmban të dhëna me strukturën e mëposhtme:

Fushat
vlera input value ( Value format)

E detyrueshme. Hyrja për të gjeneruar ngulitje për. Mund të jetë një varg, ose një listë vargjesh. SDK-ja mbështet një listë numrash dhe listë të numrave, por kjo ende nuk është zbatuar.

string model

E detyrueshme. Modeli për të gjeneruar ngulitje.

encodingFormat string

Fakultative. Formati i kodimit. Duhet të jetë ose "float" ose "base64".

dimensions integer

Fakultative. Madhësia dimensionale e ngulitjeve të krijuara.

Trupi i reagimit

Nëse është i suksesshëm, trupi i përgjigjes përmban një shembull të GenerateEmbeddingsResponse .

Metoda: listModels

Liston modelet e disponueshme aktualisht.

Pika përfundimtare

merrni https: / /generativelanguage.googleapis.com /v1beta /listModels
URL-ja përdor sintaksën e transkodimit të gRPC .

Trupi i kërkesës

Trupi i kërkesës duhet të jetë bosh.

Trupi i reagimit

Nëse është i suksesshëm, trupi i përgjigjes përmban një shembull të SdkListModelsResponse .

Metoda: chat.përfundime

Gjeneron një grup përgjigjesh nga modeli i dhënë një hyrje të historisë së bisedës.

Pika përfundimtare

postoni https: / /generativelanguage.googleapis.com /v1beta /chat /completions
URL-ja përdor sintaksën e transkodimit të gRPC .

Trupi i kërkesës

Trupi i kërkesës përmban të dhëna me strukturën e mëposhtme:

Fushat
string model

E detyrueshme. Emri i Model që do të përdoret për gjenerimin e përfundimit. Emri i modelit do të parashtesohet me "modele/" nëse nuk shfaqet asnjë e pjerrët në të.

objekti i messages[] object ( Struct format)

E detyrueshme. Historia e bisedës për t'u përdorur për gjenerimin e përfundimit. Mbështet pyetje të vetme dhe me shumë kthesa. Shënim: Kjo është një fushë polimorfike, është deserializuar në një Mesazh të Brendshëm Chat.

stream boolean

Fakultative. Nëse përgjigja do të transmetohet ose do të kthehet një përgjigje e vetme.

Nëse është e vërtetë, fusha "objekt" në përgjigje do të jetë "chat.completion.chunk". Përndryshe do të jetë "chat.completion".

Objekt streamOptions object ( StreamOptions )

Fakultative. Opsione për kërkesat e transmetimit.

tools[] object ( ChatTool )

Fakultative. Kompleti i mjeteve për të cilat modeli mund të gjenerojë thirrje. Çdo mjet deklaron nënshkrimin e tij.

toolChoice value ( Value format)

Fakultative. Kontrollon nëse modeli duhet të përdorë një mjet apo jo, dhe cilin mjet të përdorë. Mund të jetë ose: - Vargu "asnjë", për të çaktivizuar veglat. - Vargu "auto", që të vendosë modelja. - Vargu "kërkohet", për të detyruar modelin të përdorë një mjet. - Një objekt përshkrues i emrit të funksionit, duke specifikuar mjetin që do të përdoret. Opsioni i fundit ndjek skemën e mëposhtme: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

Fakultative. Sasia e përfundimeve të kandidatëve për të gjeneruar. Duhet të jetë një numër i plotë pozitiv. Parazgjedhur në 1 nëse nuk është caktuar.

vlera stop value ( Value format)

Fakultative. Grupi i sekuencave të karaktereve që do të ndalojnë gjenerimin e prodhimit. Shënim: Kjo është një fushë polimorfike. Është menduar të përmbajë një varg ose vargje të përsëritura.

maxCompletionTokens integer

Fakultative. Numri maksimal i argumenteve për t'u përfshirë në një kandidat përgjigjeje. Duhet të jetë një numër i plotë pozitiv.

maxTokens integer

Fakultative. Numri maksimal i argumenteve për t'u përfshirë në një kandidat përgjigjeje. Duhet të jetë një numër i plotë pozitiv. Kjo fushë është zhvlerësuar nga SDK.

number temperature

Fakultative. Kontrollon rastësinë e daljes.

number topP

Fakultative. Probabiliteti maksimal kumulativ i argumenteve për t'u marrë parasysh gjatë marrjes së mostrave.

responseFormat object ( ResponseFormat )

Fakultative. Përcakton formatin e përgjigjes. Nëse nuk është caktuar, përgjigja do të formatohet si tekst.

Trupi i reagimit

Nëse është e suksesshme, përgjigja është një përgjigje e përgjithshme HTTP, formati i së cilës përcaktohet nga metoda.

Metoda: embeddings.gjenerojë

Gjeneron ngulitje nga modeli i dhënë një hyrje.

Pika përfundimtare

postoni https: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
URL-ja përdor sintaksën e transkodimit të gRPC .

Trupi i kërkesës

Trupi i kërkesës përmban të dhëna me strukturën e mëposhtme:

Fushat
vlera input value ( Value format)

E detyrueshme. Hyrja për të gjeneruar ngulitje për. Mund të jetë një varg, ose një listë vargjesh. SDK-ja mbështet një listë numrash dhe listë të numrave, por kjo ende nuk është zbatuar.

string model

E detyrueshme. Modeli për të gjeneruar ngulitje.

encodingFormat string

Fakultative. Formati i kodimit. Duhet të jetë ose "float" ose "base64".

dimensions integer

Fakultative. Madhësia dimensionale e ngulitjeve të krijuara.

Trupi i reagimit

Nëse është i suksesshëm, trupi i përgjigjes përmban një shembull të GenerateEmbeddingsResponse .

Metoda: openai.chat.completions

Gjeneron një grup përgjigjesh nga modeli i dhënë një hyrje të historisë së bisedës.

Pika përfundimtare

postoni https: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
URL-ja përdor sintaksën e transkodimit të gRPC .

Trupi i kërkesës

Trupi i kërkesës përmban të dhëna me strukturën e mëposhtme:

Fushat
string model

E detyrueshme. Emri i Model që do të përdoret për gjenerimin e përfundimit. Emri i modelit do të parashtesohet me "modele/" nëse nuk shfaqet asnjë e pjerrët në të.

objekti i messages[] object ( Struct format)

E detyrueshme. Historia e bisedës për t'u përdorur për gjenerimin e përfundimit. Mbështet pyetje të vetme dhe me shumë kthesa. Shënim: Kjo është një fushë polimorfike, është deserializuar në një Mesazh të Brendshëm Chat.

stream boolean

Fakultative. Nëse përgjigja do të transmetohet ose do të kthehet një përgjigje e vetme.

Nëse është e vërtetë, fusha "objekt" në përgjigje do të jetë "chat.completion.chunk". Përndryshe do të jetë "chat.completion".

Objekt streamOptions object ( StreamOptions )

Fakultative. Opsionet për kërkesat e transmetimit.

tools[] object ( ChatTool )

Fakultative. Kompleti i mjeteve për të cilat modeli mund të gjenerojë thirrje. Çdo mjet deklaron nënshkrimin e tij.

toolChoice value ( Value format)

Fakultative. Kontrollon nëse modeli duhet të përdorë një mjet apo jo, dhe cilin mjet të përdorë. Mund të jetë ose: - Vargu "asnjë", për të çaktivizuar veglat. - Vargu "auto", për të vendosur modelin. - Vargu "kërkohet", për të detyruar modelin të përdorë një mjet. - Një objekt përshkrues i emrit të funksionit, duke specifikuar mjetin që do të përdoret. Opsioni i fundit ndjek skemën e mëposhtme: { "type": "function", "function": {"name" : "the_function_name"} }

n integer

Fakultative. Sasia e përfundimeve të kandidatëve për të gjeneruar. Duhet të jetë një numër i plotë pozitiv. Parazgjedhur në 1 nëse nuk është caktuar.

vlera stop value ( Value format)

Fakultative. Grupi i sekuencave të karaktereve që do të ndalojnë gjenerimin e prodhimit. Shënim: Kjo është një fushë polimorfike. Është menduar të përmbajë një varg ose vargje të përsëritura.

maxCompletionTokens integer

Fakultative. Numri maksimal i argumenteve për t'u përfshirë në një kandidat përgjigjeje. Duhet të jetë një numër i plotë pozitiv.

maxTokens integer

Fakultative. Numri maksimal i argumenteve për t'u përfshirë në një kandidat përgjigjeje. Duhet të jetë një numër i plotë pozitiv. Kjo fushë është zhvlerësuar nga SDK.

number temperature

Fakultative. Kontrollon rastësinë e daljes.

number topP

Fakultative. Probabiliteti maksimal kumulativ i argumenteve për t'u marrë parasysh gjatë marrjes së mostrave.

Objekt responseFormat object ( ResponseFormat )

Fakultative. Përcakton formatin e përgjigjes. Nëse nuk është caktuar, përgjigja do të formatohet si tekst.

Trupi i reagimit

Nëse është e suksesshme, përgjigja është një përgjigje e përgjithshme HTTP, formati i së cilës përcaktohet nga metoda.

Metoda: openai.ngulitje

Gjeneron ngulitje nga modeli i dhënë një hyrje.

Pika përfundimtare

postoni https: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
URL-ja përdor sintaksën e transkodimit të gRPC .

Trupi i kërkesës

Trupi i kërkesës përmban të dhëna me strukturën e mëposhtme:

Fushat
vlera input value ( Value format)

E detyrueshme. Hyrja për të gjeneruar ngulitje për. Mund të jetë një varg, ose një listë vargjesh. SDK-ja mbështet një listë numrash dhe listë të numrave, por kjo ende nuk është zbatuar.

string model

E detyrueshme. Modeli për të gjeneruar ngulitje.

encodingFormat string

Fakultative. Formati i kodimit. Duhet të jetë ose "float" ose "base64".

dimensions integer

Fakultative. Madhësia dimensionale e ngulitjeve të krijuara.

Trupi i reagimit

Nëse është i suksesshëm, trupi i përgjigjes përmban një shembull të GenerateEmbeddingsResponse .

Metoda: openai.modele

Liston modelet e disponueshme aktualisht.

Pika përfundimtare

merrni https: / /generativelanguage.googleapis.com /v1beta /openai /models
URL-ja përdor sintaksën e transkodimit të gRPC .

Trupi i kërkesës

Trupi i kërkesës duhet të jetë bosh.

Trupi i reagimit

Nëse është i suksesshëm, trupi i përgjigjes përmban një shembull të SdkListModelsResponse .

ChatTool

Një mjet për të cilin modeli mund të gjenerojë thirrje.

Fushat
objekti function object ( ChatFunction )

E detyrueshme. Emri i mjetit.

type string

E detyrueshme. Kërkohet, duhet të jetë "funksion".

Përfaqësimi JSON
{
  "function": {
    object (ChatFunction)
  },
  "type": string
}

Funksioni i bisedës

Një funksion për të cilin modeli mund të gjenerojë thirrje.

Fushat
string name

E detyrueshme. Emri i funksionit.

string description

Fakultative. Një përshkrim i funksionit.

objekti parameters object ( Struct format)

Fakultative. Parametrat e funksionit.

boolean strict

Fakultative. Nëse vërtetimi i skemës është i rreptë. Nëse është e vërtetë, modeli do të dështojë nëse skema nuk është e vlefshme. SHËNIM: Ky parametër aktualisht është injoruar.

Përfaqësimi JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object
  },
  "strict": boolean
}

GenerateEmbeddingsResponse

Përgjigja për gjenerimin e integruar.

Fushat
string object

Vetëm dalje. Gjithmonë "embedding", e kërkuar nga SDK.

objekti data[] object ( GenerateEmbeddingsEmbedding )

Vetëm dalje. Një listë e futjeve të kërkuara.

string model

Vetëm dalje. Modeli i përdorur për të gjeneruar ngulitje.

Përfaqësimi JSON
{
  "object": string,
  "data": [
    {
      object (GenerateEmbeddingsEmbedding)
    }
  ],
  "model": string
}

GenerateEmbeddingsEmbedding

Një vektor i integruar i krijuar nga modeli.

Fushat
string object

Vetëm dalje. Gjithmonë "embedding", e kërkuar nga SDK.

index integer

Vetëm dalje. Indeksi i ngulitjes në listën e ngulitjes.

vlera embedding value ( Value format)

Vetëm dalje. Vektori i ngulitjes i krijuar për hyrjen. Mund të jetë ose një listë floats ose një varg base64 që kodon një listë të notave me paraqitjen e stilit C (Numpy i përputhshëm).

Përfaqësimi JSON
{
  "object": string,
  "index": integer,
  "embedding": value
}

HttpBody

Mesazh që përfaqëson një trup arbitrar HTTP. Duhet të përdoret vetëm për formatet e ngarkesës që nuk mund të përfaqësohen si JSON, si p.sh. binar i papërpunuar ose një faqe HTML.

Ky mesazh mund të përdoret si në metodat API të transmetimit ashtu edhe në ato jo-transmetuese në kërkesë, si dhe në përgjigje.

Mund të përdoret si një fushë kërkese e nivelit të lartë, e cila është e përshtatshme nëse dikush dëshiron të nxjerrë parametra nga URL-ja ose shablloni HTTP në fushat e kërkesës dhe gjithashtu dëshiron qasje në trupin e papërpunuar HTTP.

Shembull:

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

}

Shembull me metodat e transmetimit:

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

}

Përdorimi i këtij lloji ndryshon vetëm mënyrën se si trajtohen organet e kërkesës dhe përgjigjes, të gjitha veçoritë e tjera do të vazhdojnë të funksionojnë të pandryshuara.

Fushat
string contentType

Vlera e titullit të llojit të përmbajtjes HTTP që specifikon llojin e përmbajtjes së trupit.

vargu data string ( bytes format)

Trupi i kërkesës/përgjigjes HTTP si binar i papërpunuar.

Një varg i koduar me bazë 64.

extensions[] object

Meta të dhënat e përgjigjes specifike të aplikacionit. Duhet të vendoset në përgjigjen e parë për API-të e transmetimit.

Një objekt që përmban fusha të një lloji arbitrar. Një fushë shtesë "@type" përmban një URI që identifikon llojin. Shembull: { "id": 1234, "@type": "types.example.com/standard/id" } .

Përfaqësimi JSON
{
  "contentType": string,
  "data": string,
  "extensions": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}

Formati i përgjigjes

Përcakton formatin e përgjigjes.

Fushat
type string

E detyrueshme. Lloji i përgjigjes. Mund të jetë ose: - "tekst": Formatoni përgjigjen si tekst. - "json_object": Formatoni përgjigjen si një objekt JSON. - "jsonSchema": Formatoni përgjigjen si një objekt JSON duke ndjekur skemën e dhënë.

Objekti jsonSchema object ( ResponseFormatSchema )

Fakultative. Skema JSON për t'u ndjekur. Përdoret vetëm nëse lloji është "jsonSchema".

Përfaqësimi JSON
{
  "type": string,
  "jsonSchema": {
    object (ResponseFormatSchema)
  }
}

ResponseFormatSchema

Skema për përgjigjen.

Fushat
string description

Fakultative. Përshkrimi i objektit të përfaqësuar nga skema.

string name

E detyrueshme. Emri i llojit të objektit të përfaqësuar nga skema.

boolean strict

Fakultative. Nëse vërtetimi i skemës është i rreptë. Nëse është e vërtetë, modeli do të dështojë nëse skema nuk është e vlefshme. SHËNIM: Ky parametër aktualisht është injoruar.

objekti schema object ( Struct format)

Fakultative. Skema JSON për t'u ndjekur.

Përfaqësimi JSON
{
  "description": string,
  "name": string,
  "strict": boolean,
  "schema": {
    object
  }
}

SdkListModelsResponse

Përgjigje për modelet e listave.

Fushat
string object

Vetëm dalje. Gjithmonë "listë", e kërkuar nga SDK.

objekti data[] object ( SdkModel )

Vetëm dalje. Një listë e futjeve të kërkuara.

Përfaqësimi JSON
{
  "object": string,
  "data": [
    {
      object (SdkModel)
    }
  ]
}

SdkModel

Objekti model.

Fushat
string id

Vetëm dalje. ID e modelit.

string object

Vetëm dalje. Gjithmonë "model", i kërkuar nga SDK.

vargu created string ( int64 format)

Vetëm dalje. Vula kohore Unix (në sekonda) kur u krijua modeli.

owned_by string

Vetëm dalje. Organizata që zotëron modelin.

Përfaqësimi JSON
{
  "id": string,
  "object": string,
  "created": string,
  "owned_by": string
}

Opsionet e transmetimit

Opsione për kërkesat e transmetimit.

Fushat
includeUsage boolean

Fakultative. Nëse është caktuar, përfshini statistikat e përdorimit në përgjigje.

Përfaqësimi JSON
{
  "includeUsage": boolean
}