ai-robot-core/spec/ai-service/iterations/v0.9.0-retrieval-embedding-.../openapi.provider.yaml

197 lines
5.0 KiB
YAML
Raw Normal View History

openapi: "3.0.3"
info:
title: "AI Service Retrieval Strategy API"
version: "0.1.0"
description: "检索与嵌入策略配置/查询/验证接口"
x-contract-level: "L1"
servers:
- url: "/"
paths:
/strategy/retrieval/current:
get:
summary: "获取当前检索策略"
operationId: getCurrentRetrievalStrategy
tags:
- RetrievalStrategy
responses:
"200":
description: "当前策略"
content:
application/json:
schema:
$ref: "#/components/schemas/RetrievalStrategyStatus"
x-requirements:
- AC-AISVC-RES-01
/strategy/retrieval/switch:
post:
summary: "切换检索策略"
operationId: switchRetrievalStrategy
tags:
- RetrievalStrategy
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/RetrievalStrategySwitchRequest"
responses:
"200":
description: "切换结果"
content:
application/json:
schema:
$ref: "#/components/schemas/RetrievalStrategySwitchResponse"
x-requirements:
- AC-AISVC-RES-02
- AC-AISVC-RES-03
- AC-AISVC-RES-05
/strategy/retrieval/validate:
post:
summary: "验证策略一致性"
operationId: validateRetrievalStrategy
tags:
- RetrievalStrategy
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/RetrievalStrategyValidationRequest"
responses:
"200":
description: "校验结果"
content:
application/json:
schema:
$ref: "#/components/schemas/RetrievalStrategyValidationResponse"
x-requirements:
- AC-AISVC-RES-04
- AC-AISVC-RES-06
- AC-AISVC-RES-08
/strategy/retrieval/rollback:
post:
summary: "回退策略"
operationId: rollbackRetrievalStrategy
tags:
- RetrievalStrategy
responses:
"200":
description: "回退结果"
content:
application/json:
schema:
$ref: "#/components/schemas/RetrievalStrategyRollbackResponse"
x-requirements:
- AC-AISVC-RES-07
components:
schemas:
RetrievalStrategyStatus:
type: object
required:
- active_strategy
- react_mode
- rollout
properties:
active_strategy:
type: string
description: "当前策略"
enum: ["default", "enhanced"]
react_mode:
type: string
description: "ReAct 模式"
enum: ["react", "non_react"]
rollout:
$ref: "#/components/schemas/RolloutConfig"
RolloutConfig:
type: object
required:
- mode
properties:
mode:
type: string
enum: ["off", "percentage", "allowlist"]
percentage:
type: number
minimum: 0
maximum: 100
allowlist:
type: array
items:
type: string
RetrievalStrategySwitchRequest:
type: object
required:
- target_strategy
properties:
target_strategy:
type: string
enum: ["default", "enhanced"]
react_mode:
type: string
enum: ["react", "non_react"]
rollout:
$ref: "#/components/schemas/RolloutConfig"
reason:
type: string
RetrievalStrategySwitchResponse:
type: object
required:
- previous
- current
properties:
previous:
$ref: "#/components/schemas/RetrievalStrategyStatus"
current:
$ref: "#/components/schemas/RetrievalStrategyStatus"
RetrievalStrategyValidationRequest:
type: object
required:
- strategy
properties:
strategy:
type: string
enum: ["default", "enhanced"]
react_mode:
type: string
enum: ["react", "non_react"]
checks:
type: array
items:
type: string
enum: ["metadata_consistency", "embedding_prefix", "rrf_config", "performance_budget"]
RetrievalStrategyValidationResponse:
type: object
required:
- passed
- results
properties:
passed:
type: boolean
results:
type: array
items:
$ref: "#/components/schemas/ValidationResult"
ValidationResult:
type: object
required:
- check
- passed
properties:
check:
type: string
passed:
type: boolean
message:
type: string
RetrievalStrategyRollbackResponse:
type: object
required:
- current
- rollback_to
properties:
current:
$ref: "#/components/schemas/RetrievalStrategyStatus"
rollback_to:
$ref: "#/components/schemas/RetrievalStrategyStatus"