Перейти к содержанию

Данные сессии#

GPT-бот расширяет базовые данные сессии информацией, специфичной для разговора:

@dataclass
class GPTSessionData:
    """Данные сессии для GPT-разговоров"""
    messages: List[Dict[str, Any]] = field(default_factory=list)
    last_activity: int = field(default_factory=lambda: int(time.time()))
    user_data: Dict[str, Any] = field(default_factory=dict)
    context: Dict[str, Any] = field(default_factory=dict)

Вы можете получить доступ и изменить эти данные в вашем промежуточном ПО:

def message_middleware(notification, content, messages, session_data):
    # Установка переменных контекста
    if "variables" not in session_data.context:
        session_data.context["variables"] = {}

    session_data.context["variables"]["last_interaction"] = int(time.time())

    return {"message_content": content, "messages": messages}