ollama + kag 完全本地化运行向量化和大模型

ollama + kag 完全本地化运行向量化和大模型

💡 关于ollama是一个可以本地运行的大模型软件,通过将大模型下载到本地的方式来运行大模型,也可以提供api访问,可切换和下载不同大模型,支持windows、macos、linux。kag是一个可本地部署的知识库应用,可对接到本地的大模型,可通过docker部署。通过二者的配合,实现完全本地化的知识库。本教程是在windows系统下,其他系统应该大同小异。

大纲

1、安装所需依赖

1.1、安装docker
1.2、安装ollama
1.3、安装kag

2、ollama + kag 整合

2.1 在ollama中安装向量模型
2.2 在ollama中安装文本大模型
2.3 配置kag

3、测试效果

4、使用ollama提供的api能力,以及在claude code中接入ollama写代码

4.1 用ollama提供的api能力
4.2 在claude code中接入ollama写代码

正文

1、安装所需依赖

1.1、安装docker

docekr官网下载:https://www.docker.com/

不同操作系统下载不同版本即可。

安装好之后打开是这样的(我已经安装了,且下载了一些镜像):

1.2、安装ollama

关于ollama,我之前的文章也有介绍,详见:使用ollama安装本地大模型,可安装其他大模型

打开ollama的官网进行下载: https://ollama.com/download

ollama下载到本地后先别急着安装,因为直接安装的话是默认安装到C盘的,模型下载也是下载到C盘,我们需要改为其他盘(如果C盘空间足够也可以忽略本步骤):

我们可以通过以下命令行更改安装目录,这里我指定让ollama安装到D盘的专门装软件的一个文件夹下:

复制代码
OllamaSetup.exe /DIR="D:\soft\ollama"

在OllamaSetup.exe 安装文件下打开cmd:开始安装到D盘指定的文件夹下:等待安装完成。

安装完成后,会自动打开ollama:

再设置models下载的位置:

1.3、安装kag

这是kag的github说明文档:https://github.com/OpenSPG/KAG/blob/master/README_cn.md 系统版本和软件要求:

打开一个cmd,分别执行下面两行命令:

复制代码
curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/docker-compose.yml -o docker-compose.ymldocker compose -f docker-compose.yml up -d

因为我之前安装过了,所以安装过程就不复现了,安装完成后的docker容器是这样的:

2、ollama + kag 整合

2.1 在ollama中安装文本大模型

ollama支持的模型如下: https://ollama.com/search![](https://i-blog.csdnimg.cn/direct/c7a211a7cc2b44ae9102c9f45481a657.jpg)

有两种方式:

1、直接在ollama软件内下载,直接点击下载即可

2、命令行的方式下载, 我这里下载一个小一点的模型,这个qwen3-vl:

复制代码
ollama run qwen3-vl:2b

等待下载完成。

安装完成后会自动开始对话:我们问一下他是谁,还有挺长的思考过程:

在ollama软件里对话:

输出速度还是可以的:

在api模式下使用:

ollama的本地端口是11434.

curl:

复制代码
curl --location 'http://localhost:11434/api/generate' \--header 'Content-Type: application/json' \--data '{  "model": "qwen3-vl:2b",  "prompt": "你的知识库截止时间",  "stream": false}'
2.2 在ollama中安装向量模型

我们进到ollama的向量模型列表:https://ollama.com/search?c=embedding

向量模型我选择下载这个下载量高的:

打开一个cmd命令行窗口,执行下面命令安装向量模型:

复制代码
ollama pull nomic-embed-text

向量模型下载完就不会自动进入对话了:

我们可以试试通过api方式调用向量模型返回什么:向量维度为768维,算是低维度了。

调用向量模型的curl:

复制代码
curl --location 'http://localhost:11434/api/embeddings' \--header 'Content-Type: application/json' \--data '{  "model": "nomic-embed-text",  "prompt": "你的知识库截止时间",  "stream": false}'
2.3 配置kag

使用docekr安装好kag后,我们打开:http://localhost:8887:默认账号密码分别为:openspg、openspg@kag

登录进来后我们配置一下模型:

先填好文本大模型,这个大模型是我们之前安装好的:base_url为:http://host.docker.internal:11434/ 点击确定。文本模型添加好后,我们继续添加向量模型:base_url为:http://host.docker.internal:11434/v1 这个向量模型也是我们之前安装好的。

确认文本和向量化的模型都加好了:

创建知识库

我们回到首页,点击新建知识库:知识库创建成功:

我们点击知识库进来,再点击创建任务:我就拿这本:《凡人修仙传》为例:上传成功后,点击下一步:再下一步:选择之前的文本大模型。

等待执行完成,就是解析文本并向量化的过程:

我们可以点击详情看看具体是如何分块额度:完成了:

创建应用

我们再创建一下应用:

点击确定。

选择一个知识库:确认。

3、测试效果

我们尝试下问个问题:

等级都返回了。

发布应用:

点击开始问答:

就是一个类似于chatgpt的聊天对话界面了,支持分组:

4、使用ollama提供的api能力,以及在claude code中接入ollama写代码

4.1 用ollama提供的api能力

这是还是用qwen2.5:7b这个模型做演示:

curl:

复制代码
curl --location 'http://localhost:11434/v1/chat/completions' \--header 'Content-Type: application/json' \--data '{  "stream": false,  "model": "qwen2.5:7b",        "messages": [            {                "role": "user",                "content": "你的知识库截止时间"            }        ]}'
4.2 在claude code中接入ollama写代码

需要用到qwen2.5:7b这个模型,因为有些模型不支持工具调用,需要先下载这个模型:

复制代码
ollama run qwen2.5:7b

打开cmd,输入命令:

复制代码
set ANTHROPIC_AUTH_TOKEN=ollamaset ANTHROPIC_BASE_URL=http://localhost:11434# 指定模型claude --model qwen2.5:7b

这下就可以在本地使用大模型了,不用花钱。

相关推荐
Funny_AI_LAB2 分钟前
重构 Coding Agent:当 LLM 没有 KV Cache 时,上下文工程该怎么做?
人工智能·经验分享·语言模型·重构
GISMagic6 分钟前
AI 时代的软件工程与架构能力提升路线
人工智能·架构·软件工程
中伟视界8 分钟前
化工检修作业新规明日施行,边缘AI如何守好现场?
人工智能
OpenCSG11 分钟前
OpenCSG Agentic-27B 正式开源:27B Dense 模型,Agent 执行能力实现全面跃升
人工智能·开源·opencsg
Elastic 中国社区官方博客18 分钟前
使用 Lucene 搜索你的 Bean —— Elasticsearch
大数据·开发语言·人工智能·elasticsearch·搜索引擎·全文检索·lucene
雪兽软件19 分钟前
AI爆改学术研究?
人工智能·学术研究
合调于形27 分钟前
Rengong zhzzneng 《人工智能》词条汉语拼音字母标调拼写实测案例
人工智能·自然语言处理·人机交互·语音识别·学习方法
cg501729 分钟前
大模型 SFT(监督微调)该怎么做?(实践版)
人工智能·深度学习·机器学习
Qt云程序员35 分钟前
选型参考:光刃RPA 与常见 RPA / 自动化方案的对比
人工智能·自动化·rpa
neocheng_52237 分钟前
品牌、内容和效果营销,受AI影响为什么完全不同?
人工智能