搭建个人AI知识库-DIFY
前提
本地目前没有显卡,只能用cpu刚。
如果不想自己搭建本地模型,完全可以掏钱使用现成的API即可。
需要了解一些docker知识
搭建本地模型
环境
os: archlinux
内存: 32g
cpu: 6核12线程
docker: 27.3.1
docker-compose: 2.32.4
ollama
pacman -S ollama
systemctl start ollama.service
# 通过下述url判断ollama是否安装成功
http://127.0.0.1:11434/
LLM模型 (qwen2:1.5b)
下载
ollama pull qwen2:1.5b
启动
ollama run qwen2:1.5b
测试
ollama run qwen2:1.5b
>>> who are you?
I am an AI language model, designed to answer questions and provide information on various topics. How can I assist you today?
>>> Send a message (/? for help)
Text Embedding模型 (m3e)
下载
ollama pull milkey/m3e
embedding模型不需要run, ollama服务启动可直接使用
测试
curl http://127.0.0.1:11434/api/embed -d '{
"model": "milkey/m3e",
"input": "balabalabala"
}' | jq .
查看模型运行情况
ollama ps
NAME ID SIZE PROCESSOR UNTIL
qwen2:1.5b f6daf2b25194 1.5 GB 100% CPU 4 minutes from now
milkey/m3e:latest 1477f12451b0 860 MB 100% CPU 4 minutes from now
构建知识库(ollama+DIFY)
下载启动dify
参考官方文档,so easy!
https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose
本地采用的是 #systemd方式* 部署。这里一定要注意,不同的部署方式网络配置有点区别,比如systemd的方式服务启动需要增加环境变量OLLAMA_HOST,而对于docker启动方式,可以参考官方文档(暂未测试)
添加模型
这里我们需要两个模型,一个LLM,一个Text Embedding
qwen2:1.5b模型添加
模型名称:qwen2:1.5b(必须完整填写)
基础 URL:http://:11434 (这里的ip要是你本地ip,不能用localhost,127这些。本地是http://10.10.15.159:11434)
模型类型:对话
模型上下文长度:4096 (模型的最大上下文长度,若不清楚可填写默认值 4096)
最大 token 上限:4096 (模型返回内容的最大 token 数量,若模型无特别说明,则可与模型上下文长度保持一致)
是否支持 Vision:是
保存即可使用

milkey/m3e:latest
模型名称:milkey/m3e:latest (同上)
基础 URL:http://:11434 (这里的ip要是你本地ip,不能用localhost,127这些。本地是http://10.10.15.159:11434)
模型上下文长度:4096
保存即可使用
访问测试
创建知识库
导入数据 --> 设置分段 -->设置索引及检索
对于word这种格式化的数据,分段模式最好使用 #父子模式* ; 索引方式使用高质量模式,使用上述m3e模型来生成索引数据。

创建聊天助手
知识库是没法直接去使用的,顶多能做个召回测试。这里我们创建一个聊天助手,可以关联知识库,这样能真正使用。
聊天助手创建很简单,可以选择顶部工作室 -> 创建空白应用

选择已经创建好的知识库

应用发布即可
直接通过dify使用
dify默认启动使用的是80端口,可以直接通过http://localhost 访问(首次使用需要注册用户密码)。 然后选择探索,选择我们刚刚创建的聊天助手就可以开始愉快的聊天了。


将dify嵌入到自己的应用中
可以通过api、iframe之类的方式将自己搭建的聊天助手嵌入到系统中(需要有开发能力,很简单)。
知识库工作流

