mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 12:05:54 +00:00
54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
from __future__ import annotations
|
|
|
|
import datetime
|
|
import asyncio
|
|
import typing
|
|
|
|
import pydantic
|
|
|
|
from ..sysprompt import entities as sysprompt_entities
|
|
from .. import entities as llm_entities
|
|
from ..requester import entities
|
|
from ...core import entities as core_entities
|
|
from ..tools import entities as tools_entities
|
|
|
|
|
|
class Conversation(pydantic.BaseModel):
|
|
"""对话"""
|
|
|
|
prompt: sysprompt_entities.Prompt
|
|
|
|
messages: list[llm_entities.Message]
|
|
|
|
create_time: typing.Optional[datetime.datetime] = pydantic.Field(default_factory=datetime.datetime.now)
|
|
|
|
update_time: typing.Optional[datetime.datetime] = pydantic.Field(default_factory=datetime.datetime.now)
|
|
|
|
use_model: entities.LLMModelInfo
|
|
|
|
use_funcs: typing.Optional[list[tools_entities.LLMFunction]]
|
|
|
|
|
|
class Session(pydantic.BaseModel):
|
|
"""会话"""
|
|
launcher_type: core_entities.LauncherTypes
|
|
|
|
launcher_id: int
|
|
|
|
sender_id: typing.Optional[int] = 0
|
|
|
|
use_prompt_name: typing.Optional[str] = 'default'
|
|
|
|
using_conversation: typing.Optional[Conversation] = None
|
|
|
|
conversations: typing.Optional[list[Conversation]] = []
|
|
|
|
create_time: typing.Optional[datetime.datetime] = pydantic.Field(default_factory=datetime.datetime.now)
|
|
|
|
update_time: typing.Optional[datetime.datetime] = pydantic.Field(default_factory=datetime.datetime.now)
|
|
|
|
semaphore: typing.Optional[asyncio.Semaphore] = None
|
|
|
|
class Config:
|
|
arbitrary_types_allowed = True
|