链载Ai

标题: ChatOllama构建AI聊天和知识库问答 [打印本页]

作者: 链载Ai    时间: 昨天 09:29
标题: ChatOllama构建AI聊天和知识库问答

什么是 ChatOllama ?

ChatOllama 是一个 Nuxt 3 + Ollama Web 应用程序。ChatOllama 允许您管理您的 Ollama 服务器,并与世界各地的 LLM 聊天。

从功能上来说,ChatOllama 类似于老苏之前介绍的 Open WebUAnythingLLM 的混合体,既可以和 AI 聊天,也可以用来构建自己专属的知识库

文章传送门:

由于 ChatOllama 仍在积极开发中,功能、界面和数据库架构可能会发生变化

安装

在群晖上以 Docker 方式安装。

在安装 ChatOllama 之前,需要先安装 Ollama

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version:'3.1'

services:
chromadb:
image:chromadb/chroma:latest
container_name:chatollama-db
restart:always
ports:
-"11431:8000"
volumes:
-./data:/chroma/.chroma/index

chatollama:
image:0001coder/chatollama:latest
container_name:chatollama-web
restart:always
pull_policy:always
ports:
-"11432:3000"
volumes:
-./db:/app/sqlite
environment:
-CHROMADB_URL=http://chromadb:8000
-DATABASE_URL=file:/app/sqlite/chatollama.sqlite

然后执行下面的命令

#新建文件夹chatollama和子目录
mkdir-p/volume1/docker/chatollama/{data,db}

#进入chatollama目录
cd/volume1/docker/chatollama

#将docker-compose.yml放入当前目录

#一键启动
docker-composeup-d

运行

数据库初始化

容器启动后,先不忙访问,还需要对 SQLite 数据库进行初始化处理

#如果您是第一次启动,需要初始化SQLite数据库
docker-composeexecchatollamanpxprismamigratedev

如果不执行初始化,后面在创建知识库时会遇到下面的报错

Invalid `prisma.knowledgeBase.count()` invocation: The table `main.KnowledgeBase` does not exist in the current database.

聊天

在浏览器中输入 http://群晖IP:11432 就能看到主界面

setting 设置 Ollama Server 地址

这个设置是本地的,也就是说如果你换了一台机器的话,还需要重新设置

进入 Models,原来下载的模型文件都还在,当然你也可以在这里下载新的模型文件

进入 Chat 界面就可以开始聊天了

这次选择的 gemma:2b 问了几个问题,速度还可以

两个模型做个简单的对比

知识库

使用知识库时,我们需要一个有效的嵌入模型,官方建议下载 nomic-embed-text模型

文件不大,下载比较快

进入 Knowledge Bases界面,还是以 华为投资控股有限公司2022年年度报告 为例

上传成功后,点 Name 进入知识库问答

随便问了几个问题,这次使用了 gemma:2b

除了第一个问题外,其他似乎也不准确,但是速度还行,而之前在 AnythingLLM 使用 gemma:2b 总是超时






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5