Skip to main content
REST API 现已经过版本控制。 有关详细信息,请参阅“关于 API 版本控制”。

用于模型推理的 REST API 终结点

可使用 REST API 向指定模型提交聊天补全请求,可选择是否附带组织归属信息。

关于 GitHub Models 推理

可使用 REST API 在 GitHub Models 平台上运行推理请求。

该 API 支持:

  • 从 OpenAI、DeepSeek、Microsoft、Llama 等访问顶级模型。
  • 运行基于聊天的推理请求,可完全控制采样和响应参数。
  • 流式处理或非流式处理完成。
  • 组织归属和使用情况跟踪。

Run an inference request attributed to an organization

This endpoint allows you to run an inference request attributed to a specific organization. You must be a member of the organization and have enabled models to use this endpoint. The token used to authenticate must have the models: read permission if using a fine-grained PAT or GitHub App minted token. The request body should contain the model ID and the messages for the chat completion request. The response will include either a non-streaming or streaming response based on the request parameters.

“Run an inference request attributed to an organization”的参数

标头
名称, 类型, 说明
content-type string 必须

Setting to application/json is required.

accept string

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
org string 必须

The organization login associated with the organization to which the request is to be attributed.

查询参数
名称, 类型, 说明
api-version string

The API version to use. Optional, but required for some features.

正文参数
名称, 类型, 说明
model string 必须

ID of the specific model to use for the request. The model ID should be in the format of {publisher}/{model_name} where "openai/gpt-4.1" is an example of a model ID. You can find supported models in the catalog/models endpoint.

messages array of objects 必须

The collection of context messages associated with this chat completion request. Typical usage begins with a chat message for the System role that provides instructions for the behavior of the assistant, followed by alternating messages between the User and Assistant roles.

名称, 类型, 说明
role string 必须

The chat role associated with this message

可以是以下选项之一: assistant, developer, system, user

content string 必须

The content of the message

frequency_penalty number

A value that influences the probability of generated tokens appearing based on their cumulative frequency in generated text. Positive values will make tokens less likely to appear as their frequency increases and decrease the likelihood of the model repeating the same statements verbatim. Supported range is [-2, 2].

max_tokens integer

The maximum number of tokens to generate in the completion. The token count of your prompt plus max_tokens cannot exceed the model's context length. For example, if your prompt is 100 tokens and you set max_tokens to 50, the API will return a completion with a maximum of 50 tokens.

modalities array of strings

The modalities that the model is allowed to use for the chat completions response. The default modality is text. Indicating an unsupported modality combination results in a 422 error. Supported values are: text, audio

presence_penalty number

A value that influences the probability of generated tokens appearing based on their existing presence in generated text. Positive values will make tokens less likely to appear when they already exist and increase the model's likelihood to output new tokens. Supported range is [-2, 2].

response_format object

The desired format for the response.

名称, 类型, 说明
Object object
名称, 类型, 说明
type string

可以是以下选项之一: text, json_object

Schema for structured JSON response object 必须
名称, 类型, 说明
type string 必须

The type of the response.

: json_schema

json_schema object 必须

The JSON schema for the response.

seed integer

If specified, the system will make a best effort to sample deterministically such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed.

stream boolean

A value indicating whether chat completions should be streamed for this request.

默认: false

stream_options object

Whether to include usage information in the response. Requires stream to be set to true.

名称, 类型, 说明
include_usage boolean

Whether to include usage information in the response.

默认: false

stop array of strings

A collection of textual sequences that will end completion generation.

temperature number

The sampling temperature to use that controls the apparent creativity of generated completions. Higher values will make output more random while lower values will make results more focused and deterministic. It is not recommended to modify temperature and top_p for the same completion request as the interaction of these two settings is difficult to predict. Supported range is [0, 1]. Decimal values are supported.

tool_choice string

If specified, the model will configure which of the provided tools it can use for the chat completions response.

可以是以下选项之一: auto, required, none

tools array of objects

A list of tools the model may request to call. Currently, only functions are supported as a tool. The model may respond with a function call request and provide the input arguments in JSON format for that function.

名称, 类型, 说明
function object
名称, 类型, 说明
name string

The name of the function to be called.

description string

A description of what the function does. The model will use this description when selecting the function and interpreting its parameters.

parameters

The parameters the function accepts, described as a JSON Schema object.

type string

: function

top_p number

An alternative to sampling with temperature called nucleus sampling. This value causes the model to consider the results of tokens with the provided probability mass. As an example, a value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be considered. It is not recommended to modify temperature and top_p for the same request as the interaction of these two settings is difficult to predict. Supported range is [0, 1]. Decimal values are supported.

