lazyLLM官网文档无法访问,本地运行文档
下载lazyLLM本地运行文档
提示
官网提供的 https://docs.lazyllm.ai/因为第三方远程脚本投毒是,extra_javascript 链了一个外部域名的脚本,而那个域名的文件内容被换了,现在没有办法正常访问
api.lazyllm.top 是 LazyLLM 官方自己的域名。这个域名下的脚本现在已经被换成广告跳转了(可能是域名过期被抢注、服务器被黑,或者官方自己挂的广告)。所以官方在线文档站现在访问也会跳广告 —— 本地跑起来看反而是更安全的做法
解决办法:
编辑 docs/mkdocs.template.yml 和生成的 mkdocs.yml,把 extra_javascript 里的 - assets/js/assistant.js 删掉(保留 lang-redirect.js 和 mathjax)。改完 Ctrl+F5 硬刷新浏览器。注意改模板才能持久,只改 mkdocs.yml 重新生成后会回来。
下载源码
github访问地址:https://github.com/LazyAGI/LazyLLM
git clone git@github.com:LazyAGI/LazyLLM.git找到代理端口
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | findstr ProxyServer会返回类似 ProxyServer REG_SZ 127.0.0.1:7890 —— 那个端口就是。
(Clash 常用 7890,V2Ray 常用 10809,以你实际输出为准。如果这条命令没输出,说明用的是 TUN 全局模式,看软件的设置页面找端口。)
让 Git 走代理
假设端口是 7890(换成你自己的):
git config --global http.proxy http://127.0.0.1:7890git config --global https.proxy http://127.0.0.1:7890然后先测连通,别直接 clone(秒回,省时间):
git ls-remote https://github.com/LazyAGI/Tutorial.git HEAD返回一串 commit hash 就成了 ✅,接着:
git submodule update --init Tutorial配了 --global 之后,VPN 关掉时 git 会连不上。不用了就清掉:
git config --global --unset http.proxy
git config --global --unset https.proxy我本人习惯vscode,无他免费开源,生态好,用vscode打开
docs/ 是 MkDocs + Material 文档站。mkdocs.yml 不在仓库里,是用 docs/gen_mkdocs_yaml.py 根据环境变量 LAZYLLM_LANGUAGE(CHINESE / ENGLISH)拼出来的:中文就指向 docs/zh + nav_zh.yml,英文就 docs/en + nav_en.yml,生成到项目根目录 mkdocs.yml。
set "PYTHONUTF8=1"配置准备文档环境
建虚拟环境(推荐,避免污染全局)
python -m venv .venv提示
Python 版本以 pyproject.toml 里的 requires-python 为准,先确认下版本对得上。
.venv\Scripts\activate然后
where pip输出里带 .venv\Scripts\pip.exe 就对了。
echo .venv/ >> .git\info\exclude.git\info\exclude 是 git 自带的「只对自己本地生效」的忽略清单,它本身不被 git 跟踪 —— 既不产生 diff,也不会混进以后可能的 PR,仓库文件一个字没改。
之后退出
deactivate装依赖(两条都要)
pip install -r requirements.txtpip install -r docs/requirements.txt第一条是让 lazyllm 包本身能被 import(mkdocstrings 要靠它抓 API 文档);第二条是文档工具链(mkdocs / material / mkdocstrings 等)。
复制静态资源到语言目录
xcopy /E /I /Y docs\assets docs\zh\assetsxcopy /E /I /Y docs\assets docs\en\assets因为 docs_dir 是 docs/zh,图片/js/css 必须在这目录下才引用得到。
| 参数 | 含义 |
|---|---|
| /E | 连子目录一起复制(含空目录,assets/env/ 这种才会一起过去) |
| /I | 目标 docs\zh\assets 不存在时,自动当它是目录来创建 |
| /Y | 已存在同名文件时直接覆盖,不弹确认框 |
注入 API docstring(会改源码,慎看备注)
set LAZYLLM_INIT_DOC=True告诉 lazyllm:"我现在是要生成文档,不是要跑程序" —— 于是它把 API 文档全部挂上,并且对缺失的可选依赖睁一只眼闭一只眼,好让文档工具能顺利把整个包 import 进去。
提示
set 只对当前这个 cmd 窗口有效,关掉窗口就没了。以后重新执行文档生成时,要重新 set 一次。
python docs/add_docstrings.py资源链接 + 教程转换
python docs/link_assets.pypython docs/ipynb2md.py生成 mkdocs.yml(中文)
set "LAZYLLM_LANGUAGE=CHINESE"python docs/gen_mkdocs_yaml.pymkdocs serve -q -a 127.0.0.1:8000最后就可以看到

后续操作
LazyLLM 的 lazyllm/tools/rag/init.py 用 _EXPORTS + getattr 动态导出,griffe 是纯静态解析看不见这些名字。因此 API Reference/tools.md 里 8 处引用必须写成真实模块路径:
lazyllm.tools.Document → lazyllm.tools.rag.document.Document
lazyllm.tools.Reranker → lazyllm.tools.rag.rerank.Reranker
lazyllm.tools.Retriever → lazyllm.tools.rag.retriever.Retriever
lazyllm.tools.rag.LazyLLMStoreBase → lazyllm.tools.rag.store.LazyLLMStoreBase
lazyllm.tools.rag.QueryEnhACProcessor → lazyllm.tools.rag.query_enh_ac.QueryEnhACProcessor
lazyllm.tools.rag.IndexBase.update/remove/query → lazyllm.tools.rag.index_base.IndexBase.*
本笔记配套的 lazyLLM-Open 仓库已包含上述改动;若使用官方原仓库,需自行修改,否则 API 参考页构建失败。
我把改动后的代码重新放置到一个开源仓库,后续只需要
git clone git@gitcode.com:youhujun/lazyLLM-Open.git然后参考上面的操作就可以了
也可以
mkdocs build或者直接访问我构建好的
