Phase 20 - 提升 Tool Calling 精準度 50% → 83.3% 新增: - src/models/nvidia.py: Pydantic Schema - src/services/nvidia_provider.py: NvidiaProvider 類別 - tests/test_nvidia_provider.py: 15 項單元測試 (全部通過) 修改: - ai_router.py: AIProvider.NVIDIA + route_tool_calling() - ai_rate_limiter.py: NVIDIA 限制 (5 RPM, 100/day) - models.json: NVIDIA 配置 - cd.yaml: Secrets 注入 NVIDIA_API_KEY 路由策略: - Tool Calling: Nemotron → Gemini → Claude - 一般對話: Ollama → Gemini → Claude (不變) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
87 lines
1.7 KiB
Python
87 lines
1.7 KiB
Python
"""
|
|
AWOOOI Models Package
|
|
=====================
|
|
|
|
核心資料模型匯出:
|
|
- Approval: 簽核相關模型 (Phase 2 HITL)
|
|
- Incident: 事件相關模型 (Phase 6 認知覺醒)
|
|
- AI: AI 相關模型
|
|
- NVIDIA: Nemotron Tool Calling 模型 (ADR-036)
|
|
"""
|
|
|
|
# Approval Models (Phase 2)
|
|
from src.models.approval import (
|
|
ApprovalRequest,
|
|
ApprovalRequestCreate,
|
|
ApprovalRequestResponse,
|
|
ApprovalStatus,
|
|
BlastRadius,
|
|
DataImpact,
|
|
DryRunCheck,
|
|
PendingApprovalsResponse,
|
|
RejectRequest,
|
|
RiskLevel,
|
|
Signature,
|
|
SignatureSource,
|
|
SignRequest,
|
|
SignResponse,
|
|
)
|
|
|
|
# Incident Models (Phase 6 - 認知覺醒)
|
|
from src.models.incident import (
|
|
AIDecisionChain,
|
|
Incident,
|
|
IncidentCreate,
|
|
IncidentOutcome,
|
|
IncidentResponse,
|
|
IncidentStatus,
|
|
IncidentUpdate,
|
|
Severity,
|
|
Signal,
|
|
)
|
|
|
|
# NVIDIA Models (ADR-036 - Nemotron Tool Calling)
|
|
from src.models.nvidia import (
|
|
NvidiaProviderResult,
|
|
NvidiaResponse,
|
|
NvidiaUsage,
|
|
ToolCall,
|
|
ToolCallValidationResult,
|
|
ToolDefinition,
|
|
)
|
|
|
|
__all__ = [
|
|
# Approval
|
|
"ApprovalRequest",
|
|
"ApprovalRequestCreate",
|
|
"ApprovalRequestResponse",
|
|
"ApprovalStatus",
|
|
"BlastRadius",
|
|
"DataImpact",
|
|
"DryRunCheck",
|
|
"PendingApprovalsResponse",
|
|
"RejectRequest",
|
|
"RiskLevel",
|
|
"SignRequest",
|
|
"SignResponse",
|
|
"Signature",
|
|
"SignatureSource",
|
|
# Incident
|
|
"AIDecisionChain",
|
|
"Incident",
|
|
"IncidentCreate",
|
|
"IncidentOutcome",
|
|
"IncidentResponse",
|
|
"IncidentStatus",
|
|
"IncidentUpdate",
|
|
"Severity",
|
|
"Signal",
|
|
# NVIDIA (ADR-036)
|
|
"NvidiaProviderResult",
|
|
"NvidiaResponse",
|
|
"NvidiaUsage",
|
|
"ToolCall",
|
|
"ToolCallValidationResult",
|
|
"ToolDefinition",
|
|
]
|