OpenAI compatibility

مدل‌های 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 (ChatFunction)
  },
  "type": string
}

عملکرد چت

تابعی که مدل می تواند برای آن فراخوانی ایجاد کند.

فیلدها
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)
    }
  ],
  "model": string
}

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

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)
    }
  ]
}

SdkModel

شی مدل.

فیلدها
id string

فقط خروجی شناسه مدل

string object

فقط خروجی همیشه "مدل"، مورد نیاز SDK.

رشته created string ( int64 format)

فقط خروجی مهر زمانی یونیکس (در ثانیه) هنگام ایجاد مدل.

owned_by string

فقط خروجی سازمانی که صاحب مدل است.

نمایندگی JSON
{
  "id": string,
  "object": string,
  "created": string,
  "owned_by": string
}

گزینه های جریان

گزینه هایی برای درخواست های پخش جریانی

فیلدها
includeUsage boolean

اختیاری. در صورت تنظیم، آمار استفاده را در پاسخ لحاظ کنید.

نمایندگی JSON
{
  "includeUsage": boolean
}