مدلهای Gemini با استفاده از کتابخانههای OpenAI (Python و TypeScript / Javascript) همراه با REST API، با بهروزرسانی سه خط کد و استفاده از کلید Gemini API در دسترس هستند. اطلاعات بیشتر در مورد این ویژگی را در راهنمای سازگاری بخوانید.
روش: تکمیل چت
مجموعه ای از پاسخ ها را از مدل با توجه به ورودی تاریخچه چت ایجاد می کند.
نقطه پایانی
پستhttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
URL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
string
model
مورد نیاز. نام Model
که برای ایجاد تکمیل استفاده می شود. نام مدل با پیشوند "models/" در صورت عدم وجود اسلش در آن قرار می گیرد.
messages[]
object ( Struct
format)
مورد نیاز. تاریخچه چت برای استفاده برای ایجاد تکمیل. از پرس و جوهای تک و چند نوبتی پشتیبانی می کند. توجه: این یک فیلد چند شکلی است و به یک پیام داخلی چت تبدیل شده است.
stream
boolean
اختیاری. آیا برای پخش جریانی پاسخ یا بازگرداندن یک پاسخ واحد.
اگر درست باشد، فیلد "object" در پاسخ "chat.completion.chunk" خواهد بود. در غیر این صورت "chat.completion" خواهد بود.
streamOptions
object ( StreamOptions
)
اختیاری. گزینه هایی برای درخواست های پخش جریانی
tools[]
object ( ChatTool
)
اختیاری. مجموعه ابزارهایی که مدل می تواند برای آنها تماس ایجاد کند. هر ابزار امضای خود را اعلام می کند.
toolChoice
value ( Value
format)
اختیاری. کنترل می کند که آیا مدل باید از یک ابزار استفاده کند یا نه، و از کدام ابزار استفاده کند. می تواند یکی از این موارد باشد: - رشته "none" برای غیرفعال کردن ابزارها. - رشته "خودکار"، برای اینکه مدل تصمیم بگیرد. - رشته "نیاز"، برای وادار کردن مدل به استفاده از ابزار. - یک شیء توصیف کننده نام تابع، که ابزار مورد استفاده را مشخص می کند. آخرین گزینه از طرح زیر پیروی می کند: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
اختیاری. مقدار تکمیل نامزد برای ایجاد. باید یک عدد صحیح مثبت باشد. در صورت تنظیم نشدن، پیشفرض 1 میشود.
stop
value ( Value
format)
اختیاری. مجموعهای از دنبالههای کاراکتر که تولید خروجی را متوقف میکند. توجه: این یک میدان چند شکلی است. منظور از آن شامل یک رشته یا رشته های تکراری است.
maxCompletionTokens
integer
اختیاری. حداکثر تعداد نشانه هایی که باید در یک نامزد پاسخ گنجانده شود. باید یک عدد صحیح مثبت باشد.
maxTokens
integer
اختیاری. حداکثر تعداد نشانه هایی که باید در یک نامزد پاسخ گنجانده شود. باید یک عدد صحیح مثبت باشد. این فیلد توسط SDK منسوخ شده است.
number
temperature
اختیاری. تصادفی بودن خروجی را کنترل می کند.
number
topP
اختیاری. حداکثر احتمال تجمعی نشانه هایی که باید در هنگام نمونه گیری در نظر گرفته شوند.
responseFormat
object ( ResponseFormat
)
اختیاری. قالب پاسخ را تعریف می کند. اگر تنظیم نشود، پاسخ به صورت متن قالب بندی می شود.
بدن پاسخگو
در صورت موفقیت آمیز بودن، پاسخ یک پاسخ HTTP عمومی است که قالب آن با روش تعریف شده است.
روش: تعبیه
جاسازی هایی را از مدلی که یک ورودی داده شده ایجاد می کند.
نقطه پایانی
پستhttps: / /generativelanguage.googleapis.com /v1beta /embeddings
URL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
input
value ( Value
format)
مورد نیاز. ورودی برای ایجاد جاسازی برای. می تواند یک رشته یا لیستی از رشته ها باشد. SDK لیستی از اعداد و فهرستی از اعداد را پشتیبانی می کند، اما این هنوز اجرا نشده است.
string
model
مورد نیاز. مدل سازی برای ایجاد تعبیه برای.
string
encodingFormat
اختیاری. فرمت کدگذاری باید یا "float" یا "base64" باشد.
dimensions
integer
اختیاری. اندازه ابعادی تعبیه های تولید شده.
بدن پاسخگو
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از GenerateEmbeddingsResponse
است.
روش: listModels
مدل های موجود در حال حاضر را فهرست می کند.
نقطه پایانی
https: / /generativelanguage.googleapis.com /v1beta /listModels
را دریافت کنیدURL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست باید خالی باشد.
بدن پاسخگو
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از SdkListModelsResponse
است.
روش: chat.completions
مجموعه ای از پاسخ ها را از مدل با توجه به ورودی تاریخچه چت ایجاد می کند.
نقطه پایانی
پستhttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
URL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
string
model
مورد نیاز. نام Model
که برای ایجاد تکمیل استفاده می شود. نام مدل با پیشوند "models/" در صورت عدم وجود اسلش در آن قرار می گیرد.
messages[]
object ( Struct
format)
مورد نیاز. تاریخچه چت برای استفاده برای ایجاد تکمیل. از پرس و جوهای تک و چند نوبتی پشتیبانی می کند. توجه: این یک فیلد چند شکلی است و به یک پیام داخلی چت تبدیل شده است.
stream
boolean
اختیاری. آیا برای پخش جریانی پاسخ یا بازگرداندن یک پاسخ واحد.
اگر درست باشد، فیلد "object" در پاسخ "chat.completion.chunk" خواهد بود. در غیر این صورت "chat.completion" خواهد بود.
streamOptions
object ( StreamOptions
)
اختیاری. گزینه هایی برای درخواست های پخش جریانی
tools[]
object ( ChatTool
)
اختیاری. مجموعه ابزارهایی که مدل می تواند برای آنها تماس ایجاد کند. هر ابزار امضای خود را اعلام می کند.
toolChoice
value ( Value
format)
اختیاری. کنترل می کند که آیا مدل باید از یک ابزار استفاده کند یا نه، و از کدام ابزار استفاده کند. می تواند یکی از این موارد باشد: - رشته "none" برای غیرفعال کردن ابزارها. - رشته "خودکار"، برای اینکه مدل تصمیم بگیرد. - رشته "نیاز"، برای وادار کردن مدل به استفاده از ابزار. - یک شیء توصیف کننده نام تابع، که ابزار مورد استفاده را مشخص می کند. آخرین گزینه از طرح زیر پیروی می کند: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
اختیاری. مقدار تکمیل نامزدها برای ایجاد. باید یک عدد صحیح مثبت باشد. در صورت تنظیم نشدن به طور پیشفرض 1 میشود.
stop
value ( Value
format)
اختیاری. مجموعهای از دنبالههای کاراکتر که تولید خروجی را متوقف میکند. توجه: این یک میدان چند شکلی است. منظور از آن شامل یک رشته یا رشته های تکراری است.
maxCompletionTokens
integer
اختیاری. حداکثر تعداد نشانه هایی که باید در یک نامزد پاسخ گنجانده شود. باید یک عدد صحیح مثبت باشد.
maxTokens
integer
اختیاری. حداکثر تعداد نشانه هایی که باید در یک نامزد پاسخ گنجانده شود. باید یک عدد صحیح مثبت باشد. این فیلد توسط SDK منسوخ شده است.
number
temperature
اختیاری. تصادفی بودن خروجی را کنترل می کند.
number
topP
اختیاری. حداکثر احتمال تجمعی نشانه هایی که باید در هنگام نمونه گیری در نظر گرفته شوند.
responseFormat
object ( ResponseFormat
)
اختیاری. قالب پاسخ را تعریف می کند. اگر تنظیم نشود، پاسخ به صورت متن قالب بندی می شود.
بدن پاسخگو
در صورت موفقیت آمیز بودن، پاسخ یک پاسخ HTTP عمومی است که قالب آن با روش تعریف شده است.
روش: embeddings.generate
جاسازی هایی را از مدلی که یک ورودی داده شده ایجاد می کند.
نقطه پایانی
پستhttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
URL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
input
value ( Value
format)
مورد نیاز. ورودی برای ایجاد جاسازی برای. می تواند یک رشته یا لیستی از رشته ها باشد. SDK لیستی از اعداد و فهرستی از اعداد را پشتیبانی می کند، اما این هنوز اجرا نشده است.
string
model
مورد نیاز. مدل سازی برای ایجاد تعبیه برای.
string
encodingFormat
اختیاری. فرمت کدگذاری باید یا "float" یا "base64" باشد.
dimensions
integer
اختیاری. اندازه ابعادی تعبیه های تولید شده.
بدن پاسخگو
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از GenerateEmbeddingsResponse
است.
روش: openai.chat.completions
مجموعه ای از پاسخ ها را از مدل با توجه به ورودی تاریخچه چت ایجاد می کند.
نقطه پایانی
پستhttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
URL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
string
model
مورد نیاز. نام Model
که برای ایجاد تکمیل استفاده می شود. نام مدل با پیشوند "models/" در صورت عدم وجود اسلش در آن قرار می گیرد.
messages[]
object ( Struct
format)
مورد نیاز. تاریخچه چت برای استفاده برای ایجاد تکمیل. از پرس و جوهای تک و چند نوبتی پشتیبانی می کند. توجه: این یک فیلد چند شکلی است و به یک پیام داخلی چت تبدیل شده است.
stream
boolean
اختیاری. آیا برای پخش جریانی پاسخ یا بازگرداندن یک پاسخ واحد.
اگر درست باشد، فیلد "object" در پاسخ "chat.completion.chunk" خواهد بود. در غیر این صورت "chat.completion" خواهد بود.
streamOptions
object ( StreamOptions
)
اختیاری. گزینه هایی برای درخواست های پخش جریانی
tools[]
object ( ChatTool
)
اختیاری. مجموعه ابزارهایی که مدل می تواند برای آنها تماس ایجاد کند. هر ابزار امضای خود را اعلام می کند.
toolChoice
value ( Value
format)
اختیاری. کنترل می کند که آیا مدل باید از یک ابزار استفاده کند یا نه، و از کدام ابزار استفاده کند. می تواند یکی از این موارد باشد: - رشته "none" برای غیرفعال کردن ابزارها. - رشته "خودکار"، برای اینکه مدل تصمیم بگیرد. - رشته "نیاز"، برای وادار کردن مدل به استفاده از ابزار. - یک شیء توصیف کننده نام تابع، که ابزار مورد استفاده را مشخص می کند. آخرین گزینه از طرح زیر پیروی می کند: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
اختیاری. مقدار تکمیل نامزد برای ایجاد. باید یک عدد صحیح مثبت باشد. در صورت تنظیم نشدن به طور پیشفرض 1 میشود.
stop
value ( Value
format)
اختیاری. مجموعهای از دنبالههای کاراکتر که تولید خروجی را متوقف میکند. توجه: این یک میدان چند شکلی است. منظور از آن شامل یک رشته یا رشته های تکراری است.
maxCompletionTokens
integer
اختیاری. حداکثر تعداد نشانه هایی که باید در یک نامزد پاسخ گنجانده شود. باید یک عدد صحیح مثبت باشد.
maxTokens
integer
اختیاری. حداکثر تعداد نشانه هایی که باید در یک نامزد پاسخ گنجانده شود. باید یک عدد صحیح مثبت باشد. این فیلد توسط SDK منسوخ شده است.
number
temperature
اختیاری. تصادفی بودن خروجی را کنترل می کند.
number
topP
اختیاری. حداکثر احتمال تجمعی نشانه هایی که باید در هنگام نمونه گیری در نظر گرفته شوند.
responseFormat
object ( ResponseFormat
)
اختیاری. قالب پاسخ را تعریف می کند. اگر تنظیم نشود، پاسخ به صورت متن قالب بندی می شود.
بدن پاسخگو
در صورت موفقیت آمیز بودن، پاسخ یک پاسخ HTTP عمومی است که قالب آن با روش تعریف شده است.
روش: openai.embeddings
جاسازی هایی را از مدلی که یک ورودی داده شده ایجاد می کند.
نقطه پایانی
پستhttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
URL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
input
value ( Value
format)
مورد نیاز. ورودی برای ایجاد جاسازی برای. می تواند یک رشته یا لیستی از رشته ها باشد. SDK لیستی از اعداد و فهرستی از اعداد را پشتیبانی می کند، اما این هنوز اجرا نشده است.
string
model
مورد نیاز. مدل سازی برای ایجاد تعبیه برای.
string
encodingFormat
اختیاری. فرمت کدگذاری باید یا "float" یا "base64" باشد.
dimensions
integer
اختیاری. اندازه ابعادی تعبیه های تولید شده.
بدن پاسخگو
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از GenerateEmbeddingsResponse
است.
روش: openai.models
مدل های موجود در حال حاضر را فهرست می کند.
نقطه پایانی
https: / /generativelanguage.googleapis.com /v1beta /openai /models
دریافت کنیدURL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست باید خالی باشد.
بدن پاسخگو
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از SdkListModelsResponse
است.
ابزار چت
ابزاری که مدل می تواند برای آن فراخوانی ایجاد کند.
function
object ( ChatFunction
)
مورد نیاز. نام ابزار.
string
type
مورد نیاز. مورد نیاز، باید "عملکرد" باشد.
نمایندگی JSON |
---|
{
"function": {
object ( |
عملکرد چت
تابعی که مدل می تواند برای آن فراخوانی ایجاد کند.
string
name
مورد نیاز. نام تابع.
string
description
اختیاری. شرح عملکرد
parameters
object ( Struct
format)
اختیاری. پارامترهای تابع
boolean
strict
اختیاری. اینکه آیا اعتبار سنجی طرحواره سختگیرانه است. اگر درست باشد، اگر طرحواره معتبر نباشد، مدل شکست خواهد خورد. توجه: این پارامتر در حال حاضر نادیده گرفته شده است.
نمایندگی JSON |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
پاسخ برای تولید جاسازی.
string
object
فقط خروجی همیشه "جاسازی"، مورد نیاز SDK.
data[]
object ( GenerateEmbeddingsEmbedding
)
فقط خروجی فهرستی از تعبیههای درخواستی
string
model
فقط خروجی مدل مورد استفاده برای تولید جاسازی ها
نمایندگی JSON |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
یک بردار تعبیه شده تولید شده توسط مدل.
string
object
فقط خروجی همیشه "جاسازی"، مورد نیاز SDK.
integer
index
فقط خروجی فهرست جاسازی در لیست تعبیهها.
embedding
value ( Value
format)
فقط خروجی بردار تعبیه تولید شده برای ورودی. میتواند فهرستی از شناورها یا رشتهای base64 باشد که فهرستی از شناورها را با طرحبندی به سبک C (سازگار با Numpy) کدگذاری میکند.
نمایندگی JSON |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
پیامی که یک بدنه HTTP دلخواه را نشان میدهد. فقط باید برای قالبهای باری استفاده شود که نمیتوانند بهعنوان JSON نشان داده شوند، مانند باینری خام یا صفحه HTML.
این پیام را می توان هم در روش های پخش جریانی و هم در روش های غیر استریم API در درخواست و همچنین پاسخ استفاده کرد.
می توان از آن به عنوان یک فیلد درخواست سطح بالا استفاده کرد، که اگر بخواهید پارامترهایی را از URL یا الگوی HTTP در فیلدهای درخواست استخراج کنید و همچنین بخواهید به بدنه HTTP خام دسترسی داشته باشید، راحت است.
مثال:
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);
}
مثال با روش های پخش:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
استفاده از این نوع فقط نحوه رسیدگی به درخواست و پاسخ بدن را تغییر می دهد، همه ویژگی های دیگر بدون تغییر به کار خود ادامه می دهند.
string
contentType
مقدار هدر HTTP Content-Type که نوع محتوای بدنه را مشخص می کند.
data
string ( bytes format)
بدنه درخواست/پاسخ HTTP به صورت باینری خام.
رشته ای با کد base64.
extensions[]
object
فراداده پاسخ خاص برنامه باید در اولین پاسخ برای APIهای جریانی تنظیم شود.
یک شی حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی "@type"
حاوی یک URI است که نوع را مشخص می کند. مثال: { "id": 1234, "@type": "types.example.com/standard/id" }
.
نمایندگی JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
قالب پاسخ را تعریف می کند.
string
type
مورد نیاز. نوع پاسخ می تواند یکی از این موارد باشد: - "text": پاسخ را به صورت متن قالب بندی کنید. - "json_object": پاسخ را به عنوان یک شی JSON قالب بندی کنید. - "jsonSchema": پاسخ را بهعنوان یک شی JSON به دنبال طرح داده شده قالببندی کنید.
jsonSchema
object ( ResponseFormatSchema
)
اختیاری. طرح JSON برای دنبال کردن. فقط در صورتی استفاده می شود که نوع "jsonSchema" باشد.
نمایندگی JSON |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
طرح واره برای پاسخ.
string
description
اختیاری. شرح شی نشان داده شده توسط طرحواره.
string
name
مورد نیاز. نام نوع شی نشان داده شده توسط طرحواره.
boolean
strict
اختیاری. اینکه آیا اعتبار سنجی طرحواره سختگیرانه است. اگر درست باشد، اگر طرحواره معتبر نباشد، مدل شکست خواهد خورد. توجه: این پارامتر در حال حاضر نادیده گرفته شده است.
schema
object ( Struct
format)
اختیاری. طرح JSON برای دنبال کردن.
نمایندگی JSON |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
پاسخ برای مدل های لیست
string
object
فقط خروجی همیشه "فهرست"، مورد نیاز SDK.
data[]
object ( SdkModel
)
فقط خروجی فهرستی از تعبیههای درخواستی
نمایندگی JSON |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
شی مدل.
id
string
فقط خروجی شناسه مدل
string
object
فقط خروجی همیشه "مدل"، مورد نیاز SDK.
created
string ( int64 format)
فقط خروجی مهر زمانی یونیکس (در ثانیه) هنگام ایجاد مدل.
owned_by
string
فقط خروجی سازمانی که صاحب مدل است.
نمایندگی JSON |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |