增加代码知识库;修复文档处理内容;增加API设置
This commit is contained in:
63
rag-web-ui/backend/app/services/code_kb/schema.py
Normal file
63
rag-web-ui/backend/app/services/code_kb/schema.py
Normal file
@@ -0,0 +1,63 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import asdict, dataclass, field
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
class CodeFunctionEvidence:
|
||||
node_id: str
|
||||
name: str
|
||||
qualified_name: str
|
||||
file: str
|
||||
start_line: Optional[int] = None
|
||||
end_line: Optional[int] = None
|
||||
signature: str = ""
|
||||
summary: str = ""
|
||||
logic_flow: str = ""
|
||||
code_snippet: str = ""
|
||||
calls: List[str] = field(default_factory=list)
|
||||
called_by: List[str] = field(default_factory=list)
|
||||
includes: List[str] = field(default_factory=list)
|
||||
embedding_model: str = ""
|
||||
embedding_dim: int = 0
|
||||
embedding_available: bool = True
|
||||
raw: Dict[str, Any] = field(default_factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
return asdict(self)
|
||||
|
||||
|
||||
@dataclass
|
||||
class CodeSearchHit:
|
||||
evidence: CodeFunctionEvidence
|
||||
similarity: float
|
||||
distance: float
|
||||
rank: int
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
data = self.evidence.to_dict()
|
||||
data.update(
|
||||
{
|
||||
"similarity": self.similarity,
|
||||
"distance": self.distance,
|
||||
"rank": self.rank,
|
||||
}
|
||||
)
|
||||
return data
|
||||
|
||||
|
||||
@dataclass
|
||||
class CodeGraphContext:
|
||||
node_id: str
|
||||
callers: List[CodeFunctionEvidence] = field(default_factory=list)
|
||||
callees: List[CodeFunctionEvidence] = field(default_factory=list)
|
||||
call_chains: List[str] = field(default_factory=list)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
return {
|
||||
"node_id": self.node_id,
|
||||
"callers": [item.to_dict() for item in self.callers],
|
||||
"callees": [item.to_dict() for item in self.callees],
|
||||
"call_chains": self.call_chains,
|
||||
}
|
||||
Reference in New Issue
Block a user