增加代码知识库;修复文档处理内容;增加API设置
This commit is contained in:
119
rag-web-ui/backend/app/schemas/consistency.py
Normal file
119
rag-web-ui/backend/app/schemas/consistency.py
Normal file
@@ -0,0 +1,119 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class CodeKnowledgeBaseCreate(BaseModel):
|
||||
name: str = Field(..., min_length=1)
|
||||
project_path: Optional[str] = None
|
||||
vector_path: str = Field(..., min_length=1)
|
||||
metadata_path: str = Field(..., min_length=1)
|
||||
graph_path: str = Field(..., min_length=1)
|
||||
|
||||
|
||||
class CodeKnowledgeBaseUploadResponse(BaseModel):
|
||||
id: int
|
||||
status: str
|
||||
|
||||
|
||||
class CodeKnowledgeBaseResponse(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
project_path: Optional[str] = None
|
||||
vector_path: str
|
||||
metadata_path: str
|
||||
graph_path: str
|
||||
status: str
|
||||
metadata_summary: Optional[Dict[str, Any]] = None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class CodeQuestionRequest(BaseModel):
|
||||
question: str = Field(..., min_length=1)
|
||||
top_k: int = Field(default=6, ge=1, le=20)
|
||||
min_similarity: float = Field(default=0.0, ge=0.0, le=1.0)
|
||||
use_llm: bool = True
|
||||
|
||||
|
||||
class CodeQuestionResponse(BaseModel):
|
||||
answer: str
|
||||
evidence: List[Dict[str, Any]]
|
||||
raw_response: Optional[str] = None
|
||||
|
||||
|
||||
class ConsistencyJobCreate(BaseModel):
|
||||
srs_extraction_id: int
|
||||
code_kb_id: int
|
||||
requirement_uids: Optional[List[str]] = None
|
||||
top_k: int = Field(default=8, ge=1, le=30)
|
||||
max_call_hops: int = Field(default=2, ge=0, le=4)
|
||||
min_similarity: float = Field(default=0.55, ge=0.0, le=1.0)
|
||||
use_llm: bool = True
|
||||
|
||||
|
||||
class ConsistencyJobCreateResponse(BaseModel):
|
||||
job_id: int
|
||||
status: str
|
||||
|
||||
|
||||
class AutoConsistencyJobCreateResponse(BaseModel):
|
||||
job_id: int
|
||||
status: str
|
||||
|
||||
|
||||
class AutoConsistencyJobStatusResponse(BaseModel):
|
||||
job_id: int
|
||||
status: str
|
||||
error_message: Optional[str] = None
|
||||
current_step: Optional[str] = None
|
||||
srs_extraction_id: Optional[int] = None
|
||||
code_kb_id: Optional[int] = None
|
||||
consistency_job_id: Optional[int] = None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class ConsistencyJobResponse(BaseModel):
|
||||
id: int
|
||||
srs_extraction_id: int
|
||||
code_kb_id: int
|
||||
status: str
|
||||
total_requirements: int
|
||||
completed_requirements: int
|
||||
output_summary: Optional[Dict[str, Any]] = None
|
||||
error_message: Optional[str] = None
|
||||
started_at: Optional[datetime] = None
|
||||
completed_at: Optional[datetime] = None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class ConsistencyResultResponse(BaseModel):
|
||||
id: int
|
||||
job_id: int
|
||||
requirement_uid: str
|
||||
verdict: str
|
||||
coverage_score: float
|
||||
confidence: float
|
||||
matched_functions: List[Dict[str, Any]]
|
||||
covered_points: List[str]
|
||||
missing_points: List[str]
|
||||
conflict_points: List[str]
|
||||
call_chain_evidence: List[str]
|
||||
suggestion: Optional[str] = None
|
||||
raw_judgment: Optional[Dict[str, Any]] = None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
Reference in New Issue
Block a user