Skip to main content

迁移指南

迁移到0.2版本

openai v1是该库的完全重写版本,有许多破坏性变化。例如,推理需要实例化一个客户端,而不是使用全局类方法。 因此,对于pyautogen<0.2的用户,需要进行一些更改。

  • api_base -> base_urlrequest_timeout -> timeoutllm_configconfig_list 中。max_retry_periodretry_wait_time 已弃用。每个客户端可以设置 max_retries
  • MathChat 在未来的版本中进行测试之前不受支持。
  • autogen.Completionautogen.ChatCompletion 已弃用。基本功能已移至 autogen.OpenAIWrapper
from autogen import OpenAIWrapper
client = OpenAIWrapper(config_list=config_list)
response = client.create(messages=[{"role": "user", "content": "2+2="}])
print(client.extract_text_or_completion_object(response))
  • 推理参数调整和推理日志记录功能已更新:
import autogen.runtime_logging

# 开始记录日志
autogen.runtime_logging.start()

# 停止记录日志
autogen.runtime_logging.stop()

请查看日志记录文档日志记录示例笔记本以了解更多信息。

可以通过flaml.tune进行推理参数调整。

  • autogen 中的 seed 被重命名为 cache_seed,以适应 openai chat completion api 中新增的 seed 参数。use_cacheOpenAIWrapper.create() 的 kwarg 中被移除,因为它会根据 cache_seed(int | None)自动决定。cache_seed 和 openai 的 seed 之间的区别在于:
    • autogen 使用本地磁盘缓存,以确保对于相同的输入产生完全相同的输出,并且当缓存命中时,不会进行 openai api 调用。
    • openai 的 seed 是一种尽力确定性采样,不能保证确定性。当将 openai 的 seedcache_seed 设置为 None 一起使用时,即使是相同的输入,也会进行 openai api 调用,并且不能保证获得完全相同的输出。