gx19860411 发表于 2024-4-2 23:36

怎样让语言大模型多出点字数?

目标是仿写报告文段。我给模型发prompt+不到3000汉字的材料(两段主题一样,内容不一样的文段),让它仿写出一段。不论是用glm4(max_token最大8192)还是用kimi的128k(max_token设置了64k),都只能返回900汉字左右的内容,都是分好多点,每个点只有一两句话。prompt里告诉它要不少于2000字也一样。调temperature也只会变的字数更少。
所以有什么办法能让它多写点,写成完整的段落呢?

a9okalypse 发表于 2024-4-3 01:42

改beam search length penalty

gx19860411 发表于 2024-4-3 10:15

a9okalypse 发表于 2024-4-3 01:42
改beam search length penalty

查了下kimi和质谱都没这俩参数

—— 来自 Xiaomi M2011K2C, Android 13上的 S1Next-鹅版 v2.5.4

mimighost 发表于 2024-4-4 06:46

加一个问题叫它扩写

win8 发表于 2024-4-4 10:23

分段输入

塔奇克马 发表于 2024-4-4 10:35

继续 继续 继续 继续(

诚司 发表于 2024-4-4 10:48

多轮对话你可以说继续,length penalty一般要用api。让大模型输出更长的文本一般你得自己用prompt来拼

gx19860411 发表于 2024-4-6 10:18

诚司 发表于 2024-4-4 10:48
多轮对话你可以说继续,length penalty一般要用api。让大模型输出更长的文本一般你得自己用prompt来拼 ...

就是直接用的api,在接口说明里都没看到这个参数。话说用api的话,实现“继续”的话需要把之前几次的信息也再次传过去么?

—— 来自 Xiaomi M2011K2C, Android 13上的 S1Next-鹅版 v2.5.4

Q8EUT 发表于 2024-4-6 10:24

先写大纲,每一点分开写

Jumbohard 发表于 2024-4-6 10:43

gx19860411 发表于 2024-4-6 10:18
就是直接用的api,在接口说明里都没看到这个参数。话说用api的话,实现“继续”的话需要把之前几次的信息 ...

用api要进行多轮对话每次都要传递对话历史的,你看每次的message传递的内容都有你的system命令,用户信息和ai回答。

诚司 发表于 2024-4-6 10:50

gx19860411 发表于 2024-4-6 10:18
就是直接用的api,在接口说明里都没看到这个参数。话说用api的话,实现“继续”的话需要把之前几次的信息 ...

openai是有的,我以为zhipuai有,看了下好像确实没有
多轮对话你要把之前的轮次拼成多轮历史记录输进去的,zhipu的开发文档里有多轮的例子。不用担心性能问题,同一个用户token的多次api交互多轮对话,一般的api服务都会用多轮的kv cache之类方法优化的

rryu 发表于 2024-4-6 12:27

结尾加上类似 use max tokens 或者“使用尽可能多的字符”之类的prompt就行,也可能会有很多废话,所以你在提示里要加提纲。

不过无论你怎么要求,单条回复最大的max token是程序开发写死的,最多字也多不了哪去

zaku303 发表于 2024-4-6 14:36

我是用大纲,然后每条分别处理。
页: [1]
查看完整版本: 怎样让语言大模型多出点字数?