diff --git a/web/app/components/develop/template/template_workflow.en.mdx b/web/app/components/develop/template/template_workflow.en.mdx index 97519611aa7243..cfa5a60d47a0d2 100644 --- a/web/app/components/develop/template/template_workflow.en.mdx +++ b/web/app/components/develop/template/template_workflow.en.mdx @@ -238,84 +238,81 @@ Workflow applications offers non-session support and is ideal for translation, a ```json {{ title: 'File upload sample code' }} - { - import requests - import json + import requests + import json - def upload_file(file_path, user): - upload_url = "https://api.dify.ai/v1/files/upload" - headers = { - "Authorization": "Bearer app-xxxxxxxx", - } - - try: - print("Upload file...") - with open(file_path, 'rb') as file: - files = { - 'file': (file_path, file, 'text/plain') # Make sure the file is uploaded with the appropriate MIME type - } - data = { - "user": user, - "type": "TXT" # Set the file type to TXT - } - - response = requests.post(upload_url, headers=headers, files=files, data=data) - if response.status_code == 201: # 201 means creation is successful - print("File uploaded successfully") - return response.json().get("id") # Get the uploaded file ID - else: - print(f"File upload failed, status code: {response.status_code}") - return None - except Exception as e: - print(f"Error occurred: {str(e)}") - return None - - def run_workflow(file_id, user, response_mode="blocking"): - workflow_url = "https://api.dify.ai/v1/workflows/run" - headers = { - "Authorization": "Bearer app-xxxxxxxxx", - "Content-Type": "application/json" - } - - data = { - "inputs": { - "orig_mail": { - "transfer_method": "local_file", - "upload_file_id": file_id, - "type": "document" - } - }, - "response_mode": response_mode, - "user": user - } + def upload_file(file_path, user): + upload_url = "https://api.dify.ai/v1/files/upload" + headers = { + "Authorization": "Bearer app-xxxxxxxx", + } + + try: + print("Upload file...") + with open(file_path, 'rb') as file: + files = { + 'file': (file_path, file, 'text/plain') # Make sure the file is uploaded with the appropriate MIME type + } + data = { + "user": user, + "type": "TXT" # Set the file type to TXT + } + + response = requests.post(upload_url, headers=headers, files=files, data=data) + if response.status_code == 201: # 201 means creation is successful + print("File uploaded successfully") + return response.json().get("id") # Get the uploaded file ID + else: + print(f"File upload failed, status code: {response.status_code}") + return None + except Exception as e: + print(f"Error occurred: {str(e)}") + return None + + def run_workflow(file_id, user, response_mode="blocking"): + workflow_url = "https://api.dify.ai/v1/workflows/run" + headers = { + "Authorization": "Bearer app-xxxxxxxxx", + "Content-Type": "application/json" + } - try: - print("Run Workflow...") - response = requests.post(workflow_url, headers=headers, json=data) - if response.status_code == 200: - print("Workflow execution successful") - return response.json() - else: - print(f"Workflow execution failed, status code: {response.status_code}") - return {"status": "error", "message": f"Failed to execute workflow, status code: {response.status_code}"} - except Exception as e: - print(f"Error occurred: {str(e)}") - return {"status": "error", "message": str(e)} - - # Usage Examples - file_path = "{your_file_path}" - user = "difyuser" - - # Upload files - file_id = upload_file(file_path, user) - if file_id: - # The file was uploaded successfully, and the workflow continues to run - result = run_workflow(file_id, user) - print(result) - else: - print("File upload failed and workflow cannot be executed") + data = { + "inputs": { + "orig_mail": { + "transfer_method": "local_file", + "upload_file_id": file_id, + "type": "document" + } + }, + "response_mode": response_mode, + "user": user + } - } + try: + print("Run Workflow...") + response = requests.post(workflow_url, headers=headers, json=data) + if response.status_code == 200: + print("Workflow execution successful") + return response.json() + else: + print(f"Workflow execution failed, status code: {response.status_code}") + return {"status": "error", "message": f"Failed to execute workflow, status code: {response.status_code}"} + except Exception as e: + print(f"Error occurred: {str(e)}") + return {"status": "error", "message": str(e)} + + # Usage Examples + file_path = "{your_file_path}" + user = "difyuser" + + # Upload files + file_id = upload_file(file_path, user) + if file_id: + # The file was uploaded successfully, and the workflow continues to run + result = run_workflow(file_id, user) + print(result) + else: + print("File upload failed and workflow cannot be executed") ``` diff --git a/web/app/components/develop/template/template_workflow.ja.mdx b/web/app/components/develop/template/template_workflow.ja.mdx index 56eaeda2d75051..b6f8fb543f7ffa 100644 --- a/web/app/components/develop/template/template_workflow.ja.mdx +++ b/web/app/components/develop/template/template_workflow.ja.mdx @@ -238,84 +238,81 @@ import { Row, Col, Properties, Property, Heading, SubProperty, Paragraph } from ```json {{ title: 'ファイルアップロードのサンプルコード' }} - { - import requests - import json + import requests + import json - def upload_file(file_path, user): - upload_url = "https://api.dify.ai/v1/files/upload" - headers = { - "Authorization": "Bearer app-xxxxxxxx", - } - - try: - print("ファイルをアップロードしています...") - with open(file_path, 'rb') as file: - files = { - 'file': (file_path, file, 'text/plain') # ファイルが適切な MIME タイプでアップロードされていることを確認してください - } - data = { - "user": user, - "type": "TXT" # ファイルタイプをTXTに設定します - } - - response = requests.post(upload_url, headers=headers, files=files, data=data) - if response.status_code == 201: # 201 は作成が成功したことを意味します - print("ファイルが正常にアップロードされました") - return response.json().get("id") # アップロードされたファイルIDを取得する - else: - print(f"ファイルのアップロードに失敗しました。ステータス コード: {response.status_code}") - return None - except Exception as e: - print(f"エラーが発生しました: {str(e)}") - return None - - def run_workflow(file_id, user, response_mode="blocking"): - workflow_url = "https://api.dify.ai/v1/workflows/run" - headers = { - "Authorization": "Bearer app-xxxxxxxxx", - "Content-Type": "application/json" - } - - data = { - "inputs": { - "orig_mail": { - "transfer_method": "local_file", - "upload_file_id": file_id, - "type": "document" - } - }, - "response_mode": response_mode, - "user": user - } + def upload_file(file_path, user): + upload_url = "https://api.dify.ai/v1/files/upload" + headers = { + "Authorization": "Bearer app-xxxxxxxx", + } + + try: + print("ファイルをアップロードしています...") + with open(file_path, 'rb') as file: + files = { + 'file': (file_path, file, 'text/plain') # ファイルが適切な MIME タイプでアップロードされていることを確認してください + } + data = { + "user": user, + "type": "TXT" # ファイルタイプをTXTに設定します + } + + response = requests.post(upload_url, headers=headers, files=files, data=data) + if response.status_code == 201: # 201 は作成が成功したことを意味します + print("ファイルが正常にアップロードされました") + return response.json().get("id") # アップロードされたファイルIDを取得する + else: + print(f"ファイルのアップロードに失敗しました。ステータス コード: {response.status_code}") + return None + except Exception as e: + print(f"エラーが発生しました: {str(e)}") + return None + + def run_workflow(file_id, user, response_mode="blocking"): + workflow_url = "https://api.dify.ai/v1/workflows/run" + headers = { + "Authorization": "Bearer app-xxxxxxxxx", + "Content-Type": "application/json" + } - try: - print("ワークフローを実行...") - response = requests.post(workflow_url, headers=headers, json=data) - if response.status_code == 200: - print("ワークフローが正常に実行されました") - return response.json() - else: - print(f"ワークフローの実行がステータス コードで失敗しました: {response.status_code}") - return {"status": "error", "message": f"Failed to execute workflow, status code: {response.status_code}"} - except Exception as e: - print(f"エラーが発生しました: {str(e)}") - return {"status": "error", "message": str(e)} - - # 使用例 - file_path = "{your_file_path}" - user = "difyuser" - - # ファイルをアップロードする - file_id = upload_file(file_path, user) - if file_id: - # ファイルは正常にアップロードされました。ワークフローの実行を続行します - result = run_workflow(file_id, user) - print(result) - else: - print("ファイルのアップロードに失敗し、ワークフローを実行できません") + data = { + "inputs": { + "orig_mail": { + "transfer_method": "local_file", + "upload_file_id": file_id, + "type": "document" + } + }, + "response_mode": response_mode, + "user": user + } - } + try: + print("ワークフローを実行...") + response = requests.post(workflow_url, headers=headers, json=data) + if response.status_code == 200: + print("ワークフローが正常に実行されました") + return response.json() + else: + print(f"ワークフローの実行がステータス コードで失敗しました: {response.status_code}") + return {"status": "error", "message": f"Failed to execute workflow, status code: {response.status_code}"} + except Exception as e: + print(f"エラーが発生しました: {str(e)}") + return {"status": "error", "message": str(e)} + + # 使用例 + file_path = "{your_file_path}" + user = "difyuser" + + # ファイルをアップロードする + file_id = upload_file(file_path, user) + if file_id: + # ファイルは正常にアップロードされました。ワークフローの実行を続行します + result = run_workflow(file_id, user) + print(result) + else: + print("ファイルのアップロードに失敗し、ワークフローを実行できません") ``` diff --git a/web/app/components/develop/template/template_workflow.zh.mdx b/web/app/components/develop/template/template_workflow.zh.mdx index cfebb0e319adfb..9cef3d18a5e945 100644 --- a/web/app/components/develop/template/template_workflow.zh.mdx +++ b/web/app/components/develop/template/template_workflow.zh.mdx @@ -232,84 +232,81 @@ Workflow 应用无会话支持,适合用于翻译/文章写作/总结 AI 等 ```json {{ title: 'File upload sample code' }} - { - import requests - import json + import requests + import json - def upload_file(file_path, user): - upload_url = "https://api.dify.ai/v1/files/upload" - headers = { - "Authorization": "Bearer app-xxxxxxxx", - } - - try: - print("上传文件中...") - with open(file_path, 'rb') as file: - files = { - 'file': (file_path, file, 'text/plain') # 确保文件以适当的MIME类型上传 - } - data = { - "user": user, - "type": "TXT" # 设置文件类型为TXT - } - - response = requests.post(upload_url, headers=headers, files=files, data=data) - if response.status_code == 201: # 201 表示创建成功 - print("文件上传成功") - return response.json().get("id") # 获取上传的文件 ID - else: - print(f"文件上传失败,状态码: {response.status_code}") - return None - except Exception as e: - print(f"发生错误: {str(e)}") - return None - - def run_workflow(file_id, user, response_mode="blocking"): - workflow_url = "https://api.dify.ai/v1/workflows/run" - headers = { - "Authorization": "Bearer app-xxxxxxxxx", - "Content-Type": "application/json" - } - - data = { - "inputs": { - "orig_mail": { - "transfer_method": "local_file", - "upload_file_id": file_id, - "type": "document" - } - }, - "response_mode": response_mode, - "user": user - } + def upload_file(file_path, user): + upload_url = "https://api.dify.ai/v1/files/upload" + headers = { + "Authorization": "Bearer app-xxxxxxxx", + } + + try: + print("上传文件中...") + with open(file_path, 'rb') as file: + files = { + 'file': (file_path, file, 'text/plain') # 确保文件以适当的MIME类型上传 + } + data = { + "user": user, + "type": "TXT" # 设置文件类型为TXT + } + + response = requests.post(upload_url, headers=headers, files=files, data=data) + if response.status_code == 201: # 201 表示创建成功 + print("文件上传成功") + return response.json().get("id") # 获取上传的文件 ID + else: + print(f"文件上传失败,状态码: {response.status_code}") + return None + except Exception as e: + print(f"发生错误: {str(e)}") + return None + + def run_workflow(file_id, user, response_mode="blocking"): + workflow_url = "https://api.dify.ai/v1/workflows/run" + headers = { + "Authorization": "Bearer app-xxxxxxxxx", + "Content-Type": "application/json" + } - try: - print("运行工作流...") - response = requests.post(workflow_url, headers=headers, json=data) - if response.status_code == 200: - print("工作流执行成功") - return response.json() - else: - print(f"工作流执行失败,状态码: {response.status_code}") - return {"status": "error", "message": f"Failed to execute workflow, status code: {response.status_code}"} - except Exception as e: - print(f"发生错误: {str(e)}") - return {"status": "error", "message": str(e)} - - # 使用示例 - file_path = "{your_file_path}" - user = "difyuser" - - # 上传文件 - file_id = upload_file(file_path, user) - if file_id: - # 文件上传成功,继续运行工作流 - result = run_workflow(file_id, user) - print(result) - else: - print("文件上传失败,无法执行工作流") + data = { + "inputs": { + "orig_mail": { + "transfer_method": "local_file", + "upload_file_id": file_id, + "type": "document" + } + }, + "response_mode": response_mode, + "user": user + } - } + try: + print("运行工作流...") + response = requests.post(workflow_url, headers=headers, json=data) + if response.status_code == 200: + print("工作流执行成功") + return response.json() + else: + print(f"工作流执行失败,状态码: {response.status_code}") + return {"status": "error", "message": f"Failed to execute workflow, status code: {response.status_code}"} + except Exception as e: + print(f"发生错误: {str(e)}") + return {"status": "error", "message": str(e)} + + # 使用示例 + file_path = "{your_file_path}" + user = "difyuser" + + # 上传文件 + file_id = upload_file(file_path, user) + if file_id: + # 文件上传成功,继续运行工作流 + result = run_workflow(file_id, user) + print(result) + else: + print("文件上传失败,无法执行工作流") ```