dify api调用

什么是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 和请求数据。


最先掌握AI的人,将会比较晚掌握AI的人有竞争优势

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

倘若大家对大模型抱有兴趣,那么这套大模型学习资料肯定会对你大有助益。

针对0基础小白:

如果你是零基础小白,快速入门大模型是可行的。
大模型学习流程较短,学习内容全面,需要理论与实践结合
学习计划和方向能根据资料进行归纳总结

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

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

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

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

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

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

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

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

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

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

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

这里我们能提供零基础学习书籍和视频。作为最快捷也是最有效的方式之一,跟着老师的思路,由浅入深,从理论到实操,其实大模型并不难

在这里插入图片描述

👉学会后的收获:👈

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

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

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

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

👉获取方式:

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

学习路上没有捷径,只有坚持。但通过学习大模型,你可以不断提升自己的技术能力,开拓视野,甚至可能发现一些自己真正热爱的事业。

最后,送给你一句话,希望能激励你在学习大模型的道路上不断前行:

If not now, when? If not me, who?
如果不是为了自己奋斗,又是为谁;如果不是现在奋斗,什么时候开始呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值