完成

创建补全

POST /completions

使用所选的大型语言模型(LLM)生成文本补全。

Completions

post
Authorizations
x-portkey-api-keystringRequired
x-portkey-virtual-keystringRequired
Body
modelany ofRequired

ID of the model to use. You can use the List models API to see all of your available models, or see our Model overview for descriptions of them.

stringOptional
or
string · enumOptionalPossible values:
promptone of | nullableRequired

The prompt(s) to generate completions for, encoded as a string, array of strings, array of tokens, or array of token arrays.

Note that <|endoftext|> is the document separator that the model sees during training, so if a prompt is not specified the model will generate as if from the beginning of a new document.

Default: <|endoftext|>
stringOptionalDefault: ""Example: This is a test.
or
string[]OptionalExample: This is a test.
or
integer[] · min: 1OptionalExample: [1212, 318, 257, 1332, 13]
or
best_ofinteger | nullableOptional

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token). Results cannot be streamed.

When used with n, best_of controls the number of candidate completions and n specifies how many to return – best_of must be greater than n.

Note: Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for max_tokens and stop.

Default: 1
echoboolean | nullableOptional

Echo back the prompt in addition to the completion

Default: false
frequency_penaltynumber | nullableOptional

Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.

See more information about frequency and presence penalties.

Default: 0
logprobsinteger | nullableOptional

Include the log probabilities on the logprobs most likely output tokens, as well the chosen tokens. For example, if logprobs is 5, the API will return a list of the 5 most likely tokens. The API will always return the logprob of the sampled token, so there may be up to logprobs+1 elements in the response.

The maximum value for logprobs is 5.

Default: null
max_tokensinteger | nullableOptional

The maximum number of tokens that can be generated in the completion.

The token count of your prompt plus max_tokens cannot exceed the model's context length. Example Python code for counting tokens.

Default: 16Example: 16
ninteger | nullableOptional

How many completions to generate for each prompt.

Note: Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for max_tokens and stop.

Default: 1Example: 1
presence_penaltynumber | nullableOptional

Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.

See more information about frequency and presence penalties.

Default: 0
seedinteger | nullableOptional

If specified, our 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, and you should refer to the system_fingerprint response parameter to monitor changes in the backend.

stopone of | nullableOptional

Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.

Default: null
string | nullableOptionalDefault: <|endoftext|>Example:
or
string[] · min: 1 · max: 4OptionalExample: ["\n"]
streamboolean | nullableOptional

Whether to stream back partial progress. If set, tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message. Example Python code.

Default: false
suffixstring | nullableOptional

The suffix that comes after a completion of inserted text.

This parameter is only supported for gpt-3.5-turbo-instruct.

Default: nullExample: test.
temperaturenumber | nullableOptional

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

We generally recommend altering this or top_p but not both.

Default: 1Example: 1
top_pnumber | nullableOptional

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.

We generally recommend altering this or temperature but not both.

Default: 1Example: 1
userstringOptional

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. Learn more.

Example: user-1234
Responses
200

OK

application/json
post
/completions
200

OK

此端点的 请求主体 结构用于根据给定的提示和模型选择生成文本补全。响应将是 Completion Object

在请求中将配置参数作为头部传递,具体定义请参阅 这里

Portkey 会自动转换除 OpenAI 以外的 LLM 的参数。如果其他 LLM 中不存在某些参数,则将被删除。

SDK 使用

Portkey SDK 中的 completions.create 方法允许您使用各种 LLM 生成文本补全。此方法提供了一个简单的接口,用于请求类似于 OpenAI API 的文本补全。

方法签名

有关REST API示例,请滚动 这里

参数

  1. requestParams (对象): 完成请求的参数。这些参数应包括提示和模型,并由 Portkey 自动转换为非 OpenAI 的 LLM。其他 LLM 不支持的参数将被丢弃。

  2. configParams (对象): 请求的附加配置选项。这是一个可选参数,可以包括针对该特定请求的自定义配置选项。这些选项将覆盖在 Portkey Client 中设置的配置。

示例用法

REST API 示例

在 REST 调用中,x-portkey-api-key 是一个必需的头部,它可以与以下选项配对以发送提供者详细信息:

  1. x-portkey-provider & Authorization(或类似的认证头部)

  2. x-portkey-virtual-key

  3. x-portkey-config

使用提供者 + 认证的示例请求:

使用虚拟密钥的示例请求:

使用配置的示例请求:

您可以在 Portkey 请求中发送其他 3 个头部

  • x-portkey-trace-id:发送追踪 ID

  • x-portkey-metadata:发送自定义元数据

  • x-portkey-cache-force-refresh:强制刷新此请求的缓存

使用这 3 个的示例请求:

响应格式

响应将符合 Portkey API 的文本补全对象架构,通常包括基于提示生成的文本和所选模型。

Last updated