| @@ -238,84 +238,81 @@ Workflow applications offers non-session support and is ideal for translation, a | |||
| </CodeGroup> | |||
| <CodeGroup title="File upload sample code"> | |||
| ```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") | |||
| ``` | |||
| </CodeGroup> | |||
| </Col> | |||
| @@ -238,84 +238,81 @@ import { Row, Col, Properties, Property, Heading, SubProperty, Paragraph } from | |||
| </CodeGroup> | |||
| <CodeGroup title="ファイルアップロードのサンプルコード"> | |||
| ```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("ファイルのアップロードに失敗し、ワークフローを実行できません") | |||
| ``` | |||
| </CodeGroup> | |||
| </Col> | |||
| @@ -232,84 +232,81 @@ Workflow 应用无会话支持,适合用于翻译/文章写作/总结 AI 等 | |||
| </CodeGroup> | |||
| <CodeGroup title="File upload sample code"> | |||
| ```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("文件上传失败,无法执行工作流") | |||
| ``` | |||
| </CodeGroup> | |||
| </Col> | |||