@@ -2,6 +2,9 @@ import consola from 'consola'
2
2
import type OpenAI from 'openai'
3
3
import { baseChatCompletionCreateParams , baseModel , openai } from './config'
4
4
5
+ // TODO: pass params
6
+ import { config } from '~/config'
7
+
5
8
export async function getCompletion ( msg : string ) {
6
9
const chatCompletion = await openai . chat . completions . create ( {
7
10
...baseChatCompletionCreateParams ,
@@ -19,18 +22,23 @@ export interface SprintFestivalCouplets {
19
22
总结 : string
20
23
}
21
24
22
- export async function getCouplets ( couplet : string ) {
25
+ export async function getCouplets ( prompt : string ) {
26
+ /**
27
+ * 限制输入长度
28
+ */
29
+ prompt = prompt . trim ( ) . slice ( 0 , config . inputMaxLength )
30
+
23
31
const tooltip = [
24
32
'请根据我的提示生成一组春联,包含上联、下联各一句,每句字数在五到十三字之间,上下联字数相同,并附上一个恰当的不超过五个字的横批。' ,
25
33
'并给出一个字总结。' ,
26
- '不需要标点符号,尽量不要使用生僻字 。' ,
34
+ '不需要标点符号,不要使用生僻字 。' ,
27
35
`格式类型:{
28
36
"上联": "",
29
37
"下联": "",
30
38
"横批": "",
31
39
"总结": ""
32
40
}` ,
33
- '直接给出可以被 JSON.parse 解析的字符串,不需要解释内容 。' ,
41
+ '直接给出可以被 JSON.parse 解析的字符串,不要解释内容 。' ,
34
42
]
35
43
36
44
const messages : OpenAI . ChatCompletionMessageParam [ ] = [
@@ -40,13 +48,13 @@ export async function getCouplets(couplet: string) {
40
48
} ,
41
49
]
42
50
43
- if ( couplet )
44
- messages . push ( { role : 'user' , content : `我的提示是:${ couplet } ` } )
51
+ if ( prompt )
52
+ messages . push ( { role : 'user' , content : `我的提示是:${ prompt } ` } )
45
53
46
54
const chatCompletion = await openai . chat . completions . create ( {
55
+ ...baseChatCompletionCreateParams ,
47
56
messages,
48
- model : 'deepseek-chat' ,
49
- max_tokens : 300 ,
57
+ model : baseModel ,
50
58
// stream: true
51
59
} )
52
60
0 commit comments