Доступ к моделям Gemini можно получить с помощью библиотек OpenAI (Python и TypeScript/Javascript) вместе с REST API, обновив три строки кода и используя ключ Gemini API . Подробнее об этой функции читайте в руководстве по совместимости .
Метод: чатCompletions
Генерирует набор ответов из модели с учетом входных данных истории чата.
Конечная точка
опубликуйтеhttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса содержит данные следующей структуры:
model
string
Необходимый. Имя Model
, используемой для создания завершения. Имя модели будет иметь префикс «models/», если в нем нет косой черты.
messages[]
object ( Struct
format)
Необходимый. История чата, используемая для создания завершения. Поддерживает одно- и многоповоротные запросы. Примечание. Это полиморфное поле, оно десериализуется в InternalChatMessage.
stream
boolean
Необязательный. Следует ли передавать ответ в потоковом режиме или возвращать один ответ.
Если это правда, поле «объект» в ответе будет «chat.completion.chunk». В противном случае это будет «chat.completion».
streamOptions
object ( StreamOptions
)
Необязательный. Варианты потоковой передачи запросов.
tools[]
object ( ChatTool
)
Необязательный. Набор инструментов, к которым модель может генерировать вызовы. Каждый инструмент декларирует свою подпись.
toolChoice
value ( Value
format)
Необязательный. Определяет, должна ли модель использовать какой-либо инструмент и какой инструмент использовать. Может быть: - Строка «none» для отключения инструментов. - Строка «авто», чтобы позволить модели решать. — Строка «required», чтобы заставить модель использовать инструмент. — Объект дескриптора имени функции, определяющий используемый инструмент. Последний параметр соответствует следующей схеме: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Необязательный. Количество завершенных кандидатов, которые необходимо сгенерировать. Должно быть положительным целым числом. По умолчанию 1, если не установлено.
stop
value ( Value
format)
Необязательный. Набор последовательностей символов, которые останавливают создание выходных данных. Примечание. Это полиморфное поле. Он предназначен для хранения строки или повторяющихся строк.
integer
maxCompletionTokens
Необязательный. Максимальное количество токенов, которые можно включить в кандидата ответа. Должно быть положительным целым числом.
integer
maxTokens
Необязательный. Максимальное количество токенов, которые можно включить в кандидата ответа. Должно быть положительным целым числом. Это поле устарело в SDK.
number
temperature
Необязательный. Управляет случайностью вывода.
number
topP
Необязательный. Максимальная совокупная вероятность токенов, которую следует учитывать при выборке.
object ( ResponseFormat )
responseFormat
Необязательный. Определяет формат ответа. Если не установлено, ответ будет отформатирован как текст.
Тело ответа
В случае успеха ответ представляет собой общий ответ HTTP, формат которого определяется методом.
Метод: вложения
Генерирует внедрения из модели с учетом входных данных.
Конечная точка
опубликуйтеhttps: / /generativelanguage.googleapis.com /v1beta /embeddings
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса содержит данные следующей структуры:
input
value ( Value
format)
Необходимый. Входные данные для создания вложений. Может быть строкой или списком строк. SDK поддерживает список номеров и список номеров, но это еще не реализовано.
model
string
Необходимый. Модель для создания вложений.
string
encodingFormat
Необязательный. Формат кодировки. Должно быть либо «float», либо «base64».
dimensions
integer
Необязательный. Размерность создаваемых вложений.
Тело ответа
В случае успеха тело ответа содержит экземпляр GenerateEmbeddingsResponse
.
Метод: listModels
Перечисляет доступные на данный момент модели.
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /listModels
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса должно быть пустым.
Тело ответа
В случае успеха тело ответа содержит экземпляр SdkListModelsResponse
.
Метод: чат.завершения
Генерирует набор ответов из модели с учетом входных данных истории чата.
Конечная точка
опубликоватьhttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса содержит данные следующей структуры:
model
string
Необходимый. Имя Model
, используемой для создания завершения. Имя модели будет иметь префикс «models/», если в нем нет косой черты.
messages[]
object ( Struct
format)
Необходимый. История чата, используемая для создания завершения. Поддерживает одно- и многоповоротные запросы. Примечание. Это полиморфное поле, оно десериализуется в InternalChatMessage.
stream
boolean
Необязательный. Следует ли передавать ответ в потоковом режиме или возвращать один ответ.
Если это правда, поле «объект» в ответе будет «chat.completion.chunk». В противном случае это будет «chat.completion».
streamOptions
object ( StreamOptions
)
Необязательный. Варианты потоковой передачи запросов.
tools[]
object ( ChatTool
)
Необязательный. Набор инструментов, для которых модель может генерировать вызовы. Каждый инструмент декларирует свою подпись.
toolChoice
value ( Value
format)
Необязательный. Определяет, должна ли модель использовать инструмент или нет, а также какой инструмент использовать. Может быть: - Строка «none» для отключения инструментов. - Строка «авто», чтобы позволить модели решать. — Строка «required», чтобы заставить модель использовать инструмент. — Объект дескриптора имени функции, определяющий используемый инструмент. Последний параметр соответствует следующей схеме: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Необязательный. Количество завершенных кандидатов, которые необходимо сгенерировать. Должно быть положительным целым числом. По умолчанию 1, если не установлено.
stop
value ( Value
format)
Необязательный. Набор последовательностей символов, которые останавливают создание выходных данных. Примечание. Это полиморфное поле. Он предназначен для хранения строки или повторяющихся строк.
integer
maxCompletionTokens
Необязательный. Максимальное количество токенов, которые можно включить в кандидата ответа. Должно быть положительным целым числом.
integer
maxTokens
Необязательный. Максимальное количество токенов, которые можно включить в кандидата ответа. Должно быть положительным целым числом. Это поле устарело в SDK.
number
temperature
Необязательный. Управляет случайностью вывода.
number
topP
Необязательный. Максимальная совокупная вероятность токенов, которую следует учитывать при выборке.
object ( ResponseFormat )
responseFormat
Необязательный. Определяет формат ответа. Если не установлено, ответ будет отформатирован как текст.
Тело ответа
В случае успеха ответ представляет собой общий ответ HTTP, формат которого определяется методом.
Метод: embeddings.generate
Генерирует внедрения из модели с учетом входных данных.
Конечная точка
опубликуйтеhttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса содержит данные следующей структуры:
input
value ( Value
format)
Необходимый. Входные данные для создания вложений. Может быть строкой или списком строк. SDK поддерживает список номеров и список номеров, но это еще не реализовано.
model
string
Необходимый. Модель для создания вложений.
string
encodingFormat
Необязательный. Формат кодировки. Должно быть либо «float», либо «base64».
dimensions
integer
Необязательный. Размерность создаваемых вложений.
Тело ответа
В случае успеха тело ответа содержит экземпляр GenerateEmbeddingsResponse
.
Метод: openai.chat.completions
Генерирует набор ответов из модели с учетом входных данных истории чата.
Конечная точка
опубликоватьhttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса содержит данные следующей структуры:
model
string
Необходимый. Имя Model
, используемой для создания завершения. Имя модели будет иметь префикс «models/», если в нем нет косой черты.
messages[]
object ( Struct
format)
Необходимый. История чата, используемая для создания завершения. Поддерживает одно- и многоповоротные запросы. Примечание. Это полиморфное поле, оно десериализуется в InternalChatMessage.
stream
boolean
Необязательный. Следует ли передавать ответ в потоковом режиме или возвращать один ответ.
Если это правда, поле «объект» в ответе будет «chat.completion.chunk». В противном случае это будет «chat.completion».
streamOptions
object ( StreamOptions
)
Необязательный. Варианты потоковой передачи запросов.
tools[]
object ( ChatTool
)
Необязательный. Набор инструментов, к которым модель может генерировать вызовы. Каждый инструмент декларирует свою подпись.
toolChoice
value ( Value
format)
Необязательный. Определяет, должна ли модель использовать какой-либо инструмент и какой инструмент использовать. Может быть: - Строка «none» для отключения инструментов. - Строка «авто», чтобы позволить модели решать. — Строка «required», чтобы заставить модель использовать инструмент. — Объект дескриптора имени функции, определяющий используемый инструмент. Последний параметр соответствует следующей схеме: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Необязательный. Количество завершенных кандидатов, которые необходимо сгенерировать. Должно быть положительным целым числом. По умолчанию 1, если не установлено.
stop
value ( Value
format)
Необязательный. Набор последовательностей символов, которые останавливают создание выходных данных. Примечание. Это полиморфное поле. Он предназначен для хранения строки или повторяющихся строк.
integer
maxCompletionTokens
Необязательный. Максимальное количество токенов, которые можно включить в кандидата ответа. Должно быть положительным целым числом.
integer
maxTokens
Необязательный. Максимальное количество токенов, которые можно включить в кандидата ответа. Должно быть положительным целым числом. Это поле устарело в SDK.
number
temperature
Необязательный. Управляет случайностью вывода.
number
topP
Необязательный. Максимальная совокупная вероятность токенов, которую следует учитывать при выборке.
object ( ResponseFormat )
responseFormat
Необязательный. Определяет формат ответа. Если не установлено, ответ будет отформатирован как текст.
Тело ответа
В случае успеха ответ представляет собой общий ответ HTTP, формат которого определяется методом.
Метод: openai.embeddings
Генерирует внедрения из модели с учетом входных данных.
Конечная точка
опубликуйтеhttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса содержит данные следующей структуры:
input
value ( Value
format)
Необходимый. Входные данные для создания вложений. Может быть строкой или списком строк. SDK поддерживает список номеров и список номеров, но это еще не реализовано.
model
string
Необходимый. Модель для создания вложений.
string
encodingFormat
Необязательный. Формат кодировки. Должно быть либо «float», либо «base64».
dimensions
integer
Необязательный. Размерность создаваемых вложений.
Тело ответа
В случае успеха тело ответа содержит экземпляр GenerateEmbeddingsResponse
.
Метод: openai.models
Перечисляет доступные на данный момент модели.
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /openai /models
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса должно быть пустым.
Тело ответа
В случае успеха тело ответа содержит экземпляр SdkListModelsResponse
.
ЧатИнструмент
Инструмент, к которому модель может генерировать вызовы.
function
object ( ChatFunction
)
Необходимый. Название инструмента.
type
string
Необходимый. Обязательно, должна быть «функция».
JSON-представление |
---|
{
"function": {
object ( |
ЧатФункция
Функция, вызовы которой может генерировать модель.
string
name
Необходимый. Имя функции.
string
description
Необязательный. Описание функции.
parameters
object ( Struct
format)
Необязательный. Параметры функции.
strict
boolean
Необязательный. Является ли проверка схемы строгой. Если это правда, модель завершится ошибкой, если схема недействительна. ПРИМЕЧАНИЕ. В настоящее время этот параметр игнорируется.
JSON-представление |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
Генератэмбеддингсответ
Ответ на встраивание генерации.
string
object
Только вывод. Всегда «встраивание», требуемое SDK.
data[]
object ( GenerateEmbeddingsEmbedding
)
Только вывод. Список запрошенных вложений.
model
string
Только вывод. Модель, используемая для создания вложений.
JSON-представление |
---|
{
"object": string,
"data": [
{
object ( |
ГенерироватьEmbeddingsEmbedding
Вектор внедрения, сгенерированный моделью.
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.
object
extensions[]
Метаданные ответа конкретного приложения. Должен быть установлен в первом ответе для API потоковой передачи.
Объект, содержащий поля произвольного типа. Дополнительное поле "@type"
содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" }
.
JSON-представление |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
Формат ответа
Определяет формат ответа.
type
string
Необходимый. Тип ответа. Может быть: - «текст»: отформатируйте ответ как текст. - «json_object»: отформатируйте ответ как объект JSON. - «jsonSchema»: отформатируйте ответ как объект JSON, соответствующий заданной схеме.
jsonSchema
object ( ResponseFormatSchema
)
Необязательный. Схема JSON, которой нужно следовать. Используется только в том случае, если тип — «jsonSchema».
JSON-представление |
---|
{
"type": string,
"jsonSchema": {
object ( |
ОтветФорматСхема
Схема ответа.
string
description
Необязательный. Описание объекта, представленного схемой.
string
name
Необходимый. Имя типа объекта, представленного схемой.
strict
boolean
Необязательный. Является ли проверка схемы строгой. Если это правда, модель завершится ошибкой, если схема недействительна. ПРИМЕЧАНИЕ. В настоящее время этот параметр игнорируется.
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 ( |
СдкМодель
Модельный объект.
string
id
Только вывод. Идентификатор модели.
string
object
Только вывод. Всегда «модель», требуемая SDK.
created
string ( int64 format)
Только вывод. Временная метка Unix (в секундах), когда была создана модель.
string
owned_by
Только вывод. Организация, владеющая моделью.
JSON-представление |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |