首页 > 编程问答 >由于 OpenAI API 密钥错误,无法使用 Autogen 代理的本地模型

由于 OpenAI API 密钥错误,无法使用 Autogen 代理的本地模型

时间:2024-07-31 13:46:05浏览次数:7  
标签:python huggingface-transformers agent autogen

我正在尝试将 Autogen 库与本地 Huggingface 模型一起使用,而不是使用 OpenAI API。但是,我遇到了一个问题,收到以下错误:

OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable

任何人都可以提供有关如何正确配置 Autogen 库以使用本地 Huggingface 模型的指导吗?是否需要任何特定设置或修改来绕过 API 密钥要求?

任何帮助将不胜感激!


遇到的错误消息表明,即使要使用本地 Hugging Face 模型,Autogen 库的某些部分仍在尝试访问 OpenAI API。

解决方法:

虽然 Autogen 主要设计用于与 OpenAI API 交互,但可以通过以下方法调整它以使用本地 Hugging Face 模型:

  1. 使用自定义函数包装模型调用:

  2. 创建一个自定义函数,该函数接收提示作为输入,使用 Hugging Face 库加载并运行的本地模型,然后返回模型生成的响应。

  3. 在 Autogen 代理配置中,不使用 openai 函数调用,而是使用指向自定义函数的自定义工具。

  4. 修改 Autogen 源代码(不推荐):

  5. 可以尝试直接修改 Autogen 库的源代码,以绕过或替换 OpenAI API 调用。 但是,这需要深入了解 Autogen 的内部结构,并且可能会使的代码难以维护。

示例代码(使用自定义函数):

from autogen import Assistant, UserProxyAgent
from transformers import pipeline

# 加载的 Hugging Face 模型
generator = pipeline("text-generation", model="your-huggingface-model-name")

# 定义自定义函数来运行的模型
def generate_text(prompt):
  response = generator(prompt, max_length=100, num_return_sequences=1)
  return response[0]['generated_text']

# 创建一个 UserProxyAgent 并指定的自定义函数
user_proxy = UserProxyAgent(
    name="user_proxy",
    system_message="你是用户代理,负责与本地模型交互。",
    tools=[("generate_text", generate_text)],
)

# 创建一个 Assistant 并将其添加到 Autogen 对话中
assistant = Assistant(name="assistant")
conversation = Conversation(agents=[user_proxy, assistant], messages=[])

# 运行的对话
conversation.run(user_proxy.initiate_chat(message="你好,请帮我写一首关于春天的诗。"))

请注意,这只是一个示例,需要根据的特定用例和 Hugging Face 模型进行调整。

总的来说,尽管 Autogen 主要设计用于 OpenAI API,但可以通过自定义函数和一些变通方法将其与本地 Hugging Face 模型一起使用。

标签:python,huggingface-transformers,agent,autogen
From: 78814536

相关文章