Skip to main content

base_logger

BaseLogger

class BaseLogger(ABC)

start

@abstractmethod
def start() -> str

打开与日志数据库的连接,并开始记录。

返回值

  • session_id str - 日志会话的唯一标识符

log_chat_completion

@abstractmethod
def log_chat_completion(invocation_id: uuid.UUID, client_id: int,
wrapper_id: int, source: Union[str, Agent],
request: Dict[str, Union[float, str, List[Dict[str,
str]]]],
response: Union[str, ChatCompletion], is_cached: int,
cost: float, start_time: str) -> None

将聊天完成记录到数据库。

在 AutoGen 中,聊天完成有些复杂,因为它们由 autogen.oai.OpenAIWrapper 类处理。 对 create 的一次调用可能会导致多个底层的 OpenAI 调用,这取决于使用的 llm_config 列表以及任何错误或重试。

参数

  • invocation_id uuid - 调用 OpenAIWrapper.create 方法的调用的唯一标识符
  • client_id int - 底层 OpenAI 客户端实例的唯一标识符
  • wrapper_id int - OpenAIWrapper 实例的唯一标识符
  • source str 或 Agent - 事件的来源/创建者,可以是字符串名称或 Agent 实例
  • request dict - 表示对 OpenAI 客户端端点的请求或调用的字典
  • response str 或 ChatCompletion - 来自 OpenAI 的响应
  • is_cached int - 如果响应是缓存命中,则为 1,否则为 0
  • cost(float) - OpenAI 响应的成本
  • start_time str - 表示发起请求的时刻的字符串

log_new_agent

@abstractmethod
def log_new_agent(agent: ConversableAgent, init_args: Dict[str, Any]) -> None

记录新 agent 的诞生。

参数

  • agent ConversableAgent - 要记录的 agent。
  • init_args dict - 构造可对话 agent 时传递的参数

log_event

@abstractmethod
def log_event(source: Union[str, Agent], name: str,
**kwargs: Dict[str, Any]) -> None

为 agent 记录事件。

参数

  • source str 或 Agent - 事件的来源/创建者,可以是字符串名称或 Agent 实例
  • name str - 事件的名称
  • kwargs dict - 要记录的事件信息

log_new_wrapper

@abstractmethod
def log_new_wrapper(
wrapper: OpenAIWrapper,
init_args: Dict[str, Union[LLMConfig, List[LLMConfig]]]) -> None

记录新的 OpenAIWrapper 的诞生。

参数

  • wrapper OpenAIWrapper - 要记录的 wrapper。
  • init_args dict - 构造 wrapper 时传递的参数

log_new_client

@abstractmethod
def log_new_client(client: Union[AzureOpenAI, OpenAI], wrapper: OpenAIWrapper,
init_args: Dict[str, Any]) -> None
@abstractmethod
def log_new_client(client: Union[AzureOpenAI, OpenAI], wrapper: OpenAIWrapper,
init_args: Dict[str, Any]) -> None
@abstractmethod
def log_new_client(client: Union[AzureOpenAI, OpenAI], wrapper: OpenAIWrapper,
init_args: Dict[str, Any]) -> None

记录一个新的OpenAIWrapper的诞生。

参数

  • wrapper OpenAI - 要记录的OpenAI客户端。
  • init_args dict - 用于构造客户端的参数。

log_function_use

@abstractmethod
def log_function_use(source: Union[str, Agent], function: F,
args: Dict[str, Any], returns: Any) -> None

记录已注册函数的使用情况(可以是工具)。

参数

  • source str or Agent - 事件的来源/创建者,可以是字符串名称或Agent实例。
  • function F - 函数信息。
  • args dict - 要记录的函数参数。
  • returns any - 返回值。

stop

@abstractmethod
def stop() -> None

关闭与日志数据库的连接,并停止记录。

get_connection

@abstractmethod
def get_connection() -> Union[None, sqlite3.Connection]

返回与日志数据库的连接。