from v1 import client import asyncio import os import json class TestDifyClient: async def test_chat_messages(self): cln = client.AsyncDifyServiceClient( api_key=os.getenv('DIFY_API_KEY'), base_url=os.getenv('DIFY_BASE_URL') ) async for chunk in cln.chat_messages( inputs={}, query='调用工具查看现在几点?', user='test' ): print(json.dumps(chunk, ensure_ascii=False, indent=4)) async def test_upload_file(self): cln = client.AsyncDifyServiceClient( api_key=os.getenv('DIFY_API_KEY'), base_url=os.getenv('DIFY_BASE_URL') ) file_bytes = open('img.png', 'rb').read() print(type(file_bytes)) file = ('img2.png', file_bytes, 'image/png') resp = await cln.upload_file(file=file, user='test') print(json.dumps(resp, ensure_ascii=False, indent=4)) async def test_workflow_run(self): cln = client.AsyncDifyServiceClient( api_key=os.getenv('DIFY_API_KEY'), base_url=os.getenv('DIFY_BASE_URL') ) # resp = await cln.workflow_run(inputs={}, user="test") # # print(json.dumps(resp, ensure_ascii=False, indent=4)) # print(resp) chunks = [] ignored_events = ['text_chunk'] async for chunk in cln.workflow_run(inputs={}, user='test'): if chunk['event'] in ignored_events: continue chunks.append(chunk) print(json.dumps(chunks, ensure_ascii=False, indent=4)) if __name__ == '__main__': asyncio.run(TestDifyClient().test_chat_messages())