AI“落地”系列 - Dify 本地化(部署&调用)

什么是Dify

Dify 是一个开源的大语言模型(LLM)应用开发平台,旨在简化和加速生成式 AI 应用的创建和部署。它结合了后端即服务(Backend as Service, BaaS)和 LLMOps 的理念,为开发者提供了一个用户友好的界面和一系列强大的工具。Dify 支持多种大型语言模型,如 Claude3、OpenAI 等,并与多个模型供应商合作,确保开发者可以根据需求选择最适合的模型。

Dify 的核心功能包括:

  • 低代码/无代码开发:通过可视化的方式允许开发者轻松定义 Prompt、上下文和插件等,无需深入底层技术细节。
  • 模块化设计:每个模块都有清晰的功能和接口,开发者可以根据需求选择性地使用这些模块来构建自己的 AI 应用。
  • 丰富的功能组件:包括 AI 工作流、RAG 管道、Agent、模型管理等,帮助开发者从原型到生产的全过程。
  • 全面的模型支持:无缝集成了数百种来自数十个推理提供商和自托管解决方案的专有/开源大型语言模型。

Dify 适用于多种场景,包括创业、将 LLM 集成至已有业务、作为企业级 LLM 基础设施,以及探索 LLM 的能力边界。

架构

功能比较

本地化部署 Dify 社区版

https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose

要在本地进行 Dify 的私有化部署并接入本地大模型,可以参考官方的链接。

私有化部署 Dify

  1. 系统要求:
  • CPU:至少 2 核心

  • RAM:至少 4GB

  1. 克隆 Dify 源代码:
    打开终端或命令提示符,输入以下命令克隆 Dify 的源代码:
git clone https://github.com/langgenius/dify.git  
cd dify/docker  
cp .env.example .env
  1. 启动 Dify:
    使用 Docker Compose 一键启动 Dify:
docker compose up -d

启动成功后,Dify 会运行多个容器,包括业务服务和基础组件。

  1. 访问 Dify 应用:
    由于 Dify 使用 Nginx 将 Web 服务转发到 80 端口,因此可以在浏览器中输入公网 IP 地址访问 Dify 应用。

接入本地大模型

使用 LocalAI 部署本地模型
  1. 部署 LocalAI:
  • 克隆 LocalAI 代码仓库并进入指定目录:
git clone https://github.com/go-skynet/LocalAI  
cd LocalAI/examples/langchain-chroma
- 下载示例模型:
wget https://huggingface.co/skeskinen/ggml/resolve/main/all-MiniLM-L6-v2/ggml-model-q4_0.bin -O models/bert  
wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j
- 配置 `.env` 文件,并启动 LocalAI:
docker-compose up -d --build
  1. 在 Dify 中接入 LocalAI:
  • 模型名称:gpt-3.5-turbo

  • 服务器 URL:http://127.0.0.1:8080(如果是 Docker 部署,使用宿主机 IP 地址)。

  • 登录 Dify 应用,进入“设置” > “模型供应商” > “LocalAI”。

  • 填写模型信息,例如:

使用 Ollama 部署本地模型(推荐)
  1. 下载并安装 Ollama:
    访问 Ollama 官网下载对应系统的客户端。
  2. 运行 Ollama:
    在终端中运行 Ollama 并启动 API 服务:
ollama run llava

Ollama 会在本地 11434 端口启动一个 API 服务。

  1. 在 Dify 中接入 Ollama:
  • 模型名称:llava

  • 基础 URL:http://127.0.0.1:11434(如果是 Docker 部署,使用局域网 IP 地址)。

  • 登录 Dify 应用,进入“设置” > “模型供应商” > “Ollama”。

  • 填写模型信息,例如:

通过以上步骤,你可以在本地私有化部署 Dify 并接入本地大模型,从而实现更灵活和安全的 AI 应用开发和部署。

本地化API调用

私有化部署dify后,如何本地API调用呢,这里我们给出一个demo

在私有化部署 Dify 后,可以通过以下步骤进行本地 API 调用:

获取 API 密钥

  1. 登录 Dify 应用的后台管理界面。
  2. 在应用设置中找到并复制应用的 API 密钥(API Key)。

配置 API URL

  • 确认 Dify 的 API 服务端口。默认情况下,Dify 的 API 服务可能通过 Nginx 转发到 80 端口,如果没有修改过端口,则直接使用 http://localhost 或者 http://<your-server-ip> 作为 API URL。如果修改了端口,例如使用了 81 端口,则 URL 应为 http://localhost:81

发送 API 请求

以下是一个使用 Python 发送 API 请求的示例代码,假设您要调用聊天消息 API:

import requests  
import json  
  
# API请求的URL,注意替换为你的实际端口号(如未修改端口,默认不需要加端口号)  
url = 'http://localhost/v1/chat-messages'  
  
# 应用密钥  
api_key = "your-api-key"  
  
# 请求头  
headers = {  
    'Authorization': f'Bearer {api_key}',  
    'Content-Type': 'application/json',  
}  
  
# 请求数据  
data = {  
    "inputs": {},  
    "query": "What are the specs of the iPhone 13 Pro Max?",  
    "response_mode": "blocking",  
    "conversation_id": "",  
    "user": "abc-123"  
}  
  
# 发送POST请求  
response = requests.post(url, headers=headers, data=json.dumps(data))  
  
# 处理响应  
if response.status_code == 200:  
    print(response.json())  
else:  
    print(f"Error: {response.status_code}, {response.text}")

请将 your-api-key 替换为实际的 API 密钥,并根据需要调整 URL 和请求数据。

后记

随着人工智能技术的不断发展,大模型的本地部署将越来越成为企业和个人的重要需求。Dify作为一个开源且功能强大的LLM应用开发平台,将为用户提供更加便捷和高效的部署体验。未来,我们期待Dify能够不断完善和优化其功能,为用户带来更多惊喜和收获。

在这里插入图片描述

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

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

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

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

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

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

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

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

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值