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,否则为 0cost(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]
返回与日志数据库的连接。