196 lines
5.0 KiB
YAML
196 lines
5.0 KiB
YAML
|
|
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"
|