问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ollama+MaxKB:构建本地AI知识库的实践指南

创作时间:
作者:
@小白创作中心

ollama+MaxKB:构建本地AI知识库的实践指南

引用
51CTO
1.
https://blog.51cto.com/u_16163452/12799469

本文将介绍如何使用ollama和MaxKB构建本地AI知识库,包括具体的操作步骤、遇到的问题及解决方案,以及对不同模型的测试结果和建议。

前言

ollama的本地api base url为:

http://localhost:11434

maxKB运行

使用docker运行maxKB的命令如下:

docker run -d --name=maxkb -p 2000:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb

初始登录信息为:

  • 用户名:admin
  • 密码:MaxKB@123

登录后需要修改默认密码。

添加ollama模型到maxKB

在maxKB中添加ollama模型时,需要在终端运行以下命令:

ollama serve

但是可能会遇到端口已被占用的问题:

Error: listen tcp 127.0.0.1:11434: bind: address already in use

此时需要查找并终止占用该端口的进程:

linyu@LinyudeMBP ~ % lsof -i:11434
COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ollama  15577 linyu    3u  IPv4 0xc60ad1ae44036ad5      0t0  TCP localhost:11434 (LISTEN)
ollama  15578 linyu    6u  IPv4 0xc60ad1ae43a7df55      0t0  TCP localhost:63205->localhost:11434 (ESTABLISHED)

linyu@LinyudeMBP ~ % kill -9  15577
linyu@LinyudeMBP ~ % 
[2]  - killed     ollama serve

linyu@LinyudeMBP ~ % kill -9  15578
linyu@LinyudeMBP ~ % 
[3]  + killed     ollama run mixtral:8x7b  

配置建议

在配置ollama时,需要将本地域名改为:

http://host.docker.internal:11434

同时,ollama模型名称需要与终端运行的名称保持一致。

支持的文件格式

maxKB支持以下文件格式:

  • TXT
  • Markdown
  • PDF
  • DOCX

每次最多上传50个文件,每个文件不超过100MB,即一次性可以上传5GB大小的文档。

模型测试与建议

使用mixtral:8x7b进行问答测试时,结果并不理想,无法准确回答知识库的内容,也不按提示词回答。

相比之下,使用ollama 4位量化过的llama3:70b效果更好,虽然生成速度稍慢(2-3s),但准确性更高。需要注意的是,llama3:70b在没有明确指示的情况下,默认回复语言为英语,对英语的处理理解能力也更好。

知识库构建建议

建议将问题和答案整理成问答对的形式,这样在任何平台上都比直接塞入原始文档让模型自己理解分段的效果要好。

对于llama模型,建议知识库中的内容都是英文的,包括英文问题和答案。如果需要中文支持,可以在ollama中部署qwen72B模型,并使用CSV问答对来提高回答的质量和准确性。

工具对比

相比MaxKB,FastGPT在功能上更为强大,支持更高级的编排和自定义AI工作流,可以直接上传CSV问答对或Excel文件,知识库创建也更为方便。因此,对于个人知识库的创建,建议使用FastGPT。


© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号