- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我在这里的第一篇文章。我正在使用 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/
尝试运行 langchain 的基本教程脚本时遇到此错误: ModuleNotFoundError: No module named 'langchain.llms'; 'langchain' is
尝试运行 langchain 的基本教程脚本时遇到此错误: ModuleNotFoundError: No module named 'langchain.llms'; 'langchain' is
目录 简介 好的prompt 什么是prompt template 在langchain中创建prompt temp
我想我不明白代理如何选择工具。我有一个矢量数据库(Chroma),其中嵌入了我希望代理首先查看的所有内部知识。然后,如果答案不在 Chroma 数据库中,它应该使用 OpenAI 用于训练的信息(外部
我正在尝试使用 langchain 代理为软件工程师生成一个月的面试计划。期望代理应该询问用户几个问题并制定计划。 import os from langchain.memory import Con
我用 langchain 库构建了一个分割器函数,可以分割一系列 python 文件。在代码中的另一点,我需要将这些文档转换回 python 代码。只是我不知道该怎么做 def index_repo(
我正在使用 Langchain 的 RecursiveCharacterTextSplitter 来分割 python 文件。这样做我会丢失哪个 block 属于哪个文件的信息。之后如何跟踪各个 bl
希望你做得很好。我根据以下 langchain 文档准备了一个聊天机器人: Langchain chatbot documentation 在上面的langchain文档中,提示模板有两个输入变量——
我在Python中使用带有Gradio接口(interface)的Langchain。我制作了一个对话代理,并尝试将其响应传输到 Gradio 聊天机器人界面。我查看了 Langchain 文档,但找
我正在尝试使用 Langchain 和特定 URL 作为源数据来整理一个简单的“带有来源的问答”。该 URL 由一个页面组成,其中包含大量信息。 问题是 RetrievalQAWithSourcesC
希望你做得很好。我根据以下 langchain 文档准备了一个聊天机器人: Langchain chatbot documentation 在上面的langchain文档中,提示模板有两个输入变量——
我在Python中使用带有Gradio接口(interface)的Langchain。我制作了一个对话代理,并尝试将其响应传输到 Gradio 聊天机器人界面。我查看了 Langchain 文档,但找
我正在尝试使用 Langchain 和特定 URL 作为源数据来整理一个简单的“带有来源的问答”。该 URL 由一个页面组成,其中包含大量信息。 问题是 RetrievalQAWithSourcesC
我想我不明白代理如何选择工具。我有一个矢量数据库(Chroma),其中嵌入了我希望代理首先查看的所有内部知识。然后,如果答案不在 Chroma 数据库中,它应该使用 OpenAI 用于训练的信息(外部
我正在尝试使用 langchain 代理为软件工程师生成一个月的面试计划。期望代理应该询问用户几个问题并制定计划。 import os from langchain.memory import Con
我用 langchain 库构建了一个分割器函数,可以分割一系列 python 文件。在代码中的另一点,我需要将这些文档转换回 python 代码。只是我不知道该怎么做 def index_repo(
我正在使用 Langchain 的 RecursiveCharacterTextSplitter 来分割 python 文件。这样做我会丢失哪个 block 属于哪个文件的信息。之后如何跟踪各个 bl
我正在开发一个使用 SvelteKit 和 Langchain 的项目。我想实现一个功能,我可以按下按钮并让 UI 在聊天流进入时显示它们的标记。但是,我当前使用表单操作的实现遇到了一些困难。 这是我
我正在关注langchain官方文档here中的本教程我是否尝试在使用时跟踪 token 的数量。但是,我想使用 gpt-3.5-turbo 而不是 text-davinci-003,因此我将使用的
我想创建一个自托管的 LLM 模型,该模型将能够拥有我自己的自定义数据的上下文(就此而言,Slack 对话)。 我听说 Vicuna 是 ChatGPT 的一个很好的替代品,所以我编写了以下代码: f
我是一名优秀的程序员,十分优秀!