AB
AiBoss
チュートリアル

AnythingLLM

チュートリアル

用 AnythingLLM 在本地跑开源模型并做文档问答

从安装 AnythingLLM 桌面端、选择并下载内置开源模型,到创建工作区、调整温度参数、上传文件做 RAG 问答,完整走通一条不依赖外部 API 的本地大模型使用路径。

AnythingLLM 是一个桌面端应用,把「选模型、建工作区、提问、挂文件」这几件事收在同一个界面里。它解决的核心问题是:不必自己搭推理服务、不必写调用代码,也能在本机跑起一个开源模型,并针对自己上传的文档提问。适合想快速验证本地模型效果、或者需要把内部资料喂给模型做检索问答、又不希望数据离开本机的人。这篇教程带你从零装好它,选一个内置模型,建一个工作区,最后用一个真实文件跑通一次文档问答。站内也有对应的工具条目可以对照查看:AnythingLLM。

准备工作

硬件与系统

AnythingLLM 官方给出的最低配置参考是:内存至少 2 GB、双核 CPU、5 GB 可用存储空间。这个数字是「能装能跑」的下限,不是「跑得舒服」的推荐值。模型本身要占磁盘,运行时还要占内存,参数越大的模型占用越高。如果你的机器余量很小,优先选参数量最小的模型,先跑通流程再考虑换大的。

桌面端提供各平台的安装包,按自己的操作系统下载对应版本,然后按安装向导走完即可。安装过程没有需要特别配置的选项。

模型来源的两种选择

装好之后第一件事是选模型。AnythingLLM 把可选来源分成两类:

  • 内置开源模型:应用自带一批开源模型可选,例如 Llama 3.2、Gemma 系列。这类模型不需要额外配置,也不需要 API Key,选中后由应用在后台下载权重,下载完就能直接用。
  • 第三方或自托管服务:通过 API Key 或自托管端点,把 AnythingLLM 接到 OpenAI、HuggingFace 等外部提供方,或者接到你自己部署的推理服务上。这条路需要你已经有对应的账号、密钥或可访问的端点地址。

这篇教程走第一条路,全程不涉及任何外部密钥。如果你打算走第二条路,需要提前准备好 API Key 或自托管服务的地址与鉴权方式,具体字段以应用内当前界面为准。

需要提前想清楚的两件事

  • 用哪个模型:本文示例选的是 Gemma 3 的 10 亿参数版本。参数量小意味着下载快、占用低,适合第一次跑通;代价是复杂推理能力有限。想要更强效果就换更大的模型,但要先确认机器扛得住。
  • 要不要分工作区:AnythingLLM 用「工作区」来隔离对话与配置。一个工作区里可以有多个对话线程,可以单独指定模型,也可以单独调参数。建议一开始就按用途划分,比如「代码理解」一个、「资料问答」一个,后面换模型、调温度都不会互相干扰。

操作步骤

第一步:安装并首次启动

从官网下载对应平台的桌面安装包,安装完成后启动应用。首次启动会进入模型选择环节。这一步不需要命令行操作,全部在图形界面里完成。

第二步:选择内置模型并等待下载

在模型来源里选择 AnythingLLM 自带的那一组开源模型,然后从列表中挑一个具体模型。本文示例选 Gemma 3 的 10 亿参数版本。

确认之后,模型权重会在后台开始下载。下载期间界面不会锁死,你可以同时去做下一步——创建工作区、翻看设置项。下载耗时取决于模型体积和网络状况,参数量越大等得越久。下载完成前发起的提问不会得到正常回答,所以先别急着测试。

第三步:创建工作区

工作区是 AnythingLLM 里的基本组织单位。每个工作区可以:

  • 建立多条独立的对话线程;
  • 指定使用哪个模型;
  • 单独配置该工作区的参数,例如温度。

新建工作区时给它起一个能看出用途的名字。工作区之间互不影响,所以完全可以建一个专门用 Llama 3.2、温度设成 0.1 的工作区,用来做需要稳定输出的任务;再建另一个温度更高的工作区,用来做发散性的写作或头脑风暴。这种按用途拆分工作区的做法是被鼓励的,而不是把所有需求塞进一个工作区里。

第四步:调整模型参数

