Spaces:
Running
Running
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' | |