gpt4 book ai didi

python - 实现 LangChain 的 OpenAI LLM wrapper 时遇到这个属性错误的原因是什么?

转载 作者:行者123 更新时间:2023-12-02 22:45:07 30 4
gpt4 key购买 nike

这是我在这里的第一篇文章。我正在使用 PyQt5 构建一个 Python 窗口应用程序,该应用程序实现与 OpenAI 完成端点的交互。到目前为止,我自己编写的任何代码都运行良好,而且我已经到了想要开始为 session 交互实现长期内存的地步。我开始只是运行我自己的提示链来分类和编写主题和摘要到文本文件,但我决定最好尝试探索开源选项以了解编程社区如何管理事物。这让我找到了 LangChain ,它背后似乎有一些流行的支持,并且已经实现了我想要的许多功能。

然而,我还没有取得哪怕是最微小的成功。即使是最简单的示例也不会执行,无论我在什么上下文中实现它(类内、类外、异步循环、控制台、主窗口中的文本浏览器,等等)我总是得到相同的错误信息。

最简单的例子:

import os
from langchain.llms import OpenAI
from local import constants #For API key
os.environ["OPENAI_API_KEY"] = constants.OPENAI_API_KEY
davinci = OpenAI(model_name= 'text-davinci-003', verbose=True, temperature=0.6)
text = "Write me a story about a guy who is frustrated with Python."
print("Prompt: " + text)
print(davinci(text))

它能够实例化包装器并将提示打印到控制台,但在任何时候通过包装器的函数发送命令以接收生成的文本,它都会遇到此 AttributeError。

这是回溯:

Traceback (most recent call last):
File "D:\Dropbox\Pycharm Projects\workspace\main.py", line 16, in <module>
print(davinci(text))
File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\base.py", line 255, in __call__
return self.generate([prompt], stop=stop).generations[0][0].text
File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\base.py", line 128, in generate
raise e
File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\base.py", line 125, in generate
output = self._generate(prompts, stop=stop)
File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\openai.py", line 259, in _generate
response = self.completion_with_retry(prompt=_prompts, **params)
File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\openai.py", line 200, in completion_with_retry
retry_decorator = self._create_retry_decorator()
File "D:\Dropbox\Pycharm Projects\workspace\venv\lib\site-packages\langchain\llms\openai.py", line 189, in _create_retry_decorator
retry_if_exception_type(openai.error.Timeout)
AttributeError: module 'openai.error' has no attribute 'Timeout'

我不认为 LangChain 库有问题,因为似乎没有其他人遇到过这个问题。我想我可能有一些依赖性问题?或者我确实注意到其他使用 LangChain 库的人是在笔记本开发环境中这样做的,而我在这方面的不熟悉让我忽略了对库使用的一些基本期望?欢迎任何建议!谢谢!

我尝试了什么:我最初只是用一个通过 LangChain 的 llm 包装器发出调用的函数替换了我自己的用于管理对完成端点的调用的函数。我希望它能像我自己的代码一样轻松地工作,但我收到了那个错误。然后我一层一层地剥离所有东西,试图在程序的每个范围内实例化包装器,然后我试图通过等待完成的循环在异步函数中进行调用,无论如何,我总是得到同样的错误消息。

最佳答案

我认为这可能与您当前安装的 Python、OpenAI 和/或 LangChain 版本有关。也许尝试使用更新版本的 Python 和 OpenAI。我是 Python 和这些东西的新手,但希望我能提供帮助。

关于python - 实现 LangChain 的 OpenAI LLM wrapper 时遇到这个属性错误的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75490436/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com