You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Streamlit中Langchain WebBaseLoader加载速度极慢问题求助

解决Streamlit中Langchain WebBaseLoader加载速度异常缓慢的问题

针对你遇到的问题,结合Streamlit的运行机制和Langchain组件的特性,以下是几个可能的原因及对应解决方案:

1. 页面配置顺序不符合Streamlit规范

你的代码中先执行了网页加载操作,再调用st.set_page_config(),这违反了Streamlit的核心要求——st.set_page_config()必须是第一个执行的Streamlit命令。这种顺序错误可能导致页面初始化流程异常,间接拖慢后续代码的执行速度。

修复代码顺序:

import streamlit as st
from langchain_community.document_loaders import WebBaseLoader
import time

# 必须放在所有Streamlit操作最开头
st.set_page_config(page_title="Test loader.load() & Streamlit", page_icon="spider")

loader = WebBaseLoader("https://joint-research-centre.ec.europa.eu/welcome-jec-website/reference-regulatory-framework/renewable-energy-recast-2030-red-ii_en")
tic = time.perf_counter()
data = loader.load()
tac = time.perf_counter()

st.title(f"Load time = {tac - tic:0.3f}.")

2. 网络请求配置缺失导致无限等待

WebBaseLoader默认使用requests库发起请求,在Streamlit环境中,可能因为继承了浏览器代理、超时设置缺失等原因,导致请求被挂起或走了错误的网络路由。而普通脚本和Chainlit环境的网络配置更符合预期,所以速度正常。

显式配置请求参数:

loader = WebBaseLoader(
    "https://joint-research-centre.ec.europa.eu/welcome-jec-website/reference-regulatory-framework/renewable-energy-recast-2030-red-ii_en",
    # 设置10秒超时,避免无限等待;关闭代理排除路由问题
    requests_kwargs={"timeout": 10, "proxies": {"http": None, "https": None}}
)

3. Streamlit重复执行脚本导致重复加载

Streamlit会在页面初始化、交互时重新执行整个脚本,如果每次都重新加载网页,不仅浪费资源,还可能因为重复请求被目标网站限速。而Chainlit的执行模型更偏向会话式,不会重复执行初始化代码。

使用缓存隔离加载操作:
用@st.cache_data装饰加载函数,让Streamlit缓存加载结果,避免重复执行:

import streamlit as st
from langchain_community.document_loaders import WebBaseLoader
import time

st.set_page_config(page_title="Test loader.load() & Streamlit", page_icon="spider")

@st.cache_data
def load_webpage(url):
    loader = WebBaseLoader(url, requests_kwargs={"timeout": 10})
    return loader.load()

tic = time.perf_counter()
data = load_webpage("https://joint-research-centre.ec.europa.eu/welcome-jec-website/reference-regulatory-framework/renewable-energy-recast-2030-red-ii_en")
tac = time.perf_counter()

st.title(f"Load time = {tac - tic:0.3f}.")

内容的提问来源于stack exchange,提问作者lei'ga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 14:57:44