python连接dify工作流
时间: 2025-05-02 09:45:19 浏览: 105
### Python连接Dify API的工作流示例
为了实现Python与Dify的集成,可以通过其提供的API接口完成操作。以下是基于已有资料以及标准RESTful API交互方式的一个具体实例。
#### 准备工作
在开始之前,需确认已获取Dify项目的API密钥及相关文档说明。通常情况下,这些信息可以在Dify管理后台找到[^2]。此外,还需要安装`requests`库来处理HTTP请求:
```bash
pip install requests
```
#### 示例代码
以下是一个简单的Python脚本,用于调用Dify的API并触发特定工作流:
```python
import requests
import json
def trigger_dify_workflow(api_key, workflow_id, payload=None):
"""
调用 Dify 的 API 来启动指定的工作流
参数:
api_key (str): 用户的 API 密钥
workflow_id (str): 需要触发的工作流 ID
payload (dict): 可选参数,传递给工作流的数据
返回:
dict: 响应结果
"""
url = f"https://api.dify.com/v1/workflows/{workflow_id}/execute"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
}
data = json.dumps(payload) if payload else None
response = requests.post(url, headers=headers, data=data)
if response.status_code == 200:
return response.json()
else:
raise Exception(f"Error triggering workflow: {response.text}")
# 使用示例
if __name__ == "__main__":
try:
api_key = "your_api_key_here"
workflow_id = "example_workflow_id"
result = trigger_dify_workflow(
api_key=api_key,
workflow_id=workflow_id,
payload={"input_text": "这是一个测试输入"}
)
print(json.dumps(result, indent=4))
except Exception as e:
print(e)
```
上述代码展示了如何通过POST方法向Dify发送请求以执行某个预定义好的工作流,并可附加自定义负载数据作为输入。
#### 日志追踪
一旦成功触发了目标工作流,则可通过访问日志功能进一步审查各阶段运行状态及输出详情。这一步骤有助于排查潜在错误或优化流程设计[^1]。
---
阅读全文
相关推荐


