温度(temperature)是这里最值得先动的参数。它控制输出的随机程度:数值低,回答更收敛、更贴近确定性的结果;数值高,表达更发散。做代码解释、事实问答这类任务时,把温度调低通常更合适;做创意类任务时可以调高。

参数是按工作区生效的,所以同一个模型可以在不同工作区里表现出不同的风格。改完参数不需要重启应用,下一次提问就会按新设置走。

第五步:直接提问

模型下载完成后,在工作区的输入框里输入问题即可。这一步验证的是模型本身能不能正常推理,先不涉及文件。如果回答明显不完整或者中途卡住,先检查模型是否真的下载完毕,再检查机器内存是否吃紧。

第六步:上传文件,启用基于文档的问答

工作区支持挂载文件,挂上之后就可以针对文件内容提问,也就是常说的 RAG(检索增强生成)。流程是:把文件附加到工作区 → 在提问时引用该文件 → 模型基于文件内容作答。

这一步是 AnythingLLM 相对「单纯聊天」最有价值的地方:模型不需要事先知道你的文件内容,它会在回答时去检索你挂上去的材料。适合代码文件、说明文档、笔记这类需要「就着材料回答」的场景。

一个完整示例

下面用一个最小的 Python 文件,把「上传 → 提问 → 得到解释」这条链路走一遍。

准备文件

新建一个 Python 文件,内容如下:

def hello_world():
    return "Hello world"

if __name__ == "__main__":
    hello_world()

这段代码定义了一个返回字符串的函数,并在作为主程序运行时调用它。它足够短,便于人工核对模型回答是否准确。

挂载并提问

  1. 打开前面建好的工作区。
  2. 把这个 Python 文件附加到工作区。
  3. 在对话里提问,例如「这个文件里的代码做了什么?」
  4. 确认提问时引用了该文件,让模型基于文件内容作答,而不是凭记忆回答。

核对结果

预期结果是模型能读懂这段代码,并正确说明它的行为:定义了一个名为 hello_world 的函数,函数返回字符串 "Hello world",并且在文件被直接运行时调用该函数。

如果回答偏离,按这个顺序排查:文件是否真的挂到了当前工作区;提问时是否引用了该文件;当前工作区绑定的模型是否就是已经下载完成的那个;温度是否被调得过高导致表述发散。这个例子的价值在于它足够简单——回答对不对,你一眼就能判断,不用怀疑是自己的问题问得不好。

把这个流程扩展到真实材料

跑通上面的例子之后,可以按同样的方式处理更实际的材料:把一份接口说明文档挂上去,问「这个接口需要哪些参数」;把一段业务代码挂上去,问「这个函数在什么情况下会抛异常」。要点是一样的——文件挂到工作区、提问时引用文件、回答基于文件内容。文件越多、越长,检索环节的作用越明显,回答也越依赖你挂上去的材料质量。

注意事项

配置门槛是下限,不是推荐值

2 GB 内存、双核 CPU、5 GB 存储是官方给出的最低要求。实际使用中,模型权重本身要占存储,加载和推理要占内存,同时开着其他应用时余量会更紧张。机器配置接近下限时,优先选参数量最小的模型。

下载是后台进行的,但提问要等它完成

模型在后台下载期间,界面仍然可用,可以创建工作区、调整设置。但在下载完成之前提问不会得到有效回答。不要把这个当成模型能力问题。

参数按工作区隔离

模型选择和温度设置都是工作区级别的。换工作区就等于换了一套配置。这既是优点(不同任务互不干扰),也容易踩坑——在一个工作区里调好的参数,到另一个工作区不会自动带过去。

内置模型与外部服务的取舍

内置开源模型不需要密钥、不需要额外配置,但能力受参数量限制。接外部提供方(OpenAI、HuggingFace 等)或自托管端点能拿到更强的模型,代价是要自己管理 API Key、端点和可能的调用费用。两条路可以在不同工作区里并存,按任务分配即可。

易变信息以官网为准

可选的模型清单、内置模型的版本、硬件要求、各平台安装包形态,以及第三方服务的价格与配额,都会随时间变化。本文涉及的这些内容仅反映写作时的情况,实际使用前请以官网当前信息为准。

文件问答依赖你挂上去的材料

RAG 的效果取决于检索到的内容。文件没挂上、提问时没引用文件、或者文件内容本身表述含糊,都会让回答质量下降。遇到答非所问,先检查材料这一侧,再怀疑模型。