Anything LLM
是一款基于 RAG
架构的本地知识库工具,能够将文档、网页等数据源与本地运行的大语言模型(LLM
)相结合,构建个性化的知识库问答系统。它支持多种主流模型的 API
接入方式,如 OpenAI、DeepSeek
等。
Anything LLM
,第一步就是模型,这里我们选择 Ollama
,工具会自动读取我们本地已经安装的模型:
Embedding
(嵌入模型)和 Vector Database
(向量数据库)。Vector Database
(向量数据库)-
Embedding(嵌入):通过一个专门的模型来把你上传的文本、表格数据等本地文件处理成机器能理解的 “数字代码”。相似的文本在这个向量空间中距离会更近。比如,“苹果”和“水果”这两个词的嵌入向量就会比较接近,而“苹果”和“汽车”就会离得很远。 -
Vector Database(向量数据库):用来存储上一步处理好的 “数字代码” 的数据库,它能够高效地存储和检索这些向量。当你有一个问题时,它会把问题转换成向量,然后在这个仓库里快速找到和问题最相关的向量。比如,你问“苹果是什么?”它会在这个仓库里找到和“苹果”相关的向量,比如“水果”“红色”“圆形”等。
由于之前选择过了,所以这里默认记住了之前的选项:



Embedding
和 Vector Database
:

向量数据库我们也选择默认的 LanceDB
,它也是完全运行在本地且免费的。
初始设置完成后,我们尝试运行一下:

知识库的质量直接决定了模型基于知识库回答的效果,AI 友好的知识库结构,首先应层次清晰,按主题、领域或功能分类,建立从概括到具体的合理层级,像图书馆分类摆放书籍;还要易于检索,有精准关键词索引、全文检索功能和智能联想,方便快速定位知识;并且通过知识图谱、交叉引用建立数据关联,形成知识网络。
为了方便测试,我们让 AI 帮我生成一个测试的知识库数据,使用 MarkDown 格式:


Anything LLM
支持上传多种类型的文件,包括常见的文本文件(如 TXT、Markdown
)、文档文件(如 PDF、Word、PPT、Excel
)、数据文件(如 CSV、JSON
) 等等:


但是,在客户端下使用还是太局限了,Anything LLM 还提供了 API 调用的能力,这样我们就可以通过代码来灵活定制我们的使用场景,可以做很多事情,比如:私人知识管理工具、企业内部智能客服等等。
Anything LLM
在本地启动的端口默认是 3001 。
-
Workspace:一个独立的环境,用于存储和管理与特定主题或项目相关的文件和数据。用户可以在工作区中上传文件、配置参数,并与模型进行交互。每个工作区的数据是独立的,互不干扰,方便用户对不同主题或项目进行分类管理。 -
Thread:工作区中的一次具体对话记录,代表用户与模型之间的一系列交互。它会记录用户的问题和模型的回答,保持对话的连贯性。用户可以在一个工作区中创建多个线程,分别处理不同的问题或任务,方便管理和追溯每次对话的内容。
我们可以在设置 – 工具 – API 密钥下创建 API 密钥,并且查看 Anything LLM 提供的 API 文档:

Anything LLM
提了非常详细的 API,基本上客户端内能做的事情都能使用 API 调用,包括各种设置、知识库上传、与大模型交互等等 ,点开每个 API 可以看到具体的参数详情,也可以直接测试调用:
Anything LLM
中与大模型的交互都发生在 Workspace
下的 Thread
中:
slug
和 threadSlug
,其实这两个参数就分别代表 Workspace
和 Thread
的唯一标识,在客户端我们是看不到这两个标识的,我们可以通过接口创建新的 Workspace
和 Thread
来获取,或者通过接口查询已有的 Workspace
和 Thread
的 slug
:
接下来大家就可以随意发挥了...