韩宇
init
1b7e88c
from enum import Enum
from typing import Any, Dict, List, Optional
from pydantic import BaseModel
class CodeEnum(int, Enum):
SUCCESS = 0
class ContentItem(BaseModel):
type: str
resource_id: Optional[str]
data: str
class InputMessage(BaseModel):
role: str
content: List[ContentItem]
class ChatRequest(BaseModel):
agent_id: str
messages: List[InputMessage]
kwargs: Dict[str, Any] = {}
class CallbackMessage(BaseModel):
role: str
type: str
content: str
class Usage(BaseModel):
prompt_tokens: int
output_tokens: int
class ContentStatus(str, Enum):
INCOMPLETE = "incomplete" # the conversation content is not yet complete
END_BLOCK = "end_block" # a single conversation has ended, but the overall result is not finished
END_ANSWER = "end_answer" # the overall return is complete
class ChatResponse(BaseModel):
agent_id: str
code: int
error_info: str
took: int
content_status: ContentStatus
message: CallbackMessage
usage: Usage
class RunningInfo(BaseModel):
agent_id: str
progress: str
message: Optional[str]
class DataMemorize(BaseModel):
content: List[ContentItem]
class ContentStatus(str, Enum):
INCOMPLETE = "incomplete" # the conversation content is not yet complete
END_BLOCK = "end_block" # a single conversation has ended, but the overall result is not finished
END_ANSWER = "end_answer" # the overall return is complete
class InteractionType(int, Enum):
DEFAULT = 0
INPUT = 1
class MessageType(str, Enum):
TEXT = "text"
IMAGE_URL = "image_url"
IMAGE_BASE64 = "image_base64"
class ConversationEvent(str, Enum):
CHAT_CREATE = 'conversation.chat.created'
CHAT_PROCESS = 'conversation.chat.process'
CHAT_COMPLETED = 'conversation.chat.completed'
CHAT_FAILED = 'conversation.chat.failed'
MESSAGE_DELTA = 'conversation.message.delta'
MESSAGE_ERROR = 'conversation.message.error'
MESSAGE_COMPLETED = 'conversation.message.completed'
ERROR = 'error'
DONE = 'done'