跳到主要内容

快速开始

PerfXCloud 快速调用指南

提示

PerfXCloud API 使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问 PerfXCloud API,或使用与 OpenAI API 兼容的软件。

参数
base_url *https://cloud.perfxlab.cn
api_key申请 API key

对话 API

在创建 API key 之后,你可以使用以下样例脚本的来访问 PerfXCloud API。样例为流式输出,您可以将 stream 设置为 false 来使用非流式输出。

POSThttps://cloud.perfxlab.cn/v1/chat/completions

根据输入的上下文,来让模型补全对话内容。

代码示例

curl https://cloud.perfxlab.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $PERFX_API_KEY" \
-d '{
"model": "Qwen1.5-110B-Chat-GPTQ-Int4",
"messages": [
{"role":"system","content":"want you to be a chatterbox expert and answer the following in a friendly tone:"},
{"role": "user", "content": "Say this is a test! "}
],
"temperature": 0.7,
"max_tokens": 16,
"n": 1,
"presence_penalty": 0,
"frequency_penalty": 0,
"stream": true
}'

Request

Body
REQUIRED
messages
object[]
Possible values: >= 1 对话的消息列表。
content
string
REQUIRED
assistant 消息的内容。
role
string
REQUIRED
Possible values: [system]
该消息的发起角色,其值为 system。
name
string
可以选填的参与者的名称,为模型提供信息以区分相同角色的参与者。
model
string
REQUIRED
Possible values: [deepseek-chat, deepseek-coder]
使用的模型的 ID。您可以使用 deepseek-chat 或者 deepseek-coder。
frequency_penalty
number
NULLABLE
Possible values: >= -2 and <= 2
Default value: 0
介于 -2.0 和 2.0 之间的数字。如果该值为正,那么新 token 会根据其在已有文本中的出现频率受到相应的惩罚,降低模型重复相同内容的可能性。
response_format
object
NULLABLE
一个 object,指定模型必须输出的格式。设置为 { "type": "json_object" } 以启用 JSON 模式,该模式保证模型生成的消息是有效的 JSON。注意: 使用 JSON 模式时,你还必须通过系统或用户消息指示模型生成 JSON。否则,模型可能会生成不断的空白字符,直到生成达到令牌限制,从而导致请求长时间运行并显得“卡住”。此外,如果 finish_reason="length",这表示生成超过了 max_tokens 或对话超过了最大上下文长度,消息内容可能会被部分截断。
type
object
Possible values: [text, json_object]
Default value: text
Must be one of text or json_object.
stop
string/string[]
NULLABLE
一个 string 或最多包含 16 个 string 的 list,在遇到这些词时,API 将停止生成更多的 token。
stream
boolean
NULLABLE
如果设置为 True,将会以 SSE(server-sent events)的形式以流式发送消息增量。消息流以 data: [DONE] 结尾。
stream_options
object
NULLABLE
流式输出相关选项。只有在 stream 参数为 true 时,才可设置此参数。
include_usage
boolean
如果设置为 true,在流式消息最后的 data: [DONE] 之前将会传输一个额外的块。此块上的 usage 字段显示整个请求的 token 使用统计信息,而 choices 字段将始终是一个空数组。所有其他块也将包含一个 usage 字段,但其值为 null。
temperature
number
NULLABLE
Possible values: <= 2
Default value: 1
采样温度,介于 0 和 2 之间。更高的值,如 0.8,会使输出更随机,而更低的值,如 0.2,会使其更加集中和确定。 我们通常建议可以更改这个值或者更改 top_p,但不建议同时对两者进行修改。
top_p
number
NULLABLE
Possible values: <= 1
Default value: 1
作为调节采样温度的替代方案,模型会考虑前 top_p 概率的 token 的结果。所以 0.1 就意味着只有包括在最高 10% 概率中的 token 会被考虑。 我们通常建议修改这个值或者更改 temperature,但不建议同时对两者进行修改。
logprobs
boolean
NULLABLE
是否返回所输出 token 的对数概率。如果为 true,则在 message 的 content 中返回每个输出 token 的对数概率。
top_logprobs
integer
NULLABLE
Possible values: <= 20
一个介于 0 到 20 之间的整数 N,指定每个输出位置返回输出概率 top N 的 token,且返回这些 token 的对数概率。指定此参数时,logprobs 必须为 true。

Responses

OK, 返回一个 chat completion 对象。

application/json
Schema
id
string
REQUIRED
该对话的唯一标识符。
choices
object[]
REQUIRED
模型生成的 completion 的选择列表。
finish_reason
string
REQUIRED
Possible values: [stop, length, content_filter, tool_calls, insufficient_system_resource]

模型停止生成 token 的原因。

stop:模型自然停止生成,或遇到 stop 序列中列出的字符串。

length :输出长度达到了模型上下文长度限制,或达到了 max_tokens 的限制。

