[add] app chat v1
This commit is contained in:
@@ -8,7 +8,9 @@ from .file_schema import File, FileCreate, FileUpdate
|
||||
from .tenant_schema import Tenant, TenantCreate, TenantUpdate
|
||||
from .chunk_schema import ChunkCreate, ChunkUpdate, ChunkRetrieve
|
||||
from .knowledgeshare_schema import KnowledgeShare, KnowledgeShareCreate
|
||||
from .order_schema import CreateOrderRequest, OrderResponse, ExternalOrderResponse
|
||||
from .app_schema import (
|
||||
AppChatRequest,
|
||||
DraftRunRequest,
|
||||
DraftRunResponse,
|
||||
DraftRunStreamChunk,
|
||||
@@ -73,6 +75,10 @@ __all__ = [
|
||||
"ChunkRetrieve",
|
||||
"KnowledgeShare",
|
||||
"KnowledgeShareCreate",
|
||||
"CreateOrderRequest",
|
||||
"OrderResponse",
|
||||
"ExternalOrderResponse",
|
||||
"AppChatRequest",
|
||||
"DraftRunRequest",
|
||||
"DraftRunResponse",
|
||||
"DraftRunStreamChunk",
|
||||
|
||||
@@ -334,6 +334,13 @@ class AppShare(BaseModel):
|
||||
|
||||
# ---------- Draft Run Schemas ----------
|
||||
|
||||
class AppChatRequest(BaseModel):
|
||||
message: str = Field(..., description="用户消息")
|
||||
conversation_id: Optional[str] = Field(default=None, description="会话ID(用于多轮对话)")
|
||||
user_id: Optional[str] = Field(default=None, description="用户ID(用于会话管理)")
|
||||
variables: Optional[Dict[str, Any]] = Field(default=None, description="自定义变量参数值")
|
||||
stream: bool = Field(default=False, description="是否流式返回")
|
||||
|
||||
class DraftRunRequest(BaseModel):
|
||||
"""试运行请求"""
|
||||
message: str = Field(..., description="用户消息")
|
||||
|
||||
63
api/app/schemas/order_schema.py
Normal file
63
api/app/schemas/order_schema.py
Normal file
@@ -0,0 +1,63 @@
|
||||
"""
|
||||
Order Schema
|
||||
|
||||
Defines request and response models for order operations.
|
||||
"""
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Any, Optional
|
||||
|
||||
|
||||
class CreateOrderRequest(BaseModel):
|
||||
"""Create order request model"""
|
||||
|
||||
product_id: str = Field(..., description="Product ID")
|
||||
quantity: int = Field(..., gt=0, description="Order quantity")
|
||||
customer_name: Optional[str] = Field(None, description="Customer name")
|
||||
customer_email: Optional[str] = Field(None, description="Customer email")
|
||||
notes: Optional[str] = Field(None, description="Order notes")
|
||||
|
||||
class Config:
|
||||
json_schema_extra = {
|
||||
"example": {
|
||||
"product_id": "PROD-001",
|
||||
"quantity": 2,
|
||||
"customer_name": "John Doe",
|
||||
"customer_email": "john@example.com",
|
||||
"notes": "Please deliver before 5pm"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class OrderResponse(BaseModel):
|
||||
"""Order response model"""
|
||||
|
||||
order_id: str = Field(..., description="Order ID")
|
||||
status: str = Field(..., description="Order status")
|
||||
product_id: str = Field(..., description="Product ID")
|
||||
quantity: int = Field(..., description="Order quantity")
|
||||
total_amount: Optional[float] = Field(None, description="Total amount")
|
||||
created_at: Optional[str] = Field(None, description="Creation timestamp")
|
||||
message: Optional[str] = Field(None, description="Response message")
|
||||
|
||||
class Config:
|
||||
json_schema_extra = {
|
||||
"example": {
|
||||
"order_id": "ORD-20231224-001",
|
||||
"status": "pending",
|
||||
"product_id": "PROD-001",
|
||||
"quantity": 2,
|
||||
"total_amount": 199.99,
|
||||
"created_at": "2023-12-24T10:30:00Z",
|
||||
"message": "Order created successfully"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class ExternalOrderResponse(BaseModel):
|
||||
"""External API response model (flexible structure)"""
|
||||
|
||||
success: bool = Field(default=True, description="Request success status")
|
||||
data: Optional[Any] = Field(None, description="Response data")
|
||||
error: Optional[str] = Field(None, description="Error message")
|
||||
code: Optional[int] = Field(None, description="Response code")
|
||||
Reference in New Issue
Block a user