标签: langchain

无法导入 langchain.agents.load_tools

我正在尝试使用 LangChain Agents,但无法导入 load_tools。版本:langchain==0.0.27

我尝试过这些:

from langchain.agents import initialize_agent
from langchain.llms import OpenAI
from langchain.agents import load_tools
Run Code Online (Sandbox Code Playgroud)

显示输出

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-36-8eb0012265d0> in <module>
      1 from langchain.agents import initialize_agent
      2 from langchain.llms import OpenAI
----> 3 from langchain.agents import load_tools

ImportError: cannot import name 'load_tools' from 'langchain.agents' (C:\ProgramData\Anaconda3\lib\site-packages\langchain\agents\__init__.py)
Run Code Online (Sandbox Code Playgroud)

python python-3.x langchain

5
推荐指数
1
解决办法
2万
查看次数

Streamlit 应用程序中带有 ConversationBufferMemory 的 LangChain 不起作用

我有一个流式聊天机器人,它工作得很好,但不记得以前的聊天历史记录。我试图用 langchain ConversationBufferMemory 添加它,但它似乎不起作用。

这是我创建的聊天机器人的示例:

import streamlit as st
from streamlit_chat import message

from langchain.chains import ConversationChain
from langchain.llms import OpenAI
from langchain.chat_models import AzureChatOpenAI

from langchain.memory import ConversationBufferMemory

from langchain.prompts import (
    ChatPromptTemplate, 
    MessagesPlaceholder, 
    SystemMessagePromptTemplate, 
    HumanMessagePromptTemplate
)


