ollama + fastgpt 搭建免费本地知识库

avatar
作者
猴君
阅读量:1

目录

1、ollama

ollama的一些操作命令:

使用的方式:

2、fastgpt

快速部署:

修改配置:

config.json:

docker-compose.yml:

运行fastgpt:

访问OneApi:

添加令牌和渠道:

登陆fastgpt,创建知识库和应用

3、总结:

附录:

1. 11434是ollama的端口:

2. m3e 测试 404 说明:


1、ollama

定义: ollama 是一个本地的大模型运行框架

下载地址:Ollama

ollama的一些操作命令:

# 拉取大模型llama3  ollama pull llama3  # 运行大模型llama3,若ollama下没有模型,则先下载再运行。之后就可以在命令行问问题,或者使用其他方式使用大模型的能力     ollama run llama3   # 查看ollama下的大模型列表     ollama list        # 删除大模型llama3      ollama rm llama3    # 复制大模型     ollama cp llama3 my-model     # 查看大模型详细信息 ollama show llama3      # 更多操作,详见 https://github.com/ollama/ollama

使用的方式:

  • 命令行
    • 运行大模型之后,直接问问题
  • WebUI:
    • 例如:open-webui
    • 地址:https://github.com/open-webui/open-webui
    • docker启动命令:
      docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
    • 访问地址:
    • 其他方式

2、fastgpt

定义:FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!

docker快速部署参考:Docker Compose 快速部署 | FastGPT

快速部署:

mkdir fastgpt cd fastgpt curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json  # pgvector 版本(测试推荐,简单快捷) curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml # milvus 版本 # curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-milvus.yml # zilliz 版本 # curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-zilliz.yml

修改配置:

config.json:

config.json 修改 llmModels(大语言模型) 和 vectorModels (向量模型)的配置。

例如:大语言模型我使用了qwen2:latest,则有如下配置:

"llmModels": [     {       "model": "qwen2:latest", // 模型名(对应OneAPI中渠道的模型名)       "name": "qwen2:latest", // 模型别名       "avatar": "/imgs/model/openai.svg", // 模型的logo       "maxContext": 16000, // 最大上下文       "maxResponse": 4000, // 最大回复       "quoteMaxToken": 13000, // 最大引用内容       "maxTemperature": 1.2, // 最大温度       "charsPointsPrice": 0, // n积分/1k token(商业版)       "censor": false, // 是否开启敏感校验(商业版)       "vision": false, // 是否支持图片输入       "datasetProcess": true, // 是否设置为知识库处理模型(QA),务必保证至少有一个为true,否则知识库会报错       "usedInClassify": true, // 是否用于问题分类(务必保证至少有一个为true)       "usedInExtractFields": true, // 是否用于内容提取(务必保证至少有一个为true)       "usedInToolCall": true, // 是否用于工具调用(务必保证至少有一个为true)       "usedInQueryExtension": true, // 是否用于问题优化(务必保证至少有一个为true)       "toolChoice": true, // 是否支持工具选择(分类,内容提取,工具调用会用到。目前只有gpt支持)       "functionCall": false, // 是否支持函数调用(分类,内容提取,工具调用会用到。会优先使用 toolChoice,如果为false,则使用 functionCall,如果仍为 false,则使用提示词模式)       "customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型       "customExtractPrompt": "", // 自定义内容提取提示词       "defaultSystemChatPrompt": "", // 对话默认携带的系统提示词       "defaultConfig": {} // 请求API时,挟带一些默认配置(比如 GLM4 的 top_p)     } ]

向量模型我使用了m3e,则有如下配置:

"vectorModels": [     {       "model": "m3e",       "name": "m3e(测试专用)",       "price": 0,       "defaultToken": 500,       "maxToken": 1800     }   ]

在fastgpt中,大语言模型和向量模型都可以配置多个。

大语言模型的名称可以查询ollama下的模型列表(ollama list)找到:

上面的m3e向量模型在ollama中没有,所以我们需要下载和运行。命令如下:

# 使用CPU运行 docker run -d --name m3e -p 6008:6008 registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api # nvida-docker 使用GPU docker run -d --name m3e -p 6008:6008 --gpus all registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api

可以根据自己电脑是否有GPU运行的条件决定使用哪个启动命令。

docker-compose.yml:

docker-compose.yml 需要修改如下内容:(若其他镜像配置的端口有冲突&#x

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!