| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- from pydantic import BaseModel
- from typing import Optional, List, Dict
- class ChatRequest(BaseModel):
- message: str
- thread_id: str = "default"
- username: str = "default"
- backend_url: str = ""
- token: str = ""
- include_thoughts: bool = False
- include_tool_calls: bool = False
- class MessageModel(BaseModel):
- type: str
- content: str
- tool_calls: Optional[List[Dict]] = None
- tool_call_id: Optional[str] = None
- name: Optional[str] = None
- class ChatResponse(BaseModel):
- final_answer: str
- all_ai_messages: List[MessageModel]
- all_messages: List[MessageModel]
- tool_calls: List[Dict]
- thread_id: str
- user_identifier: str
- backend_config: Dict
- success: bool
- error: Optional[str] = None
- class OCRRequest(BaseModel):
- """图片处理请求"""
- image: str
- type: str
- file_type: int = 1
- class MessageCreateBill(BaseModel):
- """创建单据请求"""
- message: str
- document_type: str = None
- class ImageVectorItem(BaseModel):
- """图片向量项"""
- image_id: str # 图片ID
- vector: List[float] # 图片特征向量
- image_name: Optional[str] = None # 图片名称,可选
- image_path: Optional[str] = None # 图片路径,可选
- class ImageVectorRequest(BaseModel):
- """计算图片特征向量请求"""
- image: str # Base64编码的图片数据
- image_id: Optional[str] = None # 图片ID,可选
- class ImageVectorResponse(BaseModel):
- """计算图片特征向量响应"""
- success: bool
- image_id: Optional[str] = None
- vector: Optional[List[float]] = None
- error: Optional[str] = None
- class BuildIndexRequest(BaseModel):
- """构建索引请求"""
- image_vectors: List[ImageVectorItem] # 图片向量列表
- class BuildIndexResponse(BaseModel):
- """构建索引响应"""
- success: bool
- indexed_count: int # 索引的图片数量
- error: Optional[str] = None
- class SearchResultItem(BaseModel):
- """搜索结果项"""
- image_id: str # 图片ID
- similarity: float # 相似度
- image_name: Optional[str] = None # 图片名称
- image_path: Optional[str] = None # 图片路径
- class SearchRequest(BaseModel):
- """搜索请求(支持以图搜图和以文搜图)"""
- image: Optional[str] = None # Base64编码的图片数据,可选
- text: Optional[str] = None # 文字描述,可选
- top_k: int = 10 # 返回结果数量
- class SearchResponse(BaseModel):
- """搜索响应"""
- success: bool
- results: List[SearchResultItem] # 搜索结果列表
- total_count: int # 总结果数量
- processing_time: float # 处理时间(秒)
- error: Optional[str] = None
- class SearchHistoryRequest(BaseModel):
- """记录搜索历史请求"""
- empid: int # 员工ID
- search_type: int # 搜索类型:1-以图搜图,2-以文搜图,3-图文混合搜索
- search_content: str # 搜索内容
- result_count: int # 搜索结果数量
- result_content: str # 搜索结果内容(JSON格式)
- class SearchHistoryResponse(BaseModel):
- """记录搜索历史响应"""
- success: bool
- history_id: Optional[int] = None
- error: Optional[str] = None
|