我正在尝试遵循各种关于langchain和streamlit的教程,我遇到了许多关于导入名称的问题。我的主要问题是,我似乎无法从langchain. chains导入ConversationalRetrievalChain。这不是这个奇怪问题的第一个案例,例如
from langchain.chains import ConversationBufferMemory
字符串
这行代码不起作用,并返回错误:cannot import name 'ConversationBufferMemory' from 'langchain.chains'(/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/langchain/chains/init.py)
但是,当我编写以下代码时,
from langchain.chains.conversation.memory import ConversationBufferMemory
型
它工作得很好。看起来好像在import语句中指定我想要使用的包的路径是它工作的必要条件。
考虑到这一点,我想知道是否有人对ConversationalRetrievalChain的路径有任何见解。我尝试了this,但langchain.chains.conversational_retrieval不存在,许多其他网站,如[官方langchain网站](https://python.langchain.com/docs/modules/memory/conversational_customization)只会让我更误入歧途。
有谁知道ConversationalRetrievalChain在Langchain 0.0.27版本中的位置,或者我如何自己去找到它。非常感谢:)
我在代码中尝试了:
- from langchain.chains import ConversationalRetrievalChain
- from langchain.chains.conversation import ConversationalRetrievalChain
- from langchain.chains.conversation.memory import ConversationalRetrievalChain
- langchain.chains.conversational_retrieval.base import ConversationalRetrievalChain
其他事情:
- 安装一个旧版本的langchain(一直说我需要python >= 3.8.1,即使我有python 3.8.9)
我去哪里看:
- /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/langchain/chains/
- Langchain文档
4条答案
按热度按时间1hdlvixo1#
我也有类似的问题:
字符串
对我来说,升级到最新的langchain包版本帮助:
型
实际版本是'0.0.266',所以可能安装它而不是有人指出的'0.0.208'。
请安装最新版本的Python(我使用的是v.3.11),因为旧版本可能不支持新版本的langchain。
rsl1atfo2#
你可以试试下面的步骤。
使用以下命令创建虚拟环境
字符串
通过执行源代码激活虚拟环境
型
PIP安装库
型
您现在应该能够成功导入
型
vuktfyat3#
ConversationBufferMemory
属于langchain.memory
,或者具体地说是langchain.memory.buffer
,如果您这样做的话字符串
这两个都应该可以工作。检查API参考> https://api.python.langchain.com/en/latest/memory/langchain.memory.buffer.ConversationBufferMemory.html
顺便说一下,我的环境中的
langchain
型
ozxc1zmp4#
我在我的GoogleColab上做了以下事情,它奏效了!
第一:
字符串
然后又道:
型
然后又道:
型
然后又道:
型