Mac M1探索AnythingLLM+Ollama+知识库问答
AnythingLLM内置 RAG、AI Agent、可视化/无代码的 Agent 编排,支持多家模型与本地/云端向量库,并提供多用户与可嵌入的聊天组件,用来快速验证“知识 + 模型 + 工具”拼成的 AI 应用。
1 AnythingLLM、Ollama准备
1)AnythingLLM
打开如下所示下载链接,选择下载apple m1版本的AnythingLLM。
https://anythingllm.com/desktop
2)Ollama
假设本机已下载安装ollama,并且下载qwen3:4b模型,具体过程参考
在mac m1基于ollama运行deepseek r1_mac m1 ollama-CSDN博客
在AnythingLLM中将LLM关联到ollama:qwen3:4b,因为mac算力有限。
如下图所示,AnythingLLM中Scrape websites agent默认谷歌,没找到搜索引擎配置界面。
Websearch agent,可选择bing、google等,但需要api key等信息。
2 知识库问答探索
在问答前,将文档提交给AnythingLLM,构建知识库。
1)构建知识库
这里以小说"长安的荔枝 - 马伯庸.pdf"为例,pdf文件来自网络。
具体流程如下。
创建workspace,上传文件"长安的荔枝 - 马伯庸.pdf";
- 将文件移动到右侧工作区;
- 选择工作区文件并点击“保存并嵌入”,完成文档分块、向量化;
- 点击pinned将向量化后的文档关联到workspace。
- 处理完成后,示例如下。
2)测试知识库问答
构建完知识库,就可以直接提问,LLM会自主关联知识库中的内容。
比如输入"请评价杨国忠大人"
好的,用户让我评价杨国忠大人。首先,我需要回忆一下提供的上下文内容。上下文里提到李善德是武则时代的人物,被拽到天宝末年串场,还有关于荔枝采摘的风俗。但杨国忠可能和这些内容有关联吗?
在历史中,杨国忠是唐朝安史之乱的重要人物,担任过宰相,后来被安禄山叛乱所害。但用户提供的上下文中并没有直接提到杨国忠。可能需要结合上下文中的元素来推断。
上下文里提到李善德是司农寺上林署令,可能负责皇家园林或物资管理。而杨国忠在历史上可能与这样的职位有关联,或者在故事中被提及。但根据提供的文本,没有直接信息,所以可能需要根据历史知识来回答。
用户可能希望了解杨国忠在故事中的角色,或者结合上下文中的元素进行评价。但根据现有信息,可能需要指出上下文中没有直接提到杨国忠,因此需要依赖历史知识。
需要确认用户是否在询问历史中的杨国忠,还是故事中的角色。如果是在故事中,可能需要根据上下文中的线索,比如李善德和杨国忠是否有关联,或者是否有其他暗示。但根据提供的文本,没有直接关联,所以可能需要说明这一点,并基于历史知识进行评价。
可能用户的问题需要结合上下文中的某些元素,比如李善德和杨国忠可能都是官僚人物,但具体评价需要历史知识。因此,回答应指出上下文中未提及杨国忠,但根据历史,杨国忠是唐朝权臣,与安史之乱相关,评价可能涉及他的政治手腕、权谋和最终的失败。
需要确保回答准确,同时指出上下文中的信息不足,可能需要用户澄清。但根据指示,必须基于给定的上下文,所以可能需要指出上下文中没有相关信息,无法评价,但结合历史知识进行回答。
---
根据提供的上下文内容,并未直接提及杨国忠的相关信息。因此,无法基于上下文内容对杨国忠进行评价。若结合历史常识,杨国忠是唐朝安史之乱期间的重要权臣,曾任宰相,因与安禄山关系密切,最终在叛乱中被杀。他的政治生涯体现了唐代后期权臣的复杂性,但需注意这与上下文中提到的“李善德”等人物并无直接关联。
---
隐藏引文
长安的荔枝 - 马伯庸.pdf
qwen3:4b+RAG没有有效回答问题,但deepseek官方网页上传PDF是可以有效回答这个问题的。
原因可能与文档分块、qwen3:4b归纳能力有关系。
reference
---
anything-llm
https://github.com/Mintplex-Labs/anything-llm
openslr
https://openslr.magicdatatech.com/
面向LLM的MCP开源方案调研
https://blog.csdn.net/liliang199/article/details/150021419
Deepseek
https://chat.deepseek.com/
《长安的荔枝》电子书
https://zhuanlan.zhihu.com/p/1904234264700121781