Bạn có thể truy cập vào các mô hình Gemini bằng cách sử dụng thư viện OpenAI (Python và TypeScript / Javascript) cùng với API REST, bằng cách cập nhật 3 dòng mã và sử dụng khoá API Gemini. Đọc thêm về tính năng này trong hướng dẫn về khả năng tương thích.
Phương thức: chatCompletions
Tạo một tập hợp các câu trả lời từ mô hình dựa trên dữ liệu đầu vào là nhật ký trò chuyện.
Điểm cuối
bài đănghttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
model
string
Bắt buộc. Tên của Model
dùng để tạo thao tác hoàn tất. Tên mô hình sẽ có tiền tố là "models/" nếu không có dấu gạch chéo nào xuất hiện trong tên đó.
messages[]
object (Struct
format)
Bắt buộc. Nhật ký trò chuyện dùng để tạo nội dung hoàn thành. Hỗ trợ truy vấn một và nhiều lượt. Lưu ý: Đây là một trường đa hình, được chuyển đổi tuần tự thành InternalChatMessage.
stream
boolean
Không bắt buộc. Liệu có truyền trực tuyến phản hồi hay trả về một phản hồi duy nhất.
Nếu đúng, trường "object" trong phản hồi sẽ là "chat.completion.chunk". Nếu không, đó sẽ là "chat.completion".
streamOptions
object (StreamOptions
)
Không bắt buộc. Các tuỳ chọn cho yêu cầu truyền trực tuyến.
tools[]
object (ChatTool
)
Không bắt buộc. Tập hợp các công cụ mà mô hình có thể tạo lệnh gọi. Mỗi công cụ sẽ khai báo chữ ký của riêng công cụ đó.
toolChoice
value (Value
format)
Không bắt buộc. Kiểm soát việc mô hình có nên sử dụng công cụ hay không và sử dụng công cụ nào. Có thể là: – Chuỗi "none" (không có) để tắt các công cụ. – Chuỗi "tự động" để cho phép mô hình quyết định. – Chuỗi "bắt buộc" để buộc mô hình sử dụng một công cụ. – Đối tượng mô tả tên hàm, chỉ định công cụ cần sử dụng. Tuỳ chọn cuối cùng tuân theo giản đồ sau: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Không bắt buộc. Số lượng lượt hoàn thành đề xuất để tạo. Phải là số nguyên dương. Mặc định là 1 nếu không được đặt.
stop
value (Value
format)
Không bắt buộc. Tập hợp các chuỗi ký tự sẽ dừng quá trình tạo đầu ra. Lưu ý: Đây là một trường đa hình. Chuỗi này dùng để chứa một chuỗi hoặc các chuỗi lặp lại.
maxCompletionTokens
integer
Không bắt buộc. Số lượng mã thông báo tối đa để đưa vào một đề xuất phản hồi. Phải là số nguyên dương.
maxTokens
integer
Không bắt buộc. Số lượng mã thông báo tối đa để đưa vào một đề xuất phản hồi. Phải là số nguyên dương. SDK không còn dùng trường này nữa.
temperature
number
Không bắt buộc. Kiểm soát tính ngẫu nhiên của kết quả.
topP
number
Không bắt buộc. Xác suất tích luỹ tối đa của mã thông báo cần xem xét khi lấy mẫu.
responseFormat
object (ResponseFormat
)
Không bắt buộc. Xác định định dạng của phản hồi. Nếu bạn không đặt, phản hồi sẽ được định dạng dưới dạng văn bản.
Nội dung phản hồi
Nếu thành công, phản hồi sẽ là một phản hồi HTTP chung có định dạng do phương thức xác định.
Phương thức: embeddings
Tạo các mục nhúng từ mô hình dựa trên dữ liệu đầu vào.
Điểm cuối
bài đănghttps: / /generativelanguage.googleapis.com /v1beta /embeddings
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
input
value (Value
format)
Bắt buộc. Dữ liệu đầu vào để tạo các giá trị nhúng. Có thể là một chuỗi hoặc danh sách chuỗi. SDK hỗ trợ danh sách số và danh sách danh sách số, nhưng tính năng này chưa được triển khai.
model
string
Bắt buộc. Mô hình để tạo các mục nhúng.
encodingFormat
string
Không bắt buộc. Định dạng của quá trình mã hoá. Phải là "float" hoặc "base64".
dimensions
integer
Không bắt buộc. Kích thước chiều của các phần nhúng được tạo.
Nội dung phản hồi
Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của GenerateEmbeddingsResponse
.
Phương thức: listModels
Liệt kê các mô hình hiện có.
Điểm cuối
gethttps: / /generativelanguage.googleapis.com /v1beta /listModels
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu phải trống.
Nội dung phản hồi
Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của SdkListModelsResponse
.
Phương thức: chat.completions
Tạo một tập hợp các câu trả lời từ mô hình dựa trên dữ liệu đầu vào là nhật ký trò chuyện.
Điểm cuối
bài đănghttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
model
string
Bắt buộc. Tên của Model
dùng để tạo thao tác hoàn tất. Tên mô hình sẽ có tiền tố là "models/" nếu không có dấu gạch chéo nào xuất hiện trong tên đó.
messages[]
object (Struct
format)
Bắt buộc. Nhật ký trò chuyện dùng để tạo nội dung hoàn thành. Hỗ trợ truy vấn một và nhiều lượt. Lưu ý: Đây là một trường đa hình, được chuyển đổi tuần tự thành InternalChatMessage.
stream
boolean
Không bắt buộc. Liệu có truyền trực tuyến phản hồi hay trả về một phản hồi duy nhất.
Nếu đúng, trường "object" trong phản hồi sẽ là "chat.completion.chunk". Nếu không, đó sẽ là "chat.completion".
streamOptions
object (StreamOptions
)
Không bắt buộc. Các tuỳ chọn cho yêu cầu truyền trực tuyến.
tools[]
object (ChatTool
)
Không bắt buộc. Tập hợp các công cụ mà mô hình có thể tạo lệnh gọi. Mỗi công cụ sẽ khai báo chữ ký của riêng công cụ đó.
toolChoice
value (Value
format)
Không bắt buộc. Kiểm soát việc mô hình có nên sử dụng công cụ hay không và sử dụng công cụ nào. Có thể là: – Chuỗi "none" (không có) để tắt các công cụ. – Chuỗi "tự động" để cho phép mô hình quyết định. – Chuỗi "bắt buộc" để buộc mô hình sử dụng một công cụ. – Đối tượng mô tả tên hàm, chỉ định công cụ cần sử dụng. Tuỳ chọn cuối cùng tuân theo giản đồ sau: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Không bắt buộc. Số lượng lượt hoàn thành đề xuất để tạo. Phải là số nguyên dương. Mặc định là 1 nếu không được đặt.
stop
value (Value
format)
Không bắt buộc. Tập hợp các chuỗi ký tự sẽ dừng quá trình tạo đầu ra. Lưu ý: Đây là một trường đa hình. Chuỗi này dùng để chứa một chuỗi hoặc các chuỗi lặp lại.
maxCompletionTokens
integer
Không bắt buộc. Số lượng mã thông báo tối đa để đưa vào một đề xuất phản hồi. Phải là số nguyên dương.
maxTokens
integer
Không bắt buộc. Số lượng mã thông báo tối đa để đưa vào một đề xuất phản hồi. Phải là số nguyên dương. SDK không còn dùng trường này nữa.
temperature
number
Không bắt buộc. Kiểm soát tính ngẫu nhiên của kết quả.
topP
number
Không bắt buộc. Xác suất tích luỹ tối đa của mã thông báo cần xem xét khi lấy mẫu.
responseFormat
object (ResponseFormat
)
Không bắt buộc. Xác định định dạng của phản hồi. Nếu bạn không đặt, phản hồi sẽ được định dạng dưới dạng văn bản.
Nội dung phản hồi
Nếu thành công, phản hồi sẽ là một phản hồi HTTP chung có định dạng do phương thức xác định.
Phương thức: embeddings.generate
Tạo các mục nhúng từ mô hình dựa trên dữ liệu đầu vào.
Điểm cuối
bài đănghttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
input
value (Value
format)
Bắt buộc. Dữ liệu đầu vào để tạo các giá trị nhúng. Có thể là một chuỗi hoặc danh sách chuỗi. SDK hỗ trợ danh sách số và danh sách danh sách số, nhưng tính năng này chưa được triển khai.
model
string
Bắt buộc. Mô hình để tạo các mục nhúng.
encodingFormat
string
Không bắt buộc. Định dạng của quá trình mã hoá. Phải là "float" hoặc "base64".
dimensions
integer
Không bắt buộc. Kích thước chiều của các phần nhúng được tạo.
Nội dung phản hồi
Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của GenerateEmbeddingsResponse
.
Phương thức: openai.chat.completions
Tạo một tập hợp các câu trả lời từ mô hình dựa trên dữ liệu đầu vào là nhật ký trò chuyện.
Điểm cuối
bài đănghttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
model
string
Bắt buộc. Tên của Model
dùng để tạo thao tác hoàn tất. Tên mô hình sẽ có tiền tố là "models/" nếu không có dấu gạch chéo nào xuất hiện trong tên đó.
messages[]
object (Struct
format)
Bắt buộc. Nhật ký trò chuyện dùng để tạo nội dung hoàn thành. Hỗ trợ truy vấn một và nhiều lượt. Lưu ý: Đây là một trường đa hình, được chuyển đổi tuần tự thành InternalChatMessage.
stream
boolean
Không bắt buộc. Liệu có truyền trực tuyến phản hồi hay trả về một phản hồi duy nhất.
Nếu đúng, trường "object" trong phản hồi sẽ là "chat.completion.chunk". Nếu không, đó sẽ là "chat.completion".
streamOptions
object (StreamOptions
)
Không bắt buộc. Các tuỳ chọn cho yêu cầu truyền trực tuyến.
tools[]
object (ChatTool
)
Không bắt buộc. Tập hợp các công cụ mà mô hình có thể tạo lệnh gọi. Mỗi công cụ sẽ khai báo chữ ký của riêng công cụ đó.
toolChoice
value (Value
format)
Không bắt buộc. Kiểm soát việc mô hình có nên sử dụng công cụ hay không và sử dụng công cụ nào. Có thể là: – Chuỗi "none" (không có) để tắt các công cụ. – Chuỗi "tự động" để cho phép mô hình quyết định. – Chuỗi "bắt buộc" để buộc mô hình sử dụng một công cụ. – Đối tượng mô tả tên hàm, chỉ định công cụ cần sử dụng. Tuỳ chọn cuối cùng tuân theo giản đồ sau: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Không bắt buộc. Số lượng lượt hoàn thành đề xuất để tạo. Phải là số nguyên dương. Mặc định là 1 nếu không được đặt.
stop
value (Value
format)
Không bắt buộc. Tập hợp các chuỗi ký tự sẽ dừng quá trình tạo đầu ra. Lưu ý: Đây là một trường đa hình. Chuỗi này dùng để chứa một chuỗi hoặc các chuỗi lặp lại.
maxCompletionTokens
integer
Không bắt buộc. Số lượng mã thông báo tối đa để đưa vào một đề xuất phản hồi. Phải là số nguyên dương.
maxTokens
integer
Không bắt buộc. Số lượng mã thông báo tối đa để đưa vào một đề xuất phản hồi. Phải là số nguyên dương. SDK không còn dùng trường này nữa.
temperature
number
Không bắt buộc. Kiểm soát tính ngẫu nhiên của kết quả.
topP
number
Không bắt buộc. Xác suất tích luỹ tối đa của mã thông báo cần xem xét khi lấy mẫu.
responseFormat
object (ResponseFormat
)
Không bắt buộc. Xác định định dạng của phản hồi. Nếu bạn không đặt, phản hồi sẽ được định dạng dưới dạng văn bản.
Nội dung phản hồi
Nếu thành công, phản hồi sẽ là một phản hồi HTTP chung có định dạng do phương thức xác định.
Phương thức: openai.embeddings
Tạo các mục nhúng từ mô hình dựa trên dữ liệu đầu vào.
Điểm cuối
bài đănghttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
input
value (Value
format)
Bắt buộc. Dữ liệu đầu vào để tạo các giá trị nhúng. Có thể là một chuỗi hoặc danh sách chuỗi. SDK hỗ trợ danh sách số và danh sách danh sách số, nhưng tính năng này chưa được triển khai.
model
string
Bắt buộc. Mô hình để tạo các mục nhúng.
encodingFormat
string
Không bắt buộc. Định dạng của quá trình mã hoá. Phải là "float" hoặc "base64".
dimensions
integer
Không bắt buộc. Kích thước chiều của các phần nhúng được tạo.
Nội dung phản hồi
Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của GenerateEmbeddingsResponse
.
Phương thức: openai.models
Liệt kê các mô hình hiện có.
Điểm cuối
gethttps: / /generativelanguage.googleapis.com /v1beta /openai /models
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu phải trống.
Nội dung phản hồi
Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của SdkListModelsResponse
.
ChatTool
Một công cụ mà mô hình có thể tạo lệnh gọi.
function
object (ChatFunction
)
Bắt buộc. Tên của công cụ.
type
string
Bắt buộc. Bắt buộc, phải là "hàm".
Biểu diễn dưới dạng JSON |
---|
{
"function": {
object ( |
ChatFunction
Một hàm mà mô hình có thể tạo lệnh gọi.
name
string
Bắt buộc. Tên hàm.
description
string
Không bắt buộc. Nội dung mô tả về hàm.
parameters
object (Struct
format)
Không bắt buộc. Các tham số của hàm.
strict
boolean
Không bắt buộc. Liệu quy trình xác thực giản đồ có nghiêm ngặt hay không. Nếu giá trị là true, mô hình sẽ không thành công nếu giản đồ không hợp lệ. LƯU Ý: Thông số này hiện bị bỏ qua.
Biểu diễn dưới dạng JSON |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
Phản hồi để tạo tính năng nhúng.
object
string
Chỉ có đầu ra. Luôn "nhúng", theo yêu cầu của SDK.
data[]
object (GenerateEmbeddingsEmbedding
)
Chỉ có đầu ra. Danh sách các nội dung nhúng được yêu cầu.
model
string
Chỉ có đầu ra. Mô hình dùng để tạo các mục nhúng.
Biểu diễn dưới dạng JSON |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
Một vectơ nhúng do mô hình tạo ra.
object
string
Chỉ có đầu ra. Luôn "nhúng", theo yêu cầu của SDK.
index
integer
Chỉ có đầu ra. Chỉ mục của phần nhúng trong danh sách phần nhúng.
embedding
value (Value
format)
Chỉ có đầu ra. Vectơ nhúng được tạo cho dữ liệu đầu vào. Có thể là danh sách số thực hoặc chuỗi base64 mã hoá danh sách số thực có bố cục kiểu C (tương thích với Numpy).
Biểu diễn dưới dạng JSON |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
Thông báo đại diện cho nội dung HTTP tùy ý. Chỉ nên sử dụng HttpBody cho các định dạng nội dung không thể biểu diễn dưới dạng JSON, chẳng hạn như trang nhị phân thô hoặc trang HTML.
Có thể sử dụng thông báo này trong cả các phương thức API phát trực tuyến và không phải phát trực tuyến trong yêu cầu cũng như phản hồi.
HttpBody có thể dùng làm trường yêu cầu cấp cao nhất. Điều này rất thuận tiện nếu người dùng muốn trích xuất các tham số từ mẫu URL hoặc HTTP vào các trường yêu cầu và cũng muốn truy cập vào phần nội dung HTTP thô.
Ví dụ:
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);
}
Ví dụ với các phương thức phát trực tuyến:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
Việc sử dụng loại thông báo này chỉ thay đổi cách xử lý các yêu cầu và nội dung phản hồi, tất cả các tính năng khác sẽ tiếp tục hoạt động theo cách như cũ.
contentType
string
Giá trị tiêu đề HTTP Content-Type chỉ định loại nội dung của nội dung.
data
string (bytes format)
Nội dung yêu cầu/phản hồi HTTP dưới dạng tệp nhị phân thô.
Chuỗi được mã hoá base64.
extensions[]
object
Siêu dữ liệu về phản hồi dành riêng cho ứng dụng. Phải được đặt trong phản hồi đầu tiên cho API phát trực tuyến.
Một đối tượng chứa các trường thuộc một loại tuỳ ý. Một trường bổ sung "@type"
chứa URI xác định loại. Ví dụ: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Biểu diễn dưới dạng JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
Xác định định dạng của phản hồi.
type
string
Bắt buộc. Loại phản hồi. Có thể là: – "text": Định dạng câu trả lời dưới dạng văn bản. – "json_object": Định dạng phản hồi dưới dạng đối tượng JSON. – "jsonSchema": Định dạng phản hồi dưới dạng đối tượng JSON theo giản đồ đã cho.
jsonSchema
object (ResponseFormatSchema
)
Không bắt buộc. Giản đồ JSON cần tuân theo. Chỉ được dùng nếu loại là "jsonSchema".
Biểu diễn dưới dạng JSON |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
Giản đồ cho phản hồi.
description
string
Không bắt buộc. Nội dung mô tả đối tượng được biểu thị bằng giản đồ.
name
string
Bắt buộc. Tên của loại đối tượng được biểu thị bằng giản đồ.
strict
boolean
Không bắt buộc. Liệu quy trình xác thực giản đồ có nghiêm ngặt hay không. Nếu giá trị là true, mô hình sẽ không thành công nếu giản đồ không hợp lệ. LƯU Ý: Thông số này hiện bị bỏ qua.
schema
object (Struct
format)
Không bắt buộc. Giản đồ JSON cần tuân theo.
Biểu diễn dưới dạng JSON |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
Phản hồi cho các mô hình danh sách.
object
string
Chỉ có đầu ra. Luôn là "danh sách", bắt buộc theo SDK.
data[]
object (SdkModel
)
Chỉ có đầu ra. Danh sách các nội dung nhúng được yêu cầu.
Biểu diễn dưới dạng JSON |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
Đối tượng mô hình.
id
string
Chỉ có đầu ra. Mã nhận dạng của mô hình.
object
string
Chỉ có đầu ra. Luôn là "mô hình", do SDK yêu cầu.
created
string (int64 format)
Chỉ có đầu ra. Dấu thời gian Unix (tính bằng giây) khi mô hình được tạo.
owned_by
string
Chỉ có đầu ra. Tổ chức sở hữu mô hình.
Biểu diễn dưới dạng JSON |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |