first commit
This commit is contained in:
797
sdk/docs/openapi.yaml
Normal file
797
sdk/docs/openapi.yaml
Normal file
@@ -0,0 +1,797 @@
|
||||
openapi: 3.0.0
|
||||
info:
|
||||
title: 智能算法展示平台API
|
||||
description: 智能算法展示平台的RESTful API接口文档
|
||||
version: 1.0.0
|
||||
servers:
|
||||
- url: http://localhost:8000/api/v1
|
||||
description: 本地开发环境
|
||||
|
||||
components:
|
||||
schemas:
|
||||
Algorithm:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: 算法ID
|
||||
name:
|
||||
type: string
|
||||
description: 算法名称
|
||||
description:
|
||||
type: string
|
||||
description: 算法描述
|
||||
type:
|
||||
type: string
|
||||
description: 算法类型
|
||||
status:
|
||||
type: string
|
||||
description: 算法状态
|
||||
created_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 创建时间
|
||||
updated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 更新时间
|
||||
versions:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/AlgorithmVersion'
|
||||
required:
|
||||
- id
|
||||
- name
|
||||
- description
|
||||
- type
|
||||
|
||||
AlgorithmVersion:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: 版本ID
|
||||
algorithm_id:
|
||||
type: string
|
||||
description: 算法ID
|
||||
version:
|
||||
type: string
|
||||
description: 版本号
|
||||
url:
|
||||
type: string
|
||||
description: 算法API地址
|
||||
params:
|
||||
type: object
|
||||
description: 算法参数配置
|
||||
input_schema:
|
||||
type: object
|
||||
description: 输入数据格式
|
||||
output_schema:
|
||||
type: object
|
||||
description: 输出数据格式
|
||||
is_default:
|
||||
type: boolean
|
||||
description: 是否为默认版本
|
||||
created_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 创建时间
|
||||
updated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 更新时间
|
||||
required:
|
||||
- id
|
||||
- algorithm_id
|
||||
- version
|
||||
- url
|
||||
|
||||
AlgorithmCallRequest:
|
||||
type: object
|
||||
properties:
|
||||
algorithm_id:
|
||||
type: string
|
||||
description: 算法ID
|
||||
version_id:
|
||||
type: string
|
||||
description: 版本ID
|
||||
input_data:
|
||||
type: object
|
||||
description: 输入数据
|
||||
params:
|
||||
type: object
|
||||
description: 算法参数
|
||||
required:
|
||||
- algorithm_id
|
||||
- version_id
|
||||
- input_data
|
||||
|
||||
AlgorithmCallResult:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: 调用ID
|
||||
user_id:
|
||||
type: string
|
||||
description: 用户ID
|
||||
algorithm_id:
|
||||
type: string
|
||||
description: 算法ID
|
||||
version_id:
|
||||
type: string
|
||||
description: 版本ID
|
||||
input_data:
|
||||
type: object
|
||||
description: 输入数据
|
||||
params:
|
||||
type: object
|
||||
description: 算法参数
|
||||
output_data:
|
||||
type: object
|
||||
description: 输出数据
|
||||
status:
|
||||
type: string
|
||||
description: 调用状态
|
||||
response_time:
|
||||
type: number
|
||||
description: 响应时间(秒)
|
||||
error_message:
|
||||
type: string
|
||||
description: 错误信息
|
||||
created_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 创建时间
|
||||
updated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 更新时间
|
||||
required:
|
||||
- id
|
||||
- status
|
||||
|
||||
OpenAIGenerateRequest:
|
||||
type: object
|
||||
properties:
|
||||
prompt:
|
||||
type: string
|
||||
description: 描述
|
||||
data_type:
|
||||
type: string
|
||||
description: 数据类型
|
||||
required:
|
||||
- prompt
|
||||
|
||||
OpenAIGenerateResponse:
|
||||
type: object
|
||||
properties:
|
||||
data:
|
||||
type: object
|
||||
description: 生成的数据
|
||||
type:
|
||||
type: string
|
||||
description: 数据类型
|
||||
|
||||
User:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: 用户ID
|
||||
username:
|
||||
type: string
|
||||
description: 用户名
|
||||
email:
|
||||
type: string
|
||||
description: 邮箱
|
||||
role:
|
||||
type: string
|
||||
description: 角色
|
||||
status:
|
||||
type: string
|
||||
description: 状态
|
||||
created_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 创建时间
|
||||
updated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 更新时间
|
||||
|
||||
UserLoginRequest:
|
||||
type: object
|
||||
properties:
|
||||
username:
|
||||
type: string
|
||||
description: 用户名
|
||||
password:
|
||||
type: string
|
||||
description: 密码
|
||||
required:
|
||||
- username
|
||||
- password
|
||||
|
||||
UserRegisterRequest:
|
||||
type: object
|
||||
properties:
|
||||
username:
|
||||
type: string
|
||||
description: 用户名
|
||||
email:
|
||||
type: string
|
||||
description: 邮箱
|
||||
password:
|
||||
type: string
|
||||
description: 密码
|
||||
required:
|
||||
- username
|
||||
- email
|
||||
- password
|
||||
|
||||
TokenResponse:
|
||||
type: object
|
||||
properties:
|
||||
access_token:
|
||||
type: string
|
||||
description: 访问令牌
|
||||
token_type:
|
||||
type: string
|
||||
description: 令牌类型
|
||||
expires_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 过期时间
|
||||
|
||||
APIKey:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
description: API密钥ID
|
||||
user_id:
|
||||
type: string
|
||||
description: 用户ID
|
||||
key:
|
||||
type: string
|
||||
description: API密钥
|
||||
name:
|
||||
type: string
|
||||
description: 密钥名称
|
||||
expires_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 过期时间
|
||||
status:
|
||||
type: string
|
||||
description: 状态
|
||||
created_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 创建时间
|
||||
updated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 更新时间
|
||||
|
||||
APIKeyCreateRequest:
|
||||
type: object
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: 密钥名称
|
||||
expires_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: 过期时间
|
||||
required:
|
||||
- name
|
||||
- expires_at
|
||||
|
||||
securitySchemes:
|
||||
bearerAuth:
|
||||
type: http
|
||||
scheme: bearer
|
||||
bearerFormat: JWT
|
||||
|
||||
paths:
|
||||
/algorithms:
|
||||
get:
|
||||
summary: 获取算法列表
|
||||
description: 获取所有算法的列表,可选择按类型过滤
|
||||
parameters:
|
||||
- in: query
|
||||
name: type
|
||||
schema:
|
||||
type: string
|
||||
description: 算法类型
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
algorithms:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/Algorithm'
|
||||
total:
|
||||
type: integer
|
||||
post:
|
||||
summary: 创建算法
|
||||
description: 创建新的算法
|
||||
security:
|
||||
- bearerAuth: []
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- description
|
||||
- type
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Algorithm'
|
||||
|
||||
/algorithms/{algorithm_id}:
|
||||
get:
|
||||
summary: 获取算法详情
|
||||
description: 获取指定算法的详细信息
|
||||
parameters:
|
||||
- in: path
|
||||
name: algorithm_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 算法ID
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Algorithm'
|
||||
put:
|
||||
summary: 更新算法
|
||||
description: 更新指定算法的信息
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: algorithm_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 算法ID
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
status:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Algorithm'
|
||||
delete:
|
||||
summary: 删除算法
|
||||
description: 删除指定的算法
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: algorithm_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 算法ID
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
|
||||
/algorithms/{algorithm_id}/versions:
|
||||
get:
|
||||
summary: 获取算法版本列表
|
||||
description: 获取指定算法的所有版本
|
||||
parameters:
|
||||
- in: path
|
||||
name: algorithm_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 算法ID
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/AlgorithmVersion'
|
||||
post:
|
||||
summary: 创建算法版本
|
||||
description: 为指定算法创建新的版本
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: algorithm_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 算法ID
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
version:
|
||||
type: string
|
||||
url:
|
||||
type: string
|
||||
params:
|
||||
type: object
|
||||
input_schema:
|
||||
type: object
|
||||
output_schema:
|
||||
type: object
|
||||
is_default:
|
||||
type: boolean
|
||||
required:
|
||||
- version
|
||||
- url
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AlgorithmVersion'
|
||||
|
||||
/algorithms/{algorithm_id}/versions/{version_id}:
|
||||
get:
|
||||
summary: 获取算法版本详情
|
||||
description: 获取指定算法版本的详细信息
|
||||
parameters:
|
||||
- in: path
|
||||
name: algorithm_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 算法ID
|
||||
- in: path
|
||||
name: version_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 版本ID
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AlgorithmVersion'
|
||||
put:
|
||||
summary: 更新算法版本
|
||||
description: 更新指定算法版本的信息
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: algorithm_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 算法ID
|
||||
- in: path
|
||||
name: version_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 版本ID
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
version:
|
||||
type: string
|
||||
url:
|
||||
type: string
|
||||
params:
|
||||
type: object
|
||||
input_schema:
|
||||
type: object
|
||||
output_schema:
|
||||
type: object
|
||||
is_default:
|
||||
type: boolean
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AlgorithmVersion'
|
||||
delete:
|
||||
summary: 删除算法版本
|
||||
description: 删除指定的算法版本
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: algorithm_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 算法ID
|
||||
- in: path
|
||||
name: version_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 版本ID
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
|
||||
/algorithms/call:
|
||||
post:
|
||||
summary: 调用算法
|
||||
description: 调用指定的算法并获取结果
|
||||
security:
|
||||
- bearerAuth: []
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AlgorithmCallRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AlgorithmCallResult'
|
||||
|
||||
/algorithms/calls/{call_id}:
|
||||
get:
|
||||
summary: 获取算法调用结果
|
||||
description: 获取指定算法调用的结果
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: call_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 调用ID
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AlgorithmCallResult'
|
||||
|
||||
/openai/generate-data:
|
||||
post:
|
||||
summary: 生成仿真输入数据
|
||||
description: 使用OpenAI生成仿真输入数据
|
||||
security:
|
||||
- bearerAuth: []
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/OpenAIGenerateRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/OpenAIGenerateResponse'
|
||||
|
||||
/openai/describe-image:
|
||||
post:
|
||||
summary: 生成图片描述
|
||||
description: 使用OpenAI生成图片描述
|
||||
security:
|
||||
- bearerAuth: []
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
image_url:
|
||||
type: string
|
||||
required:
|
||||
- image_url
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
description:
|
||||
type: string
|
||||
|
||||
/users/register:
|
||||
post:
|
||||
summary: 用户注册
|
||||
description: 注册新用户
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/UserRegisterRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/User'
|
||||
|
||||
/users/login:
|
||||
post:
|
||||
summary: 用户登录
|
||||
description: 用户登录获取令牌
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/UserLoginRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/TokenResponse'
|
||||
|
||||
/users/me:
|
||||
get:
|
||||
summary: 获取当前用户信息
|
||||
description: 获取当前登录用户的信息
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/User'
|
||||
|
||||
/api-keys:
|
||||
get:
|
||||
summary: 获取API密钥列表
|
||||
description: 获取当前用户的API密钥列表
|
||||
security:
|
||||
- bearerAuth: []
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/APIKey'
|
||||
post:
|
||||
summary: 创建API密钥
|
||||
description: 为当前用户创建新的API密钥
|
||||
security:
|
||||
- bearerAuth: []
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/APIKeyCreateRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/APIKey'
|
||||
|
||||
/api-keys/{key_id}:
|
||||
delete:
|
||||
summary: 删除API密钥
|
||||
description: 删除指定的API密钥
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: key_id
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
description: 密钥ID
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
|
||||
/health:
|
||||
get:
|
||||
summary: 健康检查
|
||||
description: 检查系统健康状态
|
||||
responses:
|
||||
'200':
|
||||
description: 成功
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
status:
|
||||
type: string
|
||||
Reference in New Issue
Block a user