“Run an inference request attributed to an organization”的 HTTP 响应状态代码

状态代码说明
200

OK

“Run an inference request attributed to an organization”的示例代码

请求示例

post/orgs/{org}/inference/chat/completions
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/orgs/ORG/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'

响应

Status: 200
{ "choices": [ { "message": { "content": "The capital of France is Paris.", "role": "assistant" } } ] }

Run an inference request

This endpoint allows you to run an inference request. The token used to authenticate must have the models: read permission if using a fine-grained PAT or GitHub App minted token. The request body should contain the model ID and the messages for the chat completion request. The response will include either a non-streaming or streaming response based on the request parameters.

“Run an inference request”的参数

标头
名称, 类型, 说明
content-type string 必须

Setting to application/json is required.

accept string

Setting to application/vnd.github+json is recommended.

查询参数
名称, 类型, 说明
api-version string

The API version to use. Optional, but required for some features.

正文参数
名称, 类型, 说明
model string 必须

ID of the specific model to use for the request. The model ID should be in the format of {publisher}/{model_name} where "openai/gpt-4.1" is an example of a model ID. You can find supported models in the catalog/models endpoint.

messages array of objects 必须

The collection of context messages associated with this chat completion request. Typical usage begins with a chat message for the System role that provides instructions for the behavior of the assistant, followed by alternating messages between the User and Assistant roles.

名称, 类型, 说明
role string 必须

The chat role associated with this message

可以是以下选项之一: assistant, developer, system, user

content string 必须

The content of the message

frequency_penalty number

A value that influences the probability of generated tokens appearing based on their cumulative frequency in generated text. Positive values will make tokens less likely to appear as their frequency increases and decrease the likelihood of the model repeating the same statements verbatim. Supported range is [-2, 2].

max_tokens integer

The maximum number of tokens to generate in the completion. The token count of your prompt plus max_tokens cannot exceed the model's context length. For example, if your prompt is 100 tokens and you set max_tokens to 50, the API will return a completion with a maximum of 50 tokens.

modalities array of strings

The modalities that the model is allowed to use for the chat completions response. The default modality is text. Indicating an unsupported modality combination results in a 422 error. Supported values are: text, audio

presence_penalty number

A value that influences the probability of generated tokens appearing based on their existing presence in generated text. Positive values will make tokens less likely to appear when they already exist and increase the model's likelihood to output new tokens. Supported range is [-2, 2].

response_format object

The desired format for the response.

名称, 类型, 说明
Object object
名称, 类型, 说明
type string

可以是以下选项之一: text, json_object

Schema for structured JSON response object 必须
名称, 类型, 说明
type string 必须

The type of the response.

: json_schema

json_schema object 必须

The JSON schema for the response.

seed integer

If specified, the system will make a best effort to sample deterministically such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed.

stream boolean

A value indicating whether chat completions should be streamed for this request.

默认: false

stream_options object

Whether to include usage information in the response. Requires stream to be set to true.

名称, 类型, 说明
include_usage boolean

Whether to include usage information in the response.

默认: false

stop array of strings

A collection of textual sequences that will end completion generation.

temperature number

The sampling temperature to use that controls the apparent creativity of generated completions. Higher values will make output more random while lower values will make results more focused and deterministic. It is not recommended to modify temperature and top_p for the same completion request as the interaction of these two settings is difficult to predict. Supported range is [0, 1]. Decimal values are supported.

tool_choice string

If specified, the model will configure which of the provided tools it can use for the chat completions response.

可以是以下选项之一: auto, required, none

tools array of objects

A list of tools the model may request to call. Currently, only functions are supported as a tool. The model may respond with a function call request and provide the input arguments in JSON format for that function.

名称, 类型, 说明
function object
名称, 类型, 说明
name string

The name of the function to be called.

description string

A description of what the function does. The model will use this description when selecting the function and interpreting its parameters.

parameters

The parameters the function accepts, described as a JSON Schema object.

type string

: function

top_p number

An alternative to sampling with temperature called nucleus sampling. This value causes the model to consider the results of tokens with the provided probability mass. As an example, a value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be considered. It is not recommended to modify temperature and top_p for the same request as the interaction of these two settings is difficult to predict. Supported range is [0, 1]. Decimal values are supported.

“Run an inference request”的 HTTP 响应状态代码

状态代码说明
200

OK

“Run an inference request”的示例代码

请求示例

post/inference/chat/completions
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'

响应

Status: 200
{ "choices": [ { "message": { "content": "The capital of France is Paris.", "role": "assistant" } } ] }