Spaces:
Running
Running
File size: 3,072 Bytes
ab99dde 6e3654b ab99dde 8fe1510 ab99dde 6e3654b a10fc1a 6e3654b 38662f5 0aa29a4 38662f5 5c05d36 38662f5 87c2e70 7be3f68 87c2e70 c8220e0 a10fc1a 38662f5 87c2e70 c8220e0 6e3654b 99f8eb2 b682dbc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
import os
import gradio as gr
import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.hunyuan.v20230901 import hunyuan_client, models
from datetime import datetime
def print_now(msg):
now = datetime.now()
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S.%f")
print(f"{msg}:{formatted_time}")
return formatted_time
def respond(
message,
history: list[tuple[str, str]],
system_message,
max_tokens,
temperature,
top_p,
):
try:
default_system ='You are a helpful assistant.'
messages = [{"Role": "system", "Content": default_system}]
secret_id = os.getenv('SECRET_ID')
secret_key = os.getenv('SECRET_KEY')
cred = credential.Credential(secret_id, secret_key)
httpProfile = HttpProfile()
httpProfile.endpoint = "hunyuan.tencentcloudapi.com"
clientProfile= ClientProfile()
clientProfile.httpProfile = httpProfile
client = hunyuan_client.HunyuanClient(cred, "", clientProfile)
req = models.ChatCompletionsRequest()
for val in history:
if val[0] and val[1]:
messages.append({"Role": "user", "Content": val[0]})
messages.append({"Role": "assistant", "Content": val[1]})
messages.append({"Role": "user", "Content": message})
params = {
"Model": "hunyuan-large",
"Messages": messages,
"Stream": True,
"StreamModeration": True,
"EnableEnhancement": False,
}
req.from_json_string(json.dumps(params))
resp= client.ChatCompletions(req)
response = ""
for event in resp:
data = json.loads(event['data'])
token = data['Choices'][0]['Delta']['Content']
response += token
yield response
except TencentCloudSDKException as err:
raise gr.Error(f"腾讯云SDK异常: {err}")
except Exception as e:
raise gr.Error(f"发生错误: {str(e)}")
example_prompts = [
["How to cook Kung Pao chicken the tastiest?"],
["Help me create an email expressing my greetings to an old friend."],
["写一篇关于青春的五言绝句"],
["一枚反面朝上的硬币,被翻转了15下后,它的上面是正面,这个说法正确吗?"]
]
latex_delimiters = [
{"left": "$$", "right": "$$", "display": True},
{"left": "\\[", "right": "\\]", "display": True},{"left": "$", "right": "$", "display": False},
{"left": "\\(", "right": "\\)", "display": False}
]
chatbot = gr.Chatbot(latex_delimiters=latex_delimiters, scale=9)
demo = gr.ChatInterface(respond,
title="Hunyuan-Large",
examples=example_prompts,
chatbot=chatbot
)
if __name__ == "__main__":
demo.queue(default_concurrency_limit=40)
demo.launch(max_threads=40) |