跳到主要内容

logger.base_logger

基础日志记录器

class BaseLogger(ABC)

开始

@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 字典 - 表示向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 ConversableAgent - 要记录的代理。
  • init_args dict - 传递给构造可对话代理的参数

log_event

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

为代理记录一个事件。

参数:

  • 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 - 要记录的包装器。
  • init_args dict - 传递给构造包装器的参数

记录新客户端

@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 或 Agent - 事件的来源/创建者,可以是字符串名称或 Agent 实例
  • function F - 函数信息
  • args dict - 要记录的函数参数
  • returns any - 返回的值

停止

@abstractmethod
def stop() -> None

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

get_connection

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

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