问题处理
dify访问时提示11434拒绝
http://10.10.15.159:11434/ 请求失败
处理
检查服务启动正常,需要在service中增加环境变量 Environment="OLLAMA_HOST=0.0.0.0:11434"
sudo vim /usr/lib/systemd/system/ollama.service
systemctl daemon-reload
systemctl restart ollama.service
其它系统类似,就是让服务启动读取到该变量即可
Reached maximum retries (3) for URL http://localhost:8090/api/system/ext/examples/echo
分析处理
添加工具后,访问本地接口提示上述错误, 其实还是ip的问题,这里使用本地ip,如10.10.15.159。因为dify部署在容器中,localhost有特殊意义
搭建个人AI知识库-DIFY的更多相关文章
- 云上快速搭建Serverless AI实验室
Serverless Kubernetes和ACK虚拟节点都已基于ECI提供GPU容器实例功能,让用户在云上低成本快速搭建serverless AI实验室,用户无需维护服务器和GPU基础运行环境,极大 ...
- 实战!轻松搭建图像分类 AI 服务
人工智能技术(以下称 AI)是人类优秀的发现和创造之一,它代表着至少几十年的未来.在传统的编程中,工程师将自己的想法和业务变成代码,计算机会根据代码设定的逻辑运行.与之不同的是,AI 使计算机有了「属 ...
- 为你写诗:3 步搭建 Serverless AI 应用
作者 | 杜万(倚贤) 阿里巴巴技术专家 本文整理自 1 月 2 日社群分享,每月 2 场高质量分享,点击加入社群. 关注"阿里巴巴云原生"公众号,回复关键词 0102 即可下载本 ...
- 简悦+Logseq 搭建本地化个人知识库
最近在少数派上看到了 简悦 +Logseq 个人知识库搭建 | 从零开始完全指南 - 少数派, 一时间感觉打开了新世界,其实我很早就买了简悦 2.0,但由于一直没有很好的使用场景,外加配置实在过于复杂 ...
- 急速搭建 Serverless AI 应用:为你写诗
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- ChatGPT搭建AI网站实战
1.概述 ChatGPT是一款基于GPT-3.5架构的大型语言模型,它能够进行自然语言处理和生成对话等任务.作为一款智能化的聊天机器人,ChatGPT有着广泛的应用场景,如在线客服.智能助手.个性化推 ...
- 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
AI早期成就,相对朴素形式化环境,不要求世界知识.如IBM深蓝(Deep Blue)国际象棋系统,1997,击败世界冠军Garry Kasparov(Hsu,2002).国际象棋,简单领域,64个位置 ...
- Visual Studio AI 离线模型训练(window 7)
本篇博客用tensorflow训练自带的数据mnist,参考自博客. 背景: 搭建好AI环境:查看 window 7 64位 准备工作: 在搭建AI环境过程中下载的samples-for-ai不是最新 ...
- 基于 CentOS 搭建 WordPress 个人博客
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 腾讯云提供了开发者实验室帮助用户搭建 WordPress 个人博客,教程内容如下,用户可以点击开发者实验室快速上机完成实验. 准备 LNMP ...
- 释放至强平台 AI 加速潜能 汇医慧影打造全周期 AI 医学影像解决方案
基于英特尔架构实现软硬协同加速,显著提升新冠肺炎.乳腺癌等疾病的检测和筛查效率,并帮助医疗科研平台预防"维度灾难"问题 <PAGE 1 LEFT COLUMN: CUSTOM ...
随机推荐
- WiFi基础(八):WiFi安全、认证与加密
liwen01 2024.11.17 前言 计算机网络在给人们带来便利的同时,也引入了安全风险,对于无线WiFi网络而言,风险更高.无线 WiFi 网络安全主要包括两大部分:接入认证和数据加密. 虽然 ...
- mysql5.7之密码重置
一.windows下更改mysql数据库密码在windows下找到my.ini文件,例如:C:\ProgramData\MySQL\MySQL Server 5.7,打开该文件夹下的my.ini文件, ...
- pikachu平台暴力破解详解
声明:文章只是起演示作用,所有涉及的网站和内容,仅供大家学习交流,如有任何违法行为,均和本人无关,切勿触碰法律底线. 文章来自个人csdn博客,感兴趣的可以关注一下,https://blog.csdn ...
- 用谷歌经典ML方法方法来设计生成式人工智能语言模型
上一篇:<人工智能模型学习到的知识是怎样的一种存在?> 序言:在接下来的几篇中,我们将学习如何利用 TensorFlow 来生成文本.需要注意的是,我们这里并不使用当前最热门的 Trans ...
- CMYK与RGB参数转换公式及转换方法
1. RGB色彩模式 自然界中绝大部分的可见光谱可以用红.绿和蓝三色光按不同比例和强度的混合来表示.RGB分别代表着3种颜色:R代表红色,G代表绿色.B代表蓝色.RGB模型也称为加色模型,如图5所示. ...
- cajviewer逆向分析与漏洞挖掘
文章首发于 https://mp.weixin.qq.com/s/7STPL-2nCUKC3LHozN6-zg 前言 CAJViewer是一个论文查看工具,主要用于查看caj文件格式的论文.本文介绍对 ...
- 用Python让两组数据纵向排序
一.引言 在数据处理和分析中,排序是一项非常基础且重要的操作.排序可以帮助我们更好地理解数据,发现数据中的模式和规律.在Python中,我们可以使用多种方法对数据进行排序.本文将详细介绍如何使用Pyt ...
- oracle用命令执行sql脚本文件
当sql命令过多(sql文件过大)时,用plsql执行时比较慢而且容易超时,此时可以用sqlplus命令直接执行sql脚本文件,方法如下: 1.sqlplus登录 >sqlplus userna ...
- 在openEuler RISC-V上无痛部署Solidity
近几年区块链很火,随着各国政府对加密技术的监管政策不断变化和BTC的暴涨,越来越多人对这项去中心化的技术充满着期待.这次我用openEuler 24.09 RISC-V的远程机器尝试编译了Solidi ...
- Qt音视频开发11-通用监控布局控件(开源)
一.前言 自从做监控系统以来,就一直有打算将这个功能独立出来一个类,这样的话很多系统用到此类布局切换,通用这个类就行,而且后期此布局会增加其他异形布局,甚至按照16:9之类的比例生成布局,之前此功能直 ...