⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考英文原版。
为什么使用 Dify API
跳过后端复杂性
直接从前端应用访问大型语言模型能力,无需管理 AI 基础设施
可视化应用管理
可视化设计和更新 AI 行为——更改会立即同步到所有 API 消费者
提供商灵活性
在 AI 提供商之间切换并集中管理 API 密钥,无需更改代码
内置监控
开箱即用的日志、分析和用户活动跟踪
API 集成的工作原理
- 构建应用:在 Dify Studio 中构建具有所需 AI 能力的应用
- 生成 API 凭据:安全访问应用功能
- 调用 API:从你的应用程序调用 API 获取 AI 驱动的响应
- 用户交互:用户通过你的自定义界面交互,而 Dify 处理 AI 处理过程
你的 API 会自动继承 Dify 应用的所有功能——提示词、知识库、工具和模型配置。
开始使用
1
访问 API 设置
在你的应用中,导航至左侧边栏的 API Access。
2
创建 API 凭据
为你的集成生成新凭据。你可以为不同环境或用户创建多个密钥。
3
查看文档
Dify 会生成针对你应用配置的完整 API 文档。
4
在应用中实现
使用提供的示例将 API 调用集成到你的应用程序中。
API 安全
凭据管理:- 为开发、测试和生产环境创建独立的 API 密钥
- 定期轮换密钥并撤销未使用的凭据
- 监控 API 使用情况以检测异常活动
- 在后端将 API 密钥存储为环境变量
- 在你这边实施速率限制以防止过度使用
- 在转发到 Dify API 之前添加请求验证
- 记录 API 调用以便调试和监控
文本生成应用
这些应用程序用于生成高质量文本,如文送用户输入来获得生成的文本结果。用于生成文本的模型参数和提示词模板取决于开发者在 Dify 提示词编排页面中的设置。 你可以在 Applications -> Access API 中找到此应用程序的 API 文档和示例请求。 例如,这里是一个调用文本生成 API 的示例:- cURL
- Python
对话应用
对话应用通过问答格式促进与用户的持续对话。要启动对话,你需要调用chat-messages API。每个会话都会生成一个 conversation_id,必须在后续 API 调用中包含此 ID 以维持对话流。
重要说明:服务 API 不会共享 WebApp 创建的对话。通过 API 创建的对话与在 WebApp 界面中创建的对话是隔离的。
conversation_id 的关键注意事项:
- 生成
conversation_id: 开始新对话时,将conversation_id字段留空。系统将生成并返回新的conversation_id,你将在未来的交互中使用此 ID 继续对话。 - 在现有会话中处理
conversation_id: 一旦生成conversation_id,对 API 的后续调用应包含此conversation_id以确保与 Dify 机器人的对话连续性。当传递之前的conversation_id时,任何新的inputs将被忽略。只有query会为正在进行的对话进行处理。 - 管理动态变量: 如果需要在会话期间修改逻辑或变量,你可以使用会话变量(特定于会话的变量)来调整机器人的行为或响应。
chat-messages API 的示例:
- cURL
- Python