content_filter:输出内容因触发过滤策略而被过滤。

insufficient_system_resource:系统推理资源不足,生成被打断。

index
integer
REQUIRED
该 completion 在模型生成的 completion 的选择列表中的索引。
message
object
REQUIRED
模型生成的 completion 消息。
content
string
Nullable
REQUIRED
该 completion 的内容。
role
string
Nullable
REQUIRED
Possible values: [assistant]
生成这条消息的角色。
created
integer
REQUIRED
创建聊天完成时的 Unix 时间戳(以秒为单位)。
model
string
REQUIRED
生成该 completion 的模型名。
system_fingerprint
string
REQUIRED
This fingerprint represents the backend configuration that the model runs with.
object
string
REQUIRED
Possible values: [chat.completion]
对象的类型, 其值为 chat.completion。
usage
object
该对话补全请求的用量信息。
completion_tokens
integer
REQUIRED
模型 completion 产生的 token 数。
prompt_tokens
integer
REQUIRED
用户 prompt 所包含的 token 数。
total_tokens
integer
REQUIRED
该请求中,所有 token 的数量(prompt + completion)。

文生图 API

POSThttps://cloud.perfxlab.cn/chattts/sdapi/v1/txt2img

在创建 API key 之后,你可以使用以下样例脚本的来访问 PerfXCloud API。

代码示例


curl -X POST "https://cloud.perfxlab.cn/chattts/sdapi/v1/txt2img" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $PERFX_API_KEY" \
-d '{"model": "StableDiffusion", "prompt": "seaside city", "negative_prompt": "No people, no text", "steps": 10, "seed": 75, "width": 512, "height": 512, "batch_size": 2, "n_iter": 1}'
-o output.png

Request

Body
REQUIRED
model
string
REQUIRED
Possible values: [StableDiffusion]
使用的模型的 ID。您可以使用 StableDiffusion
prompt
string
它能够通过接收用户输入的 Prompt 提示词,生成符合要求的图像。这些提示词可以是风格描述、物体名称、场景设置等,用户可以根据自己的需求来定制生成的图像
negative_prompt
string
正向提示词:用于描述用户希望图像中出现的元素或特征。例如,“美丽的风景”、“宏伟的建筑”等描述性词汇,可以引导模型生成具有这些特征的图像。
steps
number
Possible values: 10
迭代步数,Steps 越高,生成的图像细节越丰富、精细。这是因为模型有更多的机会去捕捉和表现图像中的细微特征和差异,从而生成更加逼真和高质量的图像。
seed
number
Possible values: 75
Seed(随机种子)在 Stable Diffusion 模型中是指用来初始化生成过程的随机数。这个随机数决定了图像生成算法的起始点,从而影响了最终生成的图像。
width
number
Default value: 512
图像宽度(像素)
height
number
Default value: 512
图像高度(像素)
batch_size
number
batch_size 指的是在模型训练或图像生成过程中,同时处理的图像数量。在 Stable Diffusion 模型中,这个参数决定了每次迭代(Iteration)中并行生成的图像张数。
n_iter
number
Default value: 1
n_iter 参数在 Stable Diffusion API 中定义了生成图像的迭代次数。默认值通常为 1,但可以根据需求进行调整。较高的 n_iter 值可以提升图像质量,但会增加计算时间。

Responses

OK, 返回生成图片地址等信息

application/json
Schema
images
array
REQUIRED
Possible values: string[]
生成图片的数组
info
object
REQUIRED
Possible values: object
请求相关参数信息
parameters
float
REQUIRED
Possible values: object
响应相关参数信息

文生语音 API

POSThttps://cloud.perfxlab.cn/chattts/tts

在创建 API key 之后,你可以使用以下样例脚本的来访问 PerfXCloud API。

代码示例

curl -X POST https://cloud.perfxlab.cn/chattts/tts \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $PERFX_API_KEY' \
-d '{
"model": "ChatTTS",
"text": "早上好呀,吃饭了吗?",
"prompt": "[break_5]",
"speed": 5,
"temperature": 0.1,
"text_seed": 42,
"top_k": 20,
"top_p": 0.701,
"voice": "1031.pt",
"refine_max_new_token": 384,
"infer_max_new_token": 2048
}'

Request

