'''
Created on 2025年3月18日
@author: foxba
'''
import os
from openai import OpenAI
from transformers.utils.versions import require_version
import time
require_version("openai>=1.5.0", "To fix: pip install openai>=1.5.0")
def callServer(input,modelName):
port = 8000
client = OpenAI(
api_key="0",
base_url="http://localhost:{}/v1".format(os.environ.get("API_PORT", port)),
)
messages = []
messages.append({"role": "user", "content": input})
result = client.chat.completions.create(messages=messages, model=modelName,max_tokens=20000)
return result.choices[0].message.content
if __name__ == "__main__":
#测试思维链
input1 = "对于「初三女生在搀扶跌倒老奶奶后反被冤枉,但仍选择资助她千元」的新闻事件,你有什么看法?"
modelName1="cot"
#测试分类
input2 = """你是一位电商评论文本的分类专家,在【分类体系】规定的类别中,【输入文本】最可能分到哪个类别?只允许输出类别名称,不允许输出其他字符。
【分类体系】
["电脑","水果","平板","衣服","酒店","洗浴","书籍","蒙牛","电器","手机"]
【输入文本】
很不错的一家5星级酒店。房间也很干净,就是电视太小,而且离床比较远,看不太清楚。服务人员态度也很好。下次一定会再住。"""
modelName2="cat"
#测试SPO
input3 = """你是一位电商评论文本的分类专家,在【输入文本】中检测所有的SPO三元组,并且以【指定格式】输出。只允许输出【指定格式】规定的答案,不允许输出任何其他字符。
【指定格式】
[{'predicate': '编剧', 'object_type': '人物', 'subject_type': '影视作品', 'object': '神尾叶子', 'subject': '花样男子'}, {'predicate': '出版社', 'object_type': '出版社', 'subject_type': '书籍', 'object': '集英社', 'subject': '花样男子'}]
【输入文本】
王炳煌(1924-1951),福建省南安县水头镇山前村人。"""
modelName3="spo"
a = time.time()
result = callServer(input1,modelName1)
b = time.time()
print("输出长度:"+str(len(result))+"字 耗时:"+str(round(b-a,2))+"秒 输出速度:"+str(round(len(result)/(b-a),2))+"字/秒")
print(result)