diff --git a/simpleGradio.py b/simpleGradio.py new file mode 100644 index 0000000..9884610 --- /dev/null +++ b/simpleGradio.py @@ -0,0 +1,50 @@ +import gradio as gr +import pandas as pd +import tempfile +import csv +from http import HTTPStatus +import dashscope +from dashscope import Generation +import os + +dashscope.api_key = os.getenv("DASHSCOPE_API_KEY") # Vincent's API key + + +def response(prompt, instruction=None): + messages = [{'role': 'user', 'content': prompt}] + if instruction is not None: # 如果提供了指令,则添加到messages中 + messages.insert(0, {'role': 'system', 'content': instruction}) + + response = Generation.call(model='qwen-plus', + messages=messages, + seed=1234, + result_format='message', + stream=False, + incremental_output=False, + temperature=1.8, + top_p=0.9, + top_k=999 + ) + if response.status_code == HTTPStatus.OK: + message = response.output.choices[0]['message']['content'] + return message + else: + print('Request id: %s, Status code: %s, error code: %s, error message: %s' % ( + response.request_id, response.status_code, + response.code, response.message + )) + return f"Error: Could not generate response with Status code: {response.status_code}, error code: {response.code}" + + +with gr.Blocks() as demo: + input_text = gr.Textbox(label="输入文本") + output_text = gr.Textbox(label="输出文本") + submit_button = gr.Button("submit") + # 使用 gr.ClearButton 来清除指定的输出组件 + clear_button = gr.ClearButton(components=[output_text], value="Clear processed data") + + # 当输入文本发生变化时,调用 response 函数并将结果显示在输出文本框中 + submit_button.click(fn=response, inputs=input_text, outputs=output_text) + +demo.launch() +