51 lines
1.9 KiB
Python
51 lines
1.9 KiB
Python
![]() |
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()
|
|||
|
|