当前位置:   article > 正文

ChatOllama构建AI聊天和知识库问答

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 镜像 chromadb/chromaAI 原生开源嵌入数据库,用于存储矢量数据,latest 对应的版本可能是 0.4.24
  • 镜像 0001coder/chatollama:自带 SQLite 数据库,用于存储关系数据,latest 对应的版本可能是 1710926535

然后执行下面的命令

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

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

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

# 一键启动
docker-compose up -d
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

运行

数据库初始化

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

# 如果您是第一次启动,需要初始化 SQLite 数据库
docker-compose exec chatollama npx prisma migrate dev
  • 1
  • 2

在这里插入图片描述

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

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

在这里插入图片描述

聊天

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

在这里插入图片描述

  • ① 设置 Ollama 服务器地址
  • ② 模型管理
  • ③ 进入聊天界面

setting 设置 Ollama Server 地址

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

两个模型做个简单的对比

在这里插入图片描述

知识库

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

在这里插入图片描述

文件不大,下载比较快

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

参考文档

sugarforever/chat-ollama
地址:https://github.com/sugarforever/chat-ollama

chroma-core/chroma: the AI-native open-source embedding database
地址:https://github.com/chroma-core/chroma

Choma
地址:https://www.trychroma.com/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/306686
推荐阅读
相关标签