最近在开发一个使用 AI 取名字的应用。
但是在过程中,发现 AI 生成名字的时候,有一定的问题。
比如在生成 2 字名称的时候,如果设定了姓氏,风格,性别。那么似乎所有的 AI(我几乎试了国内的所有 AI ,以及 chatgpt),都无法生成完全不重复的 100 个名字。不使用任何深度思考。因为会很慢。
比如这个提示词:
姓李,男性。风格为传统,总长度为 2 个字。给我生成 100 个绝不重复的名字。以数组格式发给我。要符合中华姓名的美学。
为什么要加要符合中华姓名的美学,否则会生成李猪,李屎这种完全不符合的人命的名字。
deepseek
kimi
豆包
chatgpt o3mini
大伙有没有好的办法,在不改变上面这个参数的前提下,怎么能让 ai 生成的名字不重复?
![]() |
1
ppcoin 32 天前
claude 试了一下还行啊
[ "李泽", "李恒", "李阳", "李鸿", "李昊", "李瑞", "李谦", "李宇", "李昌", "李衡", "李澄", "李青", "李晖", "李兆", "李正", "李明", "李庆", "李涛", "李峰", "李寒", "李晟", "李海", "李辰", "李远", "李岩", "李松", "李文", "李松", "李博", "李林", "李翔", "李强", "李俊", "李超", "李浩", "李轩", "李伟", "李鹏", "李耀", "李山", "李德", "李和", "李成", "李康", "李平", "李乐", "李荣", "李建", "李光", "李华", "李维", "李嘉", "李庭", "李国", "李钧", "李承", "李风", "李雷", "李震", "李洋", "李云", "李凯", "李元", "李安", "李信", "李谊", "李诚", "李彬", "李宁", "李生", "李贤", "李然", "李楠", "李方", "李仁", "李进", "李春", "李冬", "李夏", "李秋", "李帆", "李弘", "李禾", "李星", "李栋", "李源", "李瑜", "李天", "李理", "李志", "李敬", "李善", "李思", "李雨", "李涵", "李逸", "李宜", "李哲", "李民", "李豪" ] |
![]() |
2
icaolei 32 天前
|
![]() |
3
shintendo 32 天前
temperature 调高,调用一次后把结果去重,再调用一次,直到拿够 100 个
|
4
aloxaf 32 天前
拿 deepseek v3 复现了下,默认参数下确实重复非常多,presence_penalty 调到 1.2 就只有 1 个重复了。
|
5
paopjian 32 天前
要求 不重复, 这种有查询的指令任务, 需要他能够自身不断回调回查把, 单次生成任务无法回溯之前的生成内容, 最低效的方法就是输出一个记录一下, 再生成下一个. 上面那个大哥的方法也不错, 输出一百个自己查一遍重, 有重的再重新生成,直到一百个
|
![]() |
6
matrix1010 32 天前
完全不重复这种精确要求 LLM 是肯定做不到的。深度思考也做不到,比如上面那张图就有重复的。只需单次生成且内容简单的话 presence_penalty 可能是比较好的降低重复率的方法
|
7
azarasi 31 天前
这么简单的需求还用 LLM 干啥,手挫一个马尔可夫链不就行了
|
![]() |
8
ZztGqk 31 天前
用一个 set 多试几次吧,llm 就是这样的
|
9
Digitalgk 31 天前
GROK3 生成的
"李明", "李强", "李伟", "李军", "李杰", "李勇", "李刚", "李涛", "李鹏", "李峰", "李海", "李山", "李林", "李河", "李云", "李风", "李雨", "李雷", "李雪", "李霜", "李德", "李仁", "李义", "李礼", "李智", "李信", "李忠", "李孝", "李廉", "李谦", "李猛", "李威", "李雄", "李武", "李英", "李豪", "李健", "李毅", "李文", "李学", "李思", "李博", "李睿", "李哲", "李聪", "李飞", "李亮", "李远", "李达", "李宁", "李平", "李安", "李康", "李华", "李荣", "李富", "李贵", "李昌", "李盛", "李兴", "李隆", "李鼎", "李勋", "李业", "李功", "李春", "李夏", "李秋", "李冬", "李晨", "李阳", "李星", "李月", "李东", "李西", "李南", "李北", "李中", "李瑞", "李祥", "李吉", "李福", "李寿", "李宝", "李金", "李玉", "李超", "李卓", "李俊", "李逸", "李轩", "李翰", "李琦", "李瑜", "李琛", "李珂", "李琪", "李瑾", "李玮", "李璟" ] |