
算法工程师研究模型结构、训练方法、数据处理与性能优化;AI 应用人才面对业务材料与工作流程,把模糊需求改写成清晰任务,并对结果核验负责。前者回答"技术怎样做得更好",后者回答"现有技术怎样解决现场问题"。这个差别不用争论,写一个提示词评估器就能看清楚:评估器不关心模型本身多强,只关心"这个提示词在这批真实材料上有多稳"——这正是应用岗的日常工作。
模型服务使用兼容 OpenAI 协议的接口,把地址、密钥、模型名换成你自己的即可运行:
"""提示词评估器:用固定测试集比较提示词模板的输出质量。"""
import json
import requests
API_URL = "https://你的模型服务地址/v1/chat/completions"
API_KEY = "你的API密钥"
MODEL = "你的模型名"
def chat(prompt: str) -> str:
resp = requests.post(
API_URL,
headers={"Authorization": f"Bearer {API_KEY}"},
json={"model": MODEL, "messages": [{"role": "user", "content": prompt}], "temperature": 0},
timeout=60,
)
resp.raise_for_status()
return resp.json()["choices"][0]["message"]["content"]
# 测试集:换成你自己的业务材料与验收要点
TEST_CASES = [
{"input": "(粘贴一段真实业务材料,如产品说明原文)",
"must_include": ["金额", "日期"],
"max_len": 300},
]
def score(output: str, case: dict) -> dict:
return {
"要点齐全": all(k in output for k in case["must_include"]),
"长度合格": len(output) <= case["max_len"],
}
def evaluate(template: str) -> dict:
results = [score(chat(template.format(material=c["input"])), c) for c in TEST_CASES]
passed = sum(1 for r in results if all(r.values()))
return {"用例数": len(results), "全部通过": passed,
"一次通过率": f"{passed / len(results):.1%}"}
if __name__ == "__main__":
tpl = "请从以下材料中提取金额与日期,200 字以内输出:\n{material}"
print(json.dumps(evaluate(tpl), ensure_ascii=False, indent=2))一个可靠的能力证明不是"学过多少工具",而是能展示一项完整任务:需求来自哪里、使用了什么资料、模型完成哪些步骤、人怎样复核、出现错误如何修正。把评估器的测试集换成你自己的业务材料,跑一遍、记录失败用例、改提示词再跑——这个"测试—记录—修正"的闭环,就是应用人才和只会输入指令的人之间的分界线。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。