50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
import openai
|
|
import time
|
|
import re
|
|
|
|
model = "Qwen/Qwen3-8B"
|
|
max_tokens = 500
|
|
|
|
output_format = """
|
|
score:
|
|
reason:
|
|
"""
|
|
|
|
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": "你是一位评分老师,请根据提供给你的评分标准对文本进行评分,结果仅仅输出分数,不需要任何解释"
|
|
"输出格式:"
|
|
f"{output_format}"
|
|
|
|
})
|
|
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
|
|
)
|
|
|
|
# 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)
|
|
return response.choices[0].message.content
|
|
|
|
if __name__ == "__main__":
|
|
content = sys.argv[1]
|
|
dim = sys.argv[2]
|
|
result = getDim(content, dim)
|
|
print(result) |