【完全私有的AI知识库,ChatGLM3无GPU也能跑】Docker一键部署,oneapi快速嵌入AI应用

前言

在前面的文章中,介绍了关于私有AI知识库和部分应用,让AI能根据企业私有的知识库去回答问题,成为真正意义的数字分身。但有一个问题一直没有解决,就是底层模型依然是基于的ChatGPT、文心等公共大模型,虽然openai等企业声明数据隐私安全,但显然大多数企业无法接受依赖外部去保障数据安全,所以私有化部署大模型是必需要做的一步。

💡本文将介绍如何在本地windows环境快速部署清华开源大模型ChatGLM3,并详细介绍如何通过one-api,将glm3接入知识库应用FastGPT,实现企业知识库私有化部署的闭环。

本文大纲:

  • 效果演示

  • 开源大模型评测榜单


  • ChatGLM3、chatglm.cpp、One-API简介

  • 基于Docker快速部署ChatGLM3

  • 基于Docker快速部署One-API

  • 如何借助One-API将ChatGLM3接入FastGPT等AI应用

效果演示

开源大模型评测

除了本文写的ChatGlm系列开源模型,目前市场主流的还有Qwen、Baichuan、Llama等,其中阿里的Qwen-72B-Chat 凭借720亿参数训练量目前名列开源大模型第一。当然,考虑因为使用个人笔记本进行推理,选择了10B以下的模型,chatglm3-6b在10B以下模型能力靠前。

完整榜单查看:https://github.com/jeinlee1991/chinese-llm-benchmark

ChatGLM3-6B

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了更多强大特性。

官方地址:https://github.com/THUDM/ChatGLM3

chatglm.cpp

是对 ChatGLM3 进行推理加速的开源项目,使其能在windows上基于cpu推理

官方地址:https://github.com/li-plus/chatglm.cpp

One-API

通过标准的 OpenAI API 格式聚合所有的大模型,开箱即用 。

官方地址:https://github.com/songquanpeng/one-api

部署步骤

环境说明

window:win10/11,不低于 8C16GDocker:https://www.cnblogs.com/Can-daydayup/p/15468591.html

基于Docker部署ChatGLM3