Body
REQUIRED
model
string
REQUIRED
Possible values: [ChatTTS]
使用的模型的 ID。您可以使用 ChatTTS
voice
string
Default value: 2222
默认 2222,决定音色的数字, 2222 | 7869 | 6653 | 4099 | 5099,可选其一,或者任意传入将随机使用音色
text
string
REQUIRED
需要被转换为语音的文本内容
prompt
string
默认 空, 设定 笑声、停顿,例如 [oral_2][laugh_0][break_6]
speed
number
Default value: 1.0
调整语音的说话速度,通常设为 1.0(表示标准速度)。
temperature
number
NULLABLE
Possible values: <= 2
Default value: 0.3
采样温度,介于 0 和 2 之间。更高的值,如 0.8,会使输出更随机,而更低的值,如 0.2,会使其更加集中和确定。 我们通常建议可以更改这个值或者更改 top_p,但不建议同时对两者进行修改。
text_seed
string | number
Default value:
是一个种子值,用于控制语音生成中的随机性或风格。它帮助决定生成的语音的某些特性,如语调、节奏或语速。
top_k
number
Default value: 20
top_k 参数决定了在生成过程中,模型在每一步选择下一个词或音素时,考虑的候选项数量。top_k 影响生成内容的多样性和质量。
top_p
number
Default value: 0.7
top_p(也称为“核采样”)指定了一个累计概率阈值,模型在生成下一个单词或音素时,仅考虑累计概率在该阈值之内的候选项。top_p 决定了选取多少概率质量的候选项。
voice
string
voice 参数用于指定语音合成的具体声音特性。这个参数决定了生成的语音使用哪个声音模型或风格,从而影响语音的性别、口音、情感等特征。
refine_max_new_token
number
Default value: 100 | 200
参数指定在生成过程中允许的最大新 token 数量。这意味着在合成过程中,模型最多可以生成多少个新的 token,以控制生成内容的长度和细节。
infer_max_new_token
string
Default value: 100 | 200
参数指定在生成过程中允许生成的最大新 token 数量。这个参数控制生成文本的最大长度,进而影响生成语音的内容长度。
custom_voice
string
Default value: 0
默认0,自定义获取音色值时的种子值,需要大于0的整数,如果设置了则以此为准,将忽略 voice。

Responses

OK, 返回音频等信息

application/json
Schema
audio_files
array
Possible values: object[]
filename
string
REQUIRED
文件名称
inference_time
string
REQUIRED
推理时间
url
string
REQUIRED
访问路径
code
int
REQUIRED
Possible values: int
状态码
filename
string
REQUIRED
Possible values: string
文件名
msg
string
REQUIRED
Possible values: string
响应信息
url
string
REQUIRED
Possible values: string
地址信息

列出模型 API

GEThttps://cloud.perfxlab.cn/v1/models

列出可用的模型列表。

代码案例


curl -X GET "https://cloud.perfxlab.cn/v1/models" \
-H "Authorization: Api-key your_api_key_here"

Responses

application/json
Schema
object
string
数据类型
data
object[]
模型列表
id
string
REQUIRED
模型 id
object
string
REQUIRED
类型
created
int
REQUIRED
创建时间
owned_by
string
REQUIRED
端点类型
root
string
REQUIRED
模型名称

查询余额 API

查询账号余额。

GEThttps://cloud.perfxlab.cn/v1/dashboard/billing/usage

代码示例


curl -X GET "https://cloud.perfxlab.cn/v1/dashboard/billing/usage" \
-H "Authorization: Api-key your_api_key_here"

Responses

OK, 返回用户余额详情

application/json
Schema
object
string
Possible values: billing_list
请求的描述
use_quota
float
REQUIRED
令牌使用余额
quota
float
REQUIRED
令牌剩余可用余额,如果是-1,则该令牌被设置为无限额度
total_quota
float
REQUIRED
令牌设置可用余额总量,如果是-1,则该令牌被设置为无限额度

模型 temperature 设置

temperature 参数默认为 0.7。

  • 我们建议您根据如下表格,按使用场景设置 temperature。
场景温度
代码生成/数学解题0.0
数据抽取/分析0.7
通用对话1.0
翻译1.1
创意类写作/诗歌创作1.25

限速

每个账户的速率限制会根据我们实时的流量压力动态调整。当我们的服务器承受高流量压力时,您可能会收到 429(请求速率达到上限)或 504(请求超时)的错误。当这种情况发生时,请稍等片刻再重试。

错误码

您在调用 PerfXCloud API 时,可能会遇到以下错误。这里列出了相关错误的原因及其解决方法。

错误码描述
400 - 格式错误原因:请求体格式错误
解决方法:请根据错误信息提示修改请求体。
401 - 认证失败原因:API key 错误,认证失败
解决方法:请检查您的 API key 是否正确,如没有 API key,请先 创建 API key
403 - 无权限原因:请求操作无权限
解决方法:请根据错误信息提示修改相关参数额。
429 - 请求速率达到上限原因:请求速率(TPM 或 RPM)达到上限
解决方法:请合理规划您的请求速率。
500 - 服务器故障原因:服务器内部故障
解决方法:请等待后重试。若问题一直存在,请联系我们解决。
503 - 用户组无法使用模型端点原因 用户组没有权限使用模型端点
解决方法:请确认令牌所使用的模型端点不支持该用户组,请联系我们解决。
504 - 请求超时原因:服务器在规定时间内未响应
解决方法:请稍后重试您的请求。若问题一直存在,请联系我们解决。