Mac Dify + Ollama 本地个人知识库的搭建

一、Dify是什么

Dify 是一个易于使用的 LLM (大型语言模型) 应用开发平台。它旨在帮助开发者更轻松地构建基于 LLM 的应用,而无需深入研究底层技术细节。

运行多种LLM
提供知识库功能
提供对外访问接口
可本地部署,安全

二、如何安装

1、环境准备

  • Docker
  • Docker Compose
  • Git
  • 安装ollama,下载嵌入模型nomic-embed-text:latest
  • deepseek-r1的apikey

2、安装Dify

第一步、下载Dify项目

项目地址:https://github.com/langgenius/dify

git clone git@github.com:langgenius/dify.git
第二步、启动
# 进入项目目录
cd dify
# 进入docker配置目录
cd docker
# 配置环境变量 
cp .env.example .en
# 启动项目
docker-compose up -d

# 以下命令有可以用到
docker ps  #查看dify项目是否启动


使用web端进行登录:[http://localhost/install]

3、登录

登录前需要注册用户(用户名、密码)保存在本地
页面显示如下:

登录后如下:

三、使用过程

1、配置模型

最终效果:

LLM模型

嵌入模型

2、创建知识库

第一步、上传文件

第二步、文件处理

第三步、执行完成

第四步、查看上传文档


文件详情如下:

3、创建聊天机器人

最终效果如下:

第一步、输入bot名称,创建chatbot

第二步、生成提示词


点击Apply,进入下一步,进行对话

第三步、发布

点击Publish按钮

第四步、四种使用方式
  • App运行

  • 嵌入到网页中

    • 通过iframe嵌入
    • 嵌入到html中
    • 通过浏览器插件
  • 使用浏览器打开

  • 使用api调用
    见下章

4、外部调用

创建apikey

调用
 curl -X POST 'http://localhost/v1/chat-messages' \
 --header 'Authorization: Bearer app-gFidkuxUhpCx3MXghcxr9qZJ' \
 --header 'Content-Type: application/json' \
 --data-raw '{
     "inputs": {},
         "query": "介绍一下电影阿甘正传,以电影名/导演/上映时间的json格式输出",
         "response_mode": "streaming",
         "conversation_id": "",
         "user": "abc-123",
             "files": []
     }'

结果如下:

四、问题列表

问题1、密码登录不了,需要重置密码
# 重置密码
docker exec -it docker-api-1 flask reset-password

如有需要:删除删除redis的登录错误信息
常用命令如下
redis-cli
keys *
ttl key

问题2、端口被占用,例:5432以及6379

lsof -i:5432
kill -9 XXX

问题3、 无法加载ollama的地址

原因:dify在docker里面运行,而ollama在宿主机里面运行
解决方案:使用http://host.docker.internal:11434

### 本地部署 DifyOllama 教程 #### 环境准备 为了成功部署 DifyOllama,在开始之前需确保拥有一个运行 Linux 的服务器或虚拟机。建议选用 Ubuntu 20.04 LTS 或更新版本作为操作系统,因为这些版本提供了更好的稳定性和兼容性[^1]。 #### 安装 Docker 由于 Dify 支持通过 Docker 进行快速安装,因此需要先在目标机器上配置好 Docker 环境。可以按照官方文档中的指导完成 Docker 的安装过程。一旦 Docker 准备就绪,就可以利用它来简化后续的应用程序设置流程[^3]。 #### 创建并编辑 Systemd Service 文件 如果遇到任何启动失败或其他异常情况,可能需要手动调整服务文件以适应特定系统的差异。可以通过命令 `sudo vi /etc/systemd/system/ollama.service` 来创建或者修改名为 ollama 的 systemd service 文件,从而更好地控制应用程序的行为和服务状态管理[^2]。 #### 使用 Cpolar 实现远程访问 为了让外部网络能够连接到内部部署的服务实例,还需要借助像 cpolar 这样的内网穿透工具。这一步骤对于希望测试或展示项目成果的人来说尤为重要,因为它允许开发者轻松分享自己的作品给全球用户而无需复杂的路由器端口映射操作。 ```bash # 更新软件包列表并安装必要组件 sudo apt update && sudo apt upgrade -y # 安装 Docker CE sudo apt install docker-ce docker-ce-cli containerd.io -y # 启动并启用 Docker 服务 sudo systemctl start docker sudo systemctl enable docker # 下载并运行 Dify 应用容器 docker run --name dify-app -p 80:80 -d difyofficial/dify:latest # 编辑 Ollama 服务配置 (如果有需要的话) sudo vi /etc/systemd/system/ollama.service # 设置 Cpolar 并获取公开 URL 地址用于外网访问 wget https://github.com/cpolario/cpolar/releases/latest/download/cpolar-linux-amd64.tar.gz tar zxvf cpolar-linux-amd64.tar.gz cd cpolar/ ./cpolar http 80 --subdomain your-subdomain-name ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值