获取ChatGLM3镜像并运行容器(此处可以参考https://github.com/li-plus/chatglm.cpp 说明自行打包镜像或获取镜像,如需阿里云仓库打包好的镜像,可以后台回复glm3自动获取):

# 在本地构建 docker 镜像并启动容器以在 CPU 上运行推理:# openai api serverdocker run -it --rm -v $PWD:/opt -p 8000:8000 -e MODEL=/opt/chatglm-ggml.bin chatglm.cpp \    uvicorn chatglm_cpp.openai_api:app --host 0.0.0.0 --port 8000
# To pull from Docker Hub and run demo:docker run -it --rm -v $PWD:/opt liplusx/chatglm.cpp:main \    ./build/bin/main -m /opt/chatglm-ggml.bin -p "你好"
# 启动阿里云仓库打包好的镜像
docker run --name chatglm3 -p 8000:8000 registry.cn-hangzhou.aliyuncs.com/xx/chatglm.cpp:x

基于Docker一键部署One_API

一行代码部署one-api

docker run --name oneapi -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

访问ip:3000 登录系统,初次登录用户名/密码:root/123456

借助One-API将ChatGLM3接入FastGPT

1. 在one-api中添加chatglm3渠道

  • 类型:OpenAI。

  • 名称:chatglm3

  • 模型名称可以自定义:ChatGLM3

  • 密钥随便填

  • 代理地址填入 ChatGLM3-6B 的 API 地址,此处我填的本地地址(注意:本地调试不能填127.0.0.1,需要填写ipv4地址,可以通过ipconfig查看

点击渠道测试,看到如下报错,说明部署配置成功了

2. 在one-api中新建令牌,作为调用凭证

点击复制获取调用凭证:sk-*****

3. 修改fastgpt配置,增加chatglm3模型

修改.env(本地代码启动修改:.env.local)

修改内容如下:

# oneapi 地址ONEAPI_URL=http://localhost:3000/v1/# oneapi 令牌keyCHAT_API_KEY=sk-aOrj73NZxGNLnVXDE0928d7cC35c4f39922bD0FeCd792c5b

修改config.json(本地代码启动修改:config.local.json)

主要增加内容如下

{  "SystemParams": {    "pluginBaseUrl": "",    "openapiPrefix": "openapi",    "vectorMaxProcess": 15,    "qaMaxProcess": 15,    "pgIvfflatProbe": 10  },  "ChatModels": [    {      "model": "ChatGLM3",      "name": "ChatGLM3",      "price": 0,      "maxToken": 4000,      "quoteMaxToken": 2000,      "maxTemperature": 1.2,      "censor": false,      "defaultSystemChatPrompt": ""    }  ]  "VectorModels": [    {      "model": "m3e",      "name": "M3E(测试使用)",      "price": 0.1,      "defaultToken": 500,      "maxToken": 1800    }  ]}

测试

实测推理过程cpu使用率80%左右,每秒输出2-3个字

写在后面

数据安全永远是企业应用的第一要义,对于AI应用来说也是如此。曾经已亿计的大模型训练成本对于普通企业而言遥不可及,但得益于开源,在当下开源大模型越来越丰富且强大的背景下,任何组织或个人都能低成本的部署强大的私有大模型,而这将真正促成AI应用的快速发展。
在大模型时代,我们如何有效的去学习大模型?

现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。

👉[优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

三、AI大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四、AI大模型各大场景实战案例

在这里插入图片描述

结语

【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

<think>好的,用户之前问过关于“硅基+MAK搭建智能体”,现在又提到了“通过硅基流动提供的deepseek api 搭建智能体 有自己的知识库”。我需要先理解用户提到的“硅基流动”和“DeepSeek API”是什么。 首先,“硅基流动”可能是指一家公司或平台,可能提供API服务。而“DeepSeek”听起来像是一个搜索或知识库相关的服务,可能类似于深度搜索或知识图谱。用户现在想利用这两个工具来搭建一个具有自定义知识库的智能体。 接下来,我需要确认这两个服务的具体情况。由于公开信息中可能没有详细资料,可能需要做一些合理的推测。假设“硅基流动”是一个提供计算资源或API服务的平台,而“DeepSeek API”是用于知识检索或处理的接口。用户的目标是结合这些API,构建一个能够利用自有知识库的智能体,比如客服机器人、知识问答系统等。 用户的需求可能分为几个部分:使用硅基流动的API处理计算任务,通过DeepSeek API进行知识查询,然后整合自己的知识库。需要确保智能体能有效调用这些API,并处理用户查询,结合自有数据生成回答。 可能的问题点在于如何将多个API整合,以及如何管理知识库。需要建议用户先了解API的文档,设计数据流,处理可能的异步调用或数据格式转换。另外,知识库的构建可能需要使用向量数据库优化检索效率,比如使用FAISS或Milvus。 用户可能还关心如何保证系统的实时性和准确性,是否需要缓存机制或负载均衡。同时,安全性和权限管理也是需要考虑的,确保API调用和知识库访问的安全。 最后,可能需要给出一个具体的步骤示例,帮助用户理解整个搭建流程,并推荐一些工具或框架,比如LangChain,来简化开发过程。还要提醒用户进行测试和迭代优化,确保智能体的性能。</think>通过 **硅基流动(可能是某平台或服务名称)提供的 DeepSeek API** 搭建智能体并集成自有知识库,是一个结合 **API调用、知识库管理、智能决策** 的典型应用场景。以下是实现这一目标的详细思路和步骤: --- ### **1. 核心概念解析** - **硅基流动**:可能是提供 AI 算力或 API 服务的平台(类似阿里云、AWS 的 API 市场)。 - **DeepSeek API**:推测为某种 **深度搜索或知识增强型 API**,可能提供语义理解、知识检索、问答生成等功能。 - **自有知识库**:用户私有的结构化/非结构化数据(如文档、数据库、FAQ 列表等),需与智能体结合以实现定制化回答。 --- ### **2. 实现目标** 搭建一个 **能够调用 DeepSeek API 处理用户输入,同时结合自有知识库数据生成精准回答的智能体**,典型应用如: - 企业知识库客服机器人 - 行业专家咨询系统 - 个性化知识助手 --- ### **3. 关键步骤与方案** #### **(1)知识库构建** - **数据准备** - 格式:文本(TXT/PDF/Word)、表格(CSV/Excel)、数据库(SQL/NoSQL)。 - 处理:清洗数据(去重、分段)、提取关键词、构建实体关系图谱。 - **向量化存储** - 使用嵌入模型(如 OpenAI Embedding、BERT)将知识库内容转换为向量。 - 存入向量数据库(如 **Milvus、FAISS、Pinecone**)实现高速语义检索。 #### **(2)DeepSeek API 对接** - **功能假设**(需根据实际 API 文档调整) - 通用意图识别:解析用户问题类型(如咨询、操作指引)。 - 上下文理解:支持多轮对话管理。 - 知识增强:补充通用知识(如 DeepSeek 内置知识库)。 - **调用方式** - 通过 HTTP/REST 或 SDK 发送请求,获取结构化响应(JSON)。 - 示例代码框架: ```python import requests def call_deepseek_api(query): url = "https://api.siliconflow.com/deepseek/v1/chat" headers = {"Authorization": "Bearer YOUR_API_KEY"} payload = {"query": query, "context": "用户对话历史"} response = requests.post(url, headers=headers, json=payload) return response.json() ``` #### **(3)智能体逻辑设计** - **架构流程图** ```plaintext 用户输入 → DeepSeek API 意图识别 → 知识库检索 → 结果融合 → 生成回答 → 返回用户 ``` - **关键模块** - **意图路由** 根据 DeepSeek API 返回的意图标签(如 "查产品价格"、"问技术文档"),决定是否优先查询知识库。 - **知识库检索** 使用向量数据库的相似度搜索(如余弦相似度),召回与用户问题最相关的知识片段。 - **结果融合** 将 DeepSeek 的通用回答与知识库私有结果结合,避免冲突(例如优先展示知识库数据)。 #### **(4)集成与部署** - **工具链推荐** - 开发框架:**LangChain**(支持知识库与 API 集成)、**LlamaIndex**(优化检索增强生成)。 - 部署环境:云服务器(如硅基流动提供的 GPU 实例)或 Docker 容器化。 - **示例代码片段**(基于 LangChain): ```python from langchain.vectorstores import FAISS from langchain.embeddings import HuggingFaceEmbeddings # 加载知识库 embeddings = HuggingFaceEmbeddings(model_name="shibing624/text2vec-base-chinese") vector_db = FAISS.load_local("my_knowledge_db", embeddings) # 结合 DeepSeek API 的智能体 def generate_answer(query): # 调用 DeepSeek 分析意图 intent = call_deepseek_api(query)["intent"] # 若需知识库支持,优先检索 if intent == "technical_support": docs = vector_db.similarity_search(query, k=3) knowledge = "\n".join([doc.page_content for doc in docs]) return call_deepseek_api(f"基于以下知识回答问题:{knowledge}\n问题:{query}") else: return call_deepseek_api(query) ``` --- ### **4. 优化方向** 1. **性能提升** - 缓存高频查询结果,减少 API 调用延迟。 - 对知识库进行分块索引(如按业务部门划分),加速检索。 2. **效果增强** - 微调嵌入模型(Embedding Model)适配领域术语。 - 设计混合检索策略(关键词+语义)。 3. **安全与权限** - 对知识库设置访问权限(如 RBAC 模型)。 - 对 API 调用限流,防止滥用。 --- ### **5. 场景案例** - **企业内网助手** 员工询问内部流程时,智能体先查询私有知识库(如 Confluence 文档),若未覆盖再调用 DeepSeek 补充通用解答。 - **电商客服** 用户咨询订单状态时,直接查询数据库;问产品参数时,融合知识库中的商品详情页和 DeepSeek 的通用话术。 --- ### **6. 注意事项** - 需仔细阅读 **硅基流动的 API 文档**,确认计费方式、QPS 限制和输入输出格式。 - 知识库需定期更新,避免信息过时(可结合自动化爬虫或人工审核流程)。 如果需要进一步细化某一步骤(如知识库构建的具体工具),可以补充说明场景!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值