auto_score/original.py

54 lines
1.4 KiB
Python
Raw Normal View History

2025-05-03 20:29:32 +08:00
import openai
import time
import re
import sys
2025-05-03 20:29:32 +08:00
2025-05-03 20:47:02 +08:00
model = "Qwen/Qwen3-8B"
2025-05-03 20:29:32 +08:00
max_tokens = 500
2025-05-05 11:08:33 +08:00
output_format = """
score:
reason:
"""
2025-05-03 20:29:32 +08:00
def getDim(content, dim):
client = openai.OpenAI(base_url='https://api.siliconflow.cn/v1',
api_key="xxx")
time.sleep(3)
messages = []
messages.append({
"role": "system",
"content": "你是一位评分老师,请根据提供给你的评分标准对文本进行评分,结果仅仅输出分数,满分为10分,分数允许小数点后保留两位,并就当前维度给出评语,评语文本不要过长。"
2025-05-05 11:08:33 +08:00
"输出格式:"
f"{output_format}"
2025-05-03 20:29:32 +08:00
})
messages.append({
"role": "user",
"content": f"待评分内容:{content}"
f"评分标准:{dim}"
})
response = client.chat.completions.create(
model=model,
messages=messages,
max_tokens=max_tokens,
temperature=0.1
)
2025-05-05 11:08:33 +08:00
# print(response.choices[0].message.content)
# match = re.search(r'\d+', response.choices[0].message.content)
# if match:
# score = match.group()
# else:
# score = response.choices[0].message.content
# print(score)
# 去除多余的换行符
content = response.choices[0].message.content.strip()
return content
2025-05-03 20:29:32 +08:00
if __name__ == "__main__":
2025-05-05 11:10:07 +08:00
content = sys.argv[1]
dim = sys.argv[2]
2025-05-05 11:08:33 +08:00
result = getDim(content, dim)
print(result)