迁移指南
迁移到0.2版本
openai v1是该库的完全重写版本,有许多破坏性变化。例如,推理需要实例化一个客户端,而不是使用全局类方法。
因此,对于pyautogen<0.2
的用户,需要进行一些更改。
api_base
->base_url
,request_timeout
->timeout
在llm_config
和config_list
中。max_retry_period
和retry_wait_time
已弃用。每个客户端可以设置max_retries
。- MathChat 在未来的版本中进行测试之前不受支持。
autogen.Completion
和autogen.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_cache
在OpenAIWrapper.create()
的 kwarg 中被移除,因为它会根据cache_seed
(int | None)自动决定。cache_seed
和 openai 的seed
之间的区别在于:autogen
使用本地磁盘缓存,以确保对于相同的输入产生完全相同的输出,并且当缓存命中时,不会进行 openai api 调用。- openai 的
seed
是一种尽力确定性采样,不能保证确定性。当将 openai 的seed
与cache_seed
设置为 None 一起使用时 ,即使是相同的输入,也会进行 openai api 调用,并且不能保证获得完全相同的输出。