prompt = ChatPromptTemplate.from_messages([
    SystemMessagePromptTemplate.from_template("The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says …
Run Code Online (Sandbox Code Playgroud)

python streamlit langchain

5
推荐指数
1
解决办法
2106
查看次数

为什么 RecursiveCharacterTextSplitter 没有给出任何块重叠?

我正在尝试创建(最大)350 个字符长、100 个块重叠的块。

我知道这chunk_size是一个上限,所以我可能会得到比这个更短的块。但为什么我没有得到任何chunk_overlap

是因为重叠也必须在分隔符之一上分割吗?那么如果separator分割的 100 个字符以内可以分割,那么它就是 100 个字符 chunk_overlap 吗?

from langchain.text_splitter import RecursiveCharacterTextSplitter

some_text = """When writing documents, writers will use document structure to group content. \
This can convey to the reader, which idea's are related. For example, closely related ideas \
are in sentances. Similar ideas are in paragraphs. Paragraphs form a document. \n\n  \
Paragraphs are often delimited with a carriage return or two carriage returns. \
Carriage returns …
Run Code Online (Sandbox Code Playgroud)

python langchain py-langchain

5
推荐指数
1
解决办法
2569
查看次数

使用 OpenAI 嵌入和 Chroma 向量存储限制 LangChain 中每分钟的代币数量

我正在寻找一种方法来限制在 Chroma 矢量存储中保存嵌入时每分钟的令牌数。这是我的代码:

[...]
# split the documents into chunks
text_splitter = CharacterTextSplitter(chunk_size=1500, chunk_overlap=0)
texts = text_splitter.split_documents(documents)
# select which embeddings we want to use
embeddings = OpenAIEmbeddings()
# create the vectorestore to use as the index
db = Chroma.from_documents(texts, embeddings)
[...]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Retrying langchain.embeddings.openai.embed_with_retry.<locals>._embed_with_retry in 4.0 seconds as it raised RateLimitError: Rate limit reached for default-text-embedding-ada-002 in organization org-xxx on tokens per min. Limit: 1000000 / min. Current: 1 / min. Contact us through our help center at help.openai.com …
Run Code Online (Sandbox Code Playgroud)

langchain chromadb openaiembeddings

5
推荐指数
1
解决办法
2673
查看次数

Langchain:ModuleNotFoundError:没有名为“langchain”的模块

当我在 VS Code 中编写代码时,从以下内容开始:

import os
from langchain.chains import RetrievalQA
from langchain.llms import OpenAI
from langchain.document_loaders import TextLoader
Run Code Online (Sandbox Code Playgroud)

我遇到了错误:ModuleNotFoundError: No module named 'langchain'

我已将 Python 更新到版本 3.11.4,更新了 pip,并重新安装了 langchain。C:\\Python311\\Lib\\site-packages我还检查了 sys.path 并附加了 Langchain 文件夹所在的文件夹。

编辑:当我在 Python 控制台中运行 Langchain 导入时(功能也有效),但当我从 VSCode 运行按钮运行代码时,它仍然提供 ModuleNotFoundError。

还有其他人遇到过这个问题并找到解决方案吗?

python import module python-import langchain

5
推荐指数
2
解决办法
3万
查看次数

如何使 privateGPT 仅从本地文档检索信息?

我将privateGPT与默认的GPT4All模型 ( ggml-gpt4all-j-v1.3-groovy.bin ) 一起使用,但也与最新的 Falcon 版本一起使用。我的问题是,我期望仅从本地文档中获取信息,而不是从模型已经“知道”的信息中获取信息。

示例:如果唯一的本地文档是软件的参考手册,我预计 privateGPT 无法回答以下问题:“德国的首都是哪一个?” 或“什么是苹果?” 因为它的内容不在本地文档本身中。

privateGPT 使用本地 Chroma 矢量存储来存储本地文档中的嵌入。langchain检索器不应该只从这些中获取信息吗?我缺少什么?

artificial-intelligence nlp-question-answering huggingface-transformers langchain gpt4all

5
推荐指数
1
解决办法
2266
查看次数

在 LangChain 中链接 Runnable 时出现类型错误:需要 Runnable、callable 或 dict

我正在与 LangChain 合作创建一个基于检索的 QA 系统。但是,当我尝试链接 Runnables 时,遇到无法解决的 TypeError。当我尝试使用 | 时发生错误 (管道)运算符将 RunnablePassthrough 与自定义提示和 ChatOpenAI 实例链接起来。

这是我收到的错误消息:

TypeError: Expected a Runnable, callable or dict. Instead got an unsupported type: <class 'str'>

我已经查明了这部分代码的错误:

rag_chain = ( {"context": context, "question": RunnablePassthrough()} | rag_custom_prompt | llm )

我希望 RunnablePassthrough() 将上下文和问题传递到链中的下一步,但在强制到 Runnable 期间似乎失败了。

以下几乎是我的全部代码:

## Convert the pdf into txt
def pdf_to_txt(inst_manuals):

    txt = ""
    for manual in inst_manuals:
        reader = PdfReader(inst_manuals)
        for page in reader.pages:
            txt += page.extract_text()

    return txt

## Convert txt into …
Run Code Online (Sandbox Code Playgroud)

python nlp artificial-intelligence langchain

5
推荐指数
1
解决办法
6477
查看次数

为Langchain创建load_summarize_chain,指定chain_type=map_reduce。使用提示时出现错误

我正在尝试使用我自己创建的提示为 Langchain 创建 load_summarize_chain 。

\n
llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0.7)\nPROMPT = PromptTemplate(template=prompt_template, input_variables=["text"])\nchain = load_summarize_chain(llm, chain_type="refine", verbose=True, prompt=PROMPT)\n
Run Code Online (Sandbox Code Playgroud)\n

但是,只有当 chain_type 设置为“stuff”时,我才能成功创建链。当我尝试将其指定为“map_reduce”或“refine”时,我收到如下错误消息:

\n
llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0.7)\nPROMPT = PromptTemplate(template=prompt_template, input_variables=["text"])\nchain = load_summarize_chain(llm, chain_type="refine", verbose=True, prompt=PROMPT)\n
Run Code Online (Sandbox Code Playgroud)\n

这是怎么回事\xef\xbc\x9f

\n

我认为这可能是因为“map_reduce”或“refine”无法直接在load_summarize_chain,或者其他一些原因。

\n

python openai-api chatgpt-api langchain

4
推荐指数
1
解决办法
7619
查看次数

模块“chainlit”没有属性“langchain_factory”

我下载了仓库:https ://github.com/menloparklab/falcon-langchain

virtualenv为此创建了一个来安装requirments.txt并运行该应用程序。

使用以下命令运行应用程序后。

chainlit run app.py -w
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

module 'chainlit' has no attribute 'langchain_factory'
Run Code Online (Sandbox Code Playgroud)

attributes langchain large-language-model

4
推荐指数
1
解决办法
2046
查看次数

初始化 AzureChatOpenAI() 时出现问题

我尝试从 langchain 调用 AzureChatOpenAI() 。通常我会这样做:

model = AzureChatOpenAI(
openai_api_base=os.getenv("OPENAI_API_BASE"),
openai_api_version="2023-03-15-preview",
deployment_name=os.getenv("GPT_DEPLOYMENT_NAME"),
openai_api_key=os.getenv("OPENAI_API_KEY"),
openai_api_type="azure",
Run Code Online (Sandbox Code Playgroud)

但我收到警告

python3.9/site-packages/langchain/chat_models/azure_openai.py:155: UserWarning: As of openai>=1.0.0, Azure endpoints should be specified via the `azure_endpoint` param not `openai_api_base` (or alias `base_url`). Updating `openai_api_base` from https://xxxx.openai.azure.com/ to https://xxxx.openai.azure.com/openai.
  warnings.warn(

python3.9/site-packages/langchain/chat_models/azure_openai.py:162: UserWarning: As of openai>=1.0.0, if `deployment_name` (or alias `azure_deployment`) is specified then `openai_api_base` (or alias `base_url`) should not be. Instead use `deployment_name` (or alias `azure_deployment`) and `azure_endpoint`.
  warnings.warn(

python3.9/site-packages/langchain/chat_models/azure_openai.py:170: UserWarning: As of openai>=1.0.0, if `openai_api_base` (or alias `base_url`) …
Run Code Online (Sandbox Code Playgroud)

python azure openai-api langchain

4
推荐指数
1
解决办法
7597
查看次数