Skip to content

更新模型配置

接口信息

接口地址:/api/v1/system/model/{id}/update

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

接口描述:

更新指定模型配置

请求示例:

javascript
{
  "name": "更新后的GPT-3.5",
  "model": "gpt-3.5-turbo",
  "type": "Chat",
  "apiProtocol": "OpenAI",
  "strategy": "RoundRobin",
  "apiInfoList": [
    {"url": "https://api.openai.com/v1", "key": "sk-updated-key", "weight": 1}
  ],
  "enabled": 1
}

请求参数

请求头

参数名类型必填描述示例值
AuthorizationstringAPI KeyBearer ak-xxxxeyJhbGciOiJIUzI1NiJ9

路径参数:

参数名称参数说明是否必须数据类型
id模型IDinteger(int64)

请求体参数:

参数名称参数说明是否必须数据类型
name模型名称string
description模型描述string
model模型标识string
type模型类型,可用值: Completions, Chat, Multi, Edits, Images, Embeddings, Audio, Otherstring
maxTokens最大输出token数integer(int32)
maxContextTokens上下文最大输出token数integer(int32)
apiProtocol模型接口协议,可用值: OpenAI, Ollama, Zhipu, Anthropicstring
apiInfoListAPI列表array
  url接口地址string
  key接口密钥string
  weight权重integer(int32)
strategy接口调用策略,可用值: RoundRobin, WeightedRoundRobin, LeastConnections, WeightedLeastConnections, Random, ResponseTimestring
dimension向量维度integer(int32)
functionCall函数调用支持,可用值: Unsupported, CallSupported, StreamCallSupportedstring
isReasonModel是否为推理模型,0 否;1 是integer(int32)
enabled是否启用,1-启用,0-禁用integer(int32)
accessControl访问控制,0-不管控,1-管控integer(int32)
usageScenarios可使用的业务场景,可用值: PageApp, TaskAgent, ChatBot, Workflow, OpenApiarray

响应参数:

参数名称参数说明类型schema
code业务状态码,0000 表示成功,其余失败string
displayCode源系统状态码,用于问题跟踪string
message错误描述信息string
data返回的具体业务数据object
tid跟踪唯一标识string
successboolean

响应示例:

javascript
{
	"code": "0000",
	"displayCode": "0000",
	"message": "成功",
	"data": null,
	"tid": "9514941776080834412",
	"success": true
}

CURL示例

shell
curl 'http://127.0.0.1:8081/api/v1/system/model/100000002/update' \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0' \
  --data-raw '{
  "name": "更新后的测试模型",
  "model": "gpt-delete-test-99",
  "type": "Chat",
  "apiProtocol": "OpenAI",
  "strategy": "WeightedRoundRobin",
  "apiInfoList": [
    {"url": "https://api.test.com", "key": "sk-updated-key", "weight": 1}
  ],
  "enabled": 1
}'

{"code":"0000","displayCode":"0000","message":"成功","data":null,"tid":"1205451776082393098","success":true}

测试用例

#场景状态码结果
1更新新创建的模型0000成功

更新模型配置

shell
curl 'http://127.0.0.1:8081/api/v1/system/model/100000002/update' \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0' \
  --data-raw '{
  "name": "更新后的测试模型",
  "model": "gpt-delete-test-99",
  "type": "Chat",
  "apiProtocol": "OpenAI",
  "strategy": "WeightedRoundRobin",
  "apiInfoList": [
    {"url": "https://api.test.com", "key": "sk-updated-key", "weight": 1}
  ],
  "enabled": 1
}'

{"code":"0000","displayCode":"0000","message":"成功","data":null,"tid":"1205451776082393098","success":true}

TS模板示例

ts
// API信息
export interface ApiInfo {
  /* 接口地址 */
  url?: string;
  /* 接口密钥 */
  key?: string;
  /* 权重 */
  weight?: number;
}

// 参数接口
export interface ModelConfigUpdateDto {
  /* 模型名称 */
  name: string;
  /* 模型描述 */
  description?: string;
  /* 模型标识 */
  model: string;
  /* 模型类型 */
  type: 'Completions' | 'Chat' | 'Multi' | 'Edits' | 'Images' | 'Embeddings' | 'Audio' | 'Other';
  /* 最大输出token数 */
  maxTokens?: number;
  /* 上下文最大输出token数 */
  maxContextTokens?: number;
  /* 接口协议 */
  apiProtocol: 'OpenAI' | 'Ollama' | 'Zhipu' | 'Anthropic';
  /* API列表 */
  apiInfoList: ApiInfo[];
  /* 调用策略 */
  strategy: 'RoundRobin' | 'WeightedRoundRobin' | 'LeastConnections' | 'WeightedLeastConnections' | 'Random' | 'ResponseTime';
  /* 向量维度 */
  dimension?: number;
  /* 函数调用支持 */
  functionCall?: 'Unsupported' | 'CallSupported' | 'StreamCallSupported';
  /* 是否为推理模型 */
  isReasonModel?: number;
  /* 是否启用 */
  enabled?: number;
  /* 访问控制 */
  accessControl?: number;
  /* 使用场景 */
  usageScenarios?: ('PageApp' | 'TaskAgent' | 'ChatBot' | 'Workflow' | 'OpenApi')[];
}

// 响应接口
export interface UpdateModelRes {
  code: string;
  displayCode: string;
  message: string;
  data: object | null;
  tid: string;
  success: boolean;
}

/** 
 * 更新模型配置
 * @param {number} id - 模型ID
 * @param {ModelConfigUpdateDto} params 
 * @returns
 */
export function updateModel(id: number, params: ModelConfigUpdateDto): Promise<UpdateModelRes> {
  return request.post(`/api/v1/system/model/${id}/update`, params);
}