mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-05 11:01:09 +00:00
feat: (0.6)New UI (#1855)
Co-authored-by: 夏姜 <wenfengjiang.jwf@digital-engine.com> Co-authored-by: aries_ckt <916701291@qq.com> Co-authored-by: wb-lh513319 <wb-lh513319@alibaba-inc.com> Co-authored-by: csunny <cfqsunny@163.com>
This commit is contained in:
@@ -1,13 +1,20 @@
|
||||
import json
|
||||
from typing import List, Optional
|
||||
|
||||
from dbgpt._private.pydantic import BaseModel, Field
|
||||
from dbgpt.serve.rag.api.schemas import DocumentChunkVO, DocumentVO
|
||||
from dbgpt.app.knowledge.document_db import KnowledgeDocumentEntity
|
||||
from dbgpt.serve.rag.api.schemas import (
|
||||
ChunkServeResponse,
|
||||
DocumentChunkVO,
|
||||
DocumentServeResponse,
|
||||
DocumentVO,
|
||||
)
|
||||
|
||||
|
||||
class ChunkQueryResponse(BaseModel):
|
||||
"""data: data"""
|
||||
|
||||
data: List[DocumentChunkVO] = Field(..., description="document chunk list")
|
||||
data: List[ChunkServeResponse] = Field(None, description="document chunk list")
|
||||
"""summary: document summary"""
|
||||
summary: Optional[str] = Field(None, description="document summary")
|
||||
"""total: total size"""
|
||||
@@ -16,35 +23,112 @@ class ChunkQueryResponse(BaseModel):
|
||||
page: Optional[int] = Field(None, description="current page")
|
||||
|
||||
|
||||
class DocumentQueryResponse(BaseModel):
|
||||
"""data: data"""
|
||||
class DocumentResponse(BaseModel):
|
||||
"""DocumentResponse: DocumentResponse"""
|
||||
|
||||
data: List[DocumentVO] = Field(..., description="document list")
|
||||
"""total: total size"""
|
||||
total: Optional[int] = Field(None, description="total size")
|
||||
"""page: current page"""
|
||||
page: Optional[int] = Field(None, description="current page")
|
||||
id: Optional[int] = Field(None, description="The doc id")
|
||||
doc_name: Optional[str] = Field(None, description="doc type")
|
||||
"""vector_type: vector type"""
|
||||
doc_type: Optional[str] = Field(None, description="The doc content")
|
||||
"""desc: description"""
|
||||
content: Optional[str] = Field(None, description="content")
|
||||
"""vector ids"""
|
||||
vector_ids: Optional[str] = Field(None, description="vector ids")
|
||||
"""space: space name"""
|
||||
space: Optional[str] = Field(None, description="space name")
|
||||
"""space_id: space id"""
|
||||
space_id: Optional[int] = Field(None, description="space id")
|
||||
"""status: status"""
|
||||
status: Optional[str] = Field(None, description="status")
|
||||
"""last_sync: last sync time"""
|
||||
last_sync: Optional[str] = Field(None, description="last sync time")
|
||||
"""result: result"""
|
||||
result: Optional[str] = Field(None, description="result")
|
||||
"""summary: summary"""
|
||||
summary: Optional[str] = Field(None, description="summary")
|
||||
"""gmt_created: created time"""
|
||||
gmt_created: Optional[str] = Field(None, description="created time")
|
||||
"""gmt_modified: modified time"""
|
||||
gmt_modified: Optional[str] = Field(None, description="modified time")
|
||||
"""chunk_size: chunk size"""
|
||||
chunk_size: Optional[int] = Field(None, description="chunk size")
|
||||
"""questions: questions"""
|
||||
questions: Optional[List[str]] = Field(None, description="questions")
|
||||
|
||||
@classmethod
|
||||
def to_response(cls, entity: KnowledgeDocumentEntity):
|
||||
"""Convert the entity to a response
|
||||
|
||||
Args:
|
||||
entity (T): The entity
|
||||
|
||||
Returns:
|
||||
REQ: The request
|
||||
"""
|
||||
return DocumentResponse(
|
||||
id=entity.id,
|
||||
doc_name=entity.doc_name,
|
||||
doc_type=entity.doc_type,
|
||||
space=entity.space,
|
||||
chunk_size=entity.chunk_size,
|
||||
status=entity.status,
|
||||
last_sync=str(entity.last_sync),
|
||||
content=entity.content,
|
||||
result=entity.result,
|
||||
vector_ids=entity.vector_ids,
|
||||
summary=entity.summary,
|
||||
questions=json.loads(entity.questions) if entity.questions else None,
|
||||
gmt_created=str(entity.gmt_created),
|
||||
gmt_modified=str(entity.gmt_modified),
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def serve_to_response(cls, response: DocumentServeResponse):
|
||||
"""Convert the entity to a response
|
||||
|
||||
Args:
|
||||
entity (T): The entity
|
||||
|
||||
Returns:
|
||||
REQ: The request
|
||||
"""
|
||||
return DocumentResponse(
|
||||
id=response.id,
|
||||
doc_name=response.doc_name,
|
||||
doc_type=response.doc_type,
|
||||
space=response.space,
|
||||
chunk_size=response.chunk_size,
|
||||
status=response.status,
|
||||
last_sync=str(response.last_sync),
|
||||
content=response.content,
|
||||
result=response.result,
|
||||
vector_ids=response.vector_ids,
|
||||
summary=response.summary,
|
||||
questions=json.loads(response.questions) if response.questions else None,
|
||||
gmt_created=str(response.gmt_created),
|
||||
gmt_modified=str(response.gmt_modified),
|
||||
)
|
||||
|
||||
|
||||
class SpaceQueryResponse(BaseModel):
|
||||
"""data: data"""
|
||||
|
||||
id: int = None
|
||||
name: str = None
|
||||
id: Optional[int] = None
|
||||
name: Optional[str] = None
|
||||
"""vector_type: vector type"""
|
||||
vector_type: str = None
|
||||
"""field_type: field type"""
|
||||
domain_type: str = None
|
||||
vector_type: Optional[str] = None
|
||||
"""domain_type"""
|
||||
domain_type: Optional[str] = None
|
||||
"""desc: description"""
|
||||
desc: str = None
|
||||
desc: Optional[str] = None
|
||||
"""context: context"""
|
||||
context: str = None
|
||||
context: Optional[str] = None
|
||||
"""owner: owner"""
|
||||
owner: str = None
|
||||
gmt_created: str = None
|
||||
gmt_modified: str = None
|
||||
owner: Optional[str] = None
|
||||
gmt_created: Optional[str] = None
|
||||
gmt_modified: Optional[str] = None
|
||||
"""doc_count: doc_count"""
|
||||
docs: int = None
|
||||
docs: Optional[int] = None
|
||||
|
||||
|
||||
class KnowledgeQueryResponse(BaseModel):
|
||||
@@ -55,3 +139,13 @@ class KnowledgeQueryResponse(BaseModel):
|
||||
score: float = 0.0
|
||||
"""text: raw text info"""
|
||||
text: str
|
||||
|
||||
|
||||
class DocumentQueryResponse(BaseModel):
|
||||
"""data: data"""
|
||||
|
||||
data: List[DocumentResponse] = Field(None, description="document list")
|
||||
"""total: total size"""
|
||||
total: Optional[int] = Field(None, description="total size")
|
||||
"""page: current page"""
|
||||
page: Optional[int] = Field(None, description="current page")
|
||||
|
Reference in New Issue
Block a user