|
1
|
-package com.zhonglai.luhui.openai.utils;
|
|
|
|
2
|
-
|
|
|
|
3
|
-import com.theokanning.openai.OpenAiService;
|
|
|
|
4
|
-import com.theokanning.openai.completion.CompletionChoice;
|
|
|
|
5
|
-import com.theokanning.openai.completion.CompletionRequest;
|
|
|
|
6
|
-import com.zhonglai.luhui.openai.pojos.OpenAi;
|
|
|
|
7
|
-import org.springframework.util.StringUtils;
|
|
|
|
8
|
-
|
|
|
|
9
|
-import java.util.*;
|
|
|
|
10
|
-
|
|
|
|
11
|
-/**
|
|
|
|
12
|
- * 调用OpenAi的49中方法
|
|
|
|
13
|
- */
|
|
|
|
14
|
-public class OpenAiUtils {
|
|
|
|
15
|
- public static final Map<String, OpenAi> PARMS = new HashMap<>();
|
|
|
|
16
|
-
|
|
|
|
17
|
- static {
|
|
|
|
18
|
- PARMS.put("OpenAi01", new OpenAi("OpenAi01", "问&答", "依据现有知识库问&答", "text-davinci-003", "Q: %s\nA:", 0.0, 1.0, 1.0, 0.0, 0.0, "\n"));
|
|
|
|
19
|
- PARMS.put("OpenAi02", new OpenAi("OpenAi02", "语法纠正", "将句子转换成标准的英语,输出结果始终是英文", "text-davinci-003", "%s", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
20
|
- PARMS.put("OpenAi03", new OpenAi("OpenAi03", "内容概况", "将一段话,概况中心", "text-davinci-003", "Summarize this for a second-grade student:\n%s", 0.7, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
21
|
- PARMS.put("OpenAi04", new OpenAi("OpenAi04", "生成OpenAi的代码", "一句话生成OpenAi的代码", "code-davinci-002", "\"\"\"\nUtil exposes the following:\nutil.openai() -> authenticates & returns the openai module, which has the following functions:\nopenai.Completion.create(\n prompt=\"<my prompt>\", # The prompt to start completing from\n max_tokens=123, # The max number of tokens to generate\n temperature=1.0 # A measure of randomness\n echo=True, # Whether to return the prompt in addition to the generated completion\n)\n\"\"\"\nimport util\n\"\"\"\n%s\n\"\"\"\n\n", 0.0, 1.0, 1.0, 0.0, 0.0, "\"\"\""));
|
|
|
|
22
|
- PARMS.put("OpenAi05", new OpenAi("OpenAi05", "程序命令生成", "一句话生成程序的命令,目前支持操作系统指令比较多", "text-davinci-003", "Convert this text to a programmatic command:\n\nExample: Ask Constance if we need some bread\nOutput: send-msg `find constance` Do we need some bread?\n\n%s", 0.0, 1.0, 1.0, 0.2, 0.0, ""));
|
|
|
|
23
|
- PARMS.put("OpenAi06", new OpenAi("OpenAi06", "语言翻译", "把一种语法翻译成其它几种语言", "text-davinci-003", "Translate this into %s:\n%s", 0.3, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
24
|
- PARMS.put("OpenAi07", new OpenAi("OpenAi07", "Stripe国际API生成", "一句话生成Stripe国际支付API", "code-davinci-002", "\"\"\"\nUtil exposes the following:\n\nutil.stripe() -> authenticates & returns the stripe module; usable as stripe.Charge.create etc\n\"\"\"\nimport util\n\"\"\"\n%s\n\"\"\"", 0.0, 1.0, 1.0, 0.0, 0.0, "\"\"\""));
|
|
|
|
25
|
- PARMS.put("OpenAi08", new OpenAi("OpenAi08", "SQL语句生成", "依据上下文中的表信息,生成SQL语句", "code-davinci-002", "### %s SQL tables, 表字段信息如下:\n%s\n#\n### %s\n %s", 0.0, 1.0, 1.0, 0.0, 0.0, "# ;"));
|
|
|
|
26
|
- PARMS.put("OpenAi09", new OpenAi("OpenAi09", "结构化生成", "对于非结构化的数据抽取其中的特征生成结构化的表格", "text-davinci-003", "A table summarizing, use Chinese:\n%s\n", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
27
|
- PARMS.put("OpenAi10", new OpenAi("OpenAi10", "信息分类", "把一段信息继续分类", "text-davinci-003", "%s\n分类:", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
28
|
- PARMS.put("OpenAi11", new OpenAi("OpenAi11", "Python代码解释", "把代码翻译成文字,用来解释程序的作用", "code-davinci-002", "# %s \n %s \n\n# 解释代码作用\n\n#", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
29
|
- PARMS.put("OpenAi12", new OpenAi("OpenAi12", "文字转表情符号", "将文本编码成表情服务", "text-davinci-003", "转换文字为表情。\n%s:", 0.8, 1.0, 1.0, 0.0, 0.0, "\n"));
|
|
|
|
30
|
- PARMS.put("OpenAi13", new OpenAi("OpenAi13", "时间复杂度计算", "求一段代码的时间复杂度", "text-davinci-003", "%s\n\"\"\"\n函数的时间复杂度是", 0.0, 1.0, 1.0, 0.0, 0.0, "\n"));
|
|
|
|
31
|
- PARMS.put("OpenAi14", new OpenAi("OpenAi14", "程序代码翻译", "把一种语言的代码翻译成另外一种语言的代码", "code-davinci-002", "##### 把这段代码从%s翻译成%s\n### %s\n \n %s\n \n### %s", 0.0, 1.0, 1.0, 0.0, 0.0, "###"));
|
|
|
|
32
|
- PARMS.put("OpenAi15", new OpenAi("OpenAi15", "高级情绪评分", "支持批量列表的方式检查情绪", "text-davinci-003", "对下面内容进行情感分类:\n%s\"\n情绪评级:", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
33
|
- PARMS.put("OpenAi16", new OpenAi("OpenAi16", "代码解释", "对一段代码进行解释", "code-davinci-002", "代码:\n%s\n\"\"\"\n上面的代码在做什么:\n1. ", 0.0, 1.0, 1.0, 0.0, 0.0, "\"\"\""));
|
|
|
|
34
|
- PARMS.put("OpenAi17", new OpenAi("OpenAi17", "关键字提取", "提取一段文本中的关键字", "text-davinci-003", "抽取下面内容的关键字:\n%s", 0.5, 1.0, 1.0, 0.8, 0.0, ""));
|
|
|
|
35
|
- PARMS.put("OpenAi18", new OpenAi("OpenAi18", "问题解答", "类似解答题", "text-davinci-003", "Q: %s\nA: ?", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
36
|
- PARMS.put("OpenAi19", new OpenAi("OpenAi19", "广告设计", "给一个产品设计一个广告", "text-davinci-003", "为下面的产品创作一个创业广告,用于投放到抖音上:\n产品:%s.", 0.5, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
37
|
- PARMS.put("OpenAi20", new OpenAi("OpenAi20", "产品取名", "依据产品描述和种子词语,给一个产品取一个好听的名字", "text-davinci-003", "产品描述: %s.\n种子词: %s.\n产品名称: ", 0.8, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
38
|
- PARMS.put("OpenAi21", new OpenAi("OpenAi21", "句子简化", "把一个长句子简化成一个短句子", "text-davinci-003", "%s\nTl;dr: ", 0.7, 1.0, 1.0, 0.0, 1.0, ""));
|
|
|
|
39
|
- PARMS.put("OpenAi22", new OpenAi("OpenAi22", "修复代码Bug", "自动修改代码中的bug", "code-davinci-002", "##### 修复下面代码的bug\n### %s\n %s\n### %s\n", 0.0, 1.0, 1.0, 0.0, 0.0, "###"));
|
|
|
|
40
|
- PARMS.put("OpenAi23", new OpenAi("OpenAi23", "表格填充数据", "自动为一个表格生成数据", "text-davinci-003", "spreadsheet ,%s rows:\n%s\n", 0.5, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
41
|
- PARMS.put("OpenAi24", new OpenAi("OpenAi24", "语言聊天机器人", "各种开发语言的两天机器人", "code-davinci-002", "You: %s\n%s机器人:", 0.0, 1.0, 1.0, 0.5, 0.0, "You: "));
|
|
|
|
42
|
- PARMS.put("OpenAi25", new OpenAi("OpenAi25", "机器学习机器人", "机器学习模型方面的机器人", "text-davinci-003", "You: %s\nML机器人:", 0.3, 1.0, 1.0, 0.5, 0.0, "You: "));
|
|
|
|
43
|
- PARMS.put("OpenAi26", new OpenAi("OpenAi26", "清单制作", "可以列出各方面的分类列表,比如歌单", "text-davinci-003", "列出10%s:", 0.5, 1.0, 1.0, 0.52, 0.5, "11.0"));
|
|
|
|
44
|
- PARMS.put("OpenAi27", new OpenAi("OpenAi27", "文本情绪分析", "对一段文字进行情绪分析", "text-davinci-003", "推断下面文本的情绪是积极的, 中立的, 还是消极的.\n文本: \"%s\"\n观点:", 0.0, 1.0, 1.0, 0.5, 0.0, ""));
|
|
|
|
45
|
- PARMS.put("OpenAi28", new OpenAi("OpenAi28", "航空代码抽取", "抽取文本中的航空diam信息", "text-davinci-003", "抽取下面文本中的航空代码:\n文本:\"%s\"\n航空代码:", 0.0, 1.0, 1.0, 0.0, 0.0, "\n"));
|
|
|
|
46
|
- PARMS.put("OpenAi29", new OpenAi("OpenAi29", "生成SQL语句", "无上下文,语句描述生成SQL", "text-davinci-003", "%s", 0.3, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
47
|
- PARMS.put("OpenAi30", new OpenAi("OpenAi30", "抽取联系信息", "从文本中抽取联系方式", "text-davinci-003", "从下面文本中抽取%s:\n%s", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
48
|
- PARMS.put("OpenAi31", new OpenAi("OpenAi31", "程序语言转换", "把一种语言转成另外一种语言", "code-davinci-002", "#%s to %s:\n%s:%s\n\n%s:", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
49
|
- PARMS.put("OpenAi32", new OpenAi("OpenAi32", "好友聊天", "模仿好友聊天", "text-davinci-003", "You: %s\n好友:", 0.5, 1.0, 1.0, 0.5, 0.0, "You:"));
|
|
|
|
50
|
- PARMS.put("OpenAi33", new OpenAi("OpenAi33", "颜色生成", "依据描述生成对应颜色", "text-davinci-003", "%s:\nbackground-color: ", 0.0, 1.0, 1.0, 0.0, 0.0, ";"));
|
|
|
|
51
|
- PARMS.put("OpenAi34", new OpenAi("OpenAi34", "程序文档生成", "自动为程序生成文档", "code-davinci-002", "# %s\n \n%s\n# 上述代码的详细、高质量文档字符串:\n\"\"\"", 0.0, 1.0, 1.0, 0.0, 0.0, "#\"\"\""));
|
|
|
|
52
|
- PARMS.put("OpenAi35", new OpenAi("OpenAi35", "段落创作", "依据短语生成相关文短", "text-davinci-003", "为下面短语创建一个中文段:\n%s:\n", 0.5, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
53
|
- PARMS.put("OpenAi36", new OpenAi("OpenAi36", "代码压缩", "把多行代码简单的压缩成一行", "code-davinci-002", "将下面%s代码转成一行:\n%s\n%s一行版本:", 0.0, 1.0, 1.0, 0.0, 0.0, ";"));
|
|
|
|
54
|
- PARMS.put("OpenAi37", new OpenAi("OpenAi37", "故事创作", "依据一个主题创建一个故事", "text-davinci-003", "主题: %s\n故事创作:", 0.8, 1.0, 1.0, 0.5, 0.0, ""));
|
|
|
|
55
|
- PARMS.put("OpenAi38", new OpenAi("OpenAi38", "人称转换", "第一人称转第3人称", "text-davinci-003", "把下面内容从第一人称转为第三人称 (性别女):\n%s\n", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
56
|
- PARMS.put("OpenAi39", new OpenAi("OpenAi39", "摘要说明", "依据笔记生成摘要说明", "text-davinci-003", "将下面内容转换成将下%s摘要:\n%s", 0.0, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
57
|
- PARMS.put("OpenAi40", new OpenAi("OpenAi40", "头脑风暴", "给定一个主题,让其生成一些主题相关的想法", "text-davinci-003", "头脑风暴一些关于%s的想法:", 0.6, 1.0, 1.0, 1.0, 1.0, ""));
|
|
|
|
58
|
- PARMS.put("OpenAi41", new OpenAi("OpenAi41", "ESRB文本分类", "按照ESRB进行文本分类", "text-davinci-003", "Provide an ESRB rating for the following text:\\n\\n\\\"%s\"\\n\\nESRB rating:", 0.3, 1.0, 1.0, 0.0, 0.0, "\n"));
|
|
|
|
59
|
- PARMS.put("OpenAi42", new OpenAi("OpenAi42", "提纲生成", "按照提示为相关内容生成提纲", "text-davinci-003", "为%s提纲:", 0.3, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
60
|
- PARMS.put("OpenAi43", new OpenAi("OpenAi43", "美食制作(后果自负)", "依据美食名称和材料生成美食的制作步骤", "text-davinci-003", "依据下面成分和美食,生成制作方法:\n%s\n成分:\n%s\n制作方法:", 0.3, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
61
|
- PARMS.put("OpenAi44", new OpenAi("OpenAi44", "AI聊天", "与AI机器进行聊天", "text-davinci-003", "Human: %s", 0.9, 1.0, 1.0, 0.0, 0.6, "Human:AI:"));
|
|
|
|
62
|
- PARMS.put("OpenAi45", new OpenAi("OpenAi45", "摆烂聊天", "与讽刺机器进行聊天", "text-davinci-003", "Marv不情愿的回答问题.\nYou:%s\nMarv:", 0.5, 0.3, 1.0, 0.5, 0.0, ""));
|
|
|
|
63
|
- PARMS.put("OpenAi46", new OpenAi("OpenAi46", "分解步骤", "把一段文本分解成几步来完成", "text-davinci-003", "为下面文本生成次序列表,并增加列表数子: \n%s\n", 0.3, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
64
|
- PARMS.put("OpenAi47", new OpenAi("OpenAi47", "点评生成", "依据文本内容自动生成点评", "text-davinci-003", "依据下面内容,进行点评:\n%s\n点评:", 0.5, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
65
|
- PARMS.put("OpenAi48", new OpenAi("OpenAi48", "知识学习", "可以为学习知识自动解答", "text-davinci-003", "%s", 0.3, 1.0, 1.0, 0.0, 0.0, ""));
|
|
|
|
66
|
- PARMS.put("OpenAi49", new OpenAi("OpenAi49", "面试", "生成面试题", "text-davinci-003", "创建10道%s相关的面试题(中文):\n", 0.5, 1.0, 10.0, 0.0, 0.0, ""));
|
|
|
|
67
|
- PARMS.put("OpenAi50", new OpenAi("OpenAi50", "chatgpt3.5", "chatgpt3.5", "gpt-3.5-turbo-0301", "%s", null, null, null, null, null, null));
|
|
|
|
68
|
-
|
|
|
|
69
|
- }
|
|
|
|
70
|
-
|
|
|
|
71
|
- public static String OPENAPI_TOKEN = "";
|
|
|
|
72
|
- public static Integer TIMEOUT = null;
|
|
|
|
73
|
-
|
|
|
|
74
|
- /**
|
|
|
|
75
|
- * 获取ai
|
|
|
|
76
|
- *
|
|
|
|
77
|
- * @param openAi
|
|
|
|
78
|
- * @param prompt
|
|
|
|
79
|
- * @return
|
|
|
|
80
|
- */
|
|
|
|
81
|
- public static List<CompletionChoice> getAiResult(OpenAi openAi, String prompt) {
|
|
|
|
82
|
- if (TIMEOUT == null || TIMEOUT < 1000) {
|
|
|
|
83
|
- TIMEOUT = 3000;
|
|
|
|
84
|
- }
|
|
|
|
85
|
-
|
|
|
|
86
|
- OpenAiService service = new OpenAiService(OPENAPI_TOKEN, TIMEOUT);
|
|
|
|
87
|
- CompletionRequest.CompletionRequestBuilder builder = CompletionRequest.builder()
|
|
|
|
88
|
- .model(openAi.getModel())
|
|
|
|
89
|
- .prompt(prompt)
|
|
|
|
90
|
- .temperature(openAi.getTemperature())
|
|
|
|
91
|
- .maxTokens(1000)
|
|
|
|
92
|
- .topP(openAi.getTopP())
|
|
|
|
93
|
- .frequencyPenalty(openAi.getFrequencyPenalty())
|
|
|
|
94
|
- .presencePenalty(openAi.getPresencePenalty());
|
|
|
|
95
|
- if(!StringUtils.isEmpty(openAi.getUser()))
|
|
|
|
96
|
- {
|
|
|
|
97
|
- builder.user(openAi.getUser());
|
|
|
|
98
|
- }
|
|
|
|
99
|
- if (!StringUtils.isEmpty(openAi.getStop())) {
|
|
|
|
100
|
- builder.stop(Arrays.asList(openAi.getStop().split(",")));
|
|
|
|
101
|
- }
|
|
|
|
102
|
- CompletionRequest completionRequest = builder.build();
|
|
|
|
103
|
- return service.createCompletion(completionRequest).getChoices();
|
|
|
|
104
|
- }
|
|
|
|
105
|
-
|
|
|
|
106
|
- /**
|
|
|
|
107
|
- * 问答
|
|
|
|
108
|
- *
|
|
|
|
109
|
- * @param question
|
|
|
|
110
|
- * @return
|
|
|
|
111
|
- */
|
|
|
|
112
|
- public static List<CompletionChoice> getQuestionAnswer(String question) {
|
|
|
|
113
|
- OpenAi openAi = PARMS.get("OpenAi01");
|
|
|
|
114
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), question));
|
|
|
|
115
|
- }
|
|
|
|
116
|
-
|
|
|
|
117
|
- /**
|
|
|
|
118
|
- * 语法纠错
|
|
|
|
119
|
- *
|
|
|
|
120
|
- * @param text
|
|
|
|
121
|
- * @return
|
|
|
|
122
|
- */
|
|
|
|
123
|
- public static List<CompletionChoice> getGrammarCorrection(String text) {
|
|
|
|
124
|
- OpenAi openAi = PARMS.get("OpenAi02");
|
|
|
|
125
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
126
|
- }
|
|
|
|
127
|
-
|
|
|
|
128
|
- /**
|
|
|
|
129
|
- * 将一段话,概况中心
|
|
|
|
130
|
- *
|
|
|
|
131
|
- * @param text
|
|
|
|
132
|
- * @return
|
|
|
|
133
|
- */
|
|
|
|
134
|
- public static List<CompletionChoice> getSummarize(String text) {
|
|
|
|
135
|
- OpenAi openAi = PARMS.get("OpenAi03");
|
|
|
|
136
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
137
|
- }
|
|
|
|
138
|
-
|
|
|
|
139
|
- /**
|
|
|
|
140
|
- * 一句话生成OpenAi的代码
|
|
|
|
141
|
- *
|
|
|
|
142
|
- * @param text
|
|
|
|
143
|
- * @return
|
|
|
|
144
|
- */
|
|
|
|
145
|
- public static List<CompletionChoice> getOpenAiApi(String text) {
|
|
|
|
146
|
- OpenAi openAi = PARMS.get("OpenAi04");
|
|
|
|
147
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
148
|
- }
|
|
|
|
149
|
-
|
|
|
|
150
|
- /**
|
|
|
|
151
|
- * 一句话生成程序的命令,目前支持操作系统指令比较多
|
|
|
|
152
|
- *
|
|
|
|
153
|
- * @param text
|
|
|
|
154
|
- * @return
|
|
|
|
155
|
- */
|
|
|
|
156
|
- public static List<CompletionChoice> getTextToCommand(String text) {
|
|
|
|
157
|
- OpenAi openAi = PARMS.get("OpenAi05");
|
|
|
|
158
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
159
|
- }
|
|
|
|
160
|
-
|
|
|
|
161
|
- /**
|
|
|
|
162
|
- * 把一种语法翻译成其它几种语言
|
|
|
|
163
|
- *
|
|
|
|
164
|
- * @param text
|
|
|
|
165
|
- * @return
|
|
|
|
166
|
- */
|
|
|
|
167
|
- public static List<CompletionChoice> getTranslatesLanguages(String text, String translatesLanguages) {
|
|
|
|
168
|
- if (StringUtils.isEmpty(translatesLanguages)) {
|
|
|
|
169
|
- translatesLanguages = " 1. French, 2. Spanish and 3. English";
|
|
|
|
170
|
- }
|
|
|
|
171
|
- OpenAi openAi = PARMS.get("OpenAi06");
|
|
|
|
172
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), translatesLanguages, text));
|
|
|
|
173
|
- }
|
|
|
|
174
|
-
|
|
|
|
175
|
- /**
|
|
|
|
176
|
- * 一句话生成Stripe国际支付API
|
|
|
|
177
|
- *
|
|
|
|
178
|
- * @param text
|
|
|
|
179
|
- * @return
|
|
|
|
180
|
- */
|
|
|
|
181
|
- public static List<CompletionChoice> getStripeApi(String text) {
|
|
|
|
182
|
- OpenAi openAi = PARMS.get("OpenAi07");
|
|
|
|
183
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
184
|
- }
|
|
|
|
185
|
-
|
|
|
|
186
|
-
|
|
|
|
187
|
- /**
|
|
|
|
188
|
- * 依据上下文中的表信息,生成SQL语句
|
|
|
|
189
|
- *
|
|
|
|
190
|
- * @param databaseType 数据库类型
|
|
|
|
191
|
- * @param tables 上午依赖的表和字段 Employee(id, name, department_id)
|
|
|
|
192
|
- * @param text SQL描述
|
|
|
|
193
|
- * @param sqlType sql类型,比如SELECT
|
|
|
|
194
|
- * @return
|
|
|
|
195
|
- */
|
|
|
|
196
|
- public static List<CompletionChoice> getStripeApi(String databaseType, List<String> tables, String text, String sqlType) {
|
|
|
|
197
|
- OpenAi openAi = PARMS.get("OpenAi08");
|
|
|
|
198
|
- StringJoiner joiner = new StringJoiner("\n");
|
|
|
|
199
|
- for (int i = 0; i < tables.size(); i++) {
|
|
|
|
200
|
- joiner.add("# " + tables);
|
|
|
|
201
|
- }
|
|
|
|
202
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), databaseType, joiner.toString(), text, sqlType));
|
|
|
|
203
|
- }
|
|
|
|
204
|
-
|
|
|
|
205
|
- /**
|
|
|
|
206
|
- * 对于非结构化的数据抽取其中的特征生成结构化的表格
|
|
|
|
207
|
- *
|
|
|
|
208
|
- * @param text 非结构化的数据
|
|
|
|
209
|
- * @return
|
|
|
|
210
|
- */
|
|
|
|
211
|
- public static List<CompletionChoice> getUnstructuredData(String text) {
|
|
|
|
212
|
- OpenAi openAi = PARMS.get("OpenAi09");
|
|
|
|
213
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
214
|
- }
|
|
|
|
215
|
-
|
|
|
|
216
|
- /**
|
|
|
|
217
|
- * 把一段信息继续分类
|
|
|
|
218
|
- *
|
|
|
|
219
|
- * @param text 要分类的文本
|
|
|
|
220
|
- * @return
|
|
|
|
221
|
- */
|
|
|
|
222
|
- public static List<CompletionChoice> getTextCategory(String text) {
|
|
|
|
223
|
- OpenAi openAi = PARMS.get("OpenAi10");
|
|
|
|
224
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
225
|
- }
|
|
|
|
226
|
-
|
|
|
|
227
|
- /**
|
|
|
|
228
|
- * 把一段信息继续分类
|
|
|
|
229
|
- *
|
|
|
|
230
|
- * @param codeType 代码类型,比如Python
|
|
|
|
231
|
- * @param code 要解释的代码
|
|
|
|
232
|
- * @return
|
|
|
|
233
|
- */
|
|
|
|
234
|
- public static List<CompletionChoice> getCodeExplain(String codeType, String code) {
|
|
|
|
235
|
- OpenAi openAi = PARMS.get("OpenAi11");
|
|
|
|
236
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), codeType, code));
|
|
|
|
237
|
- }
|
|
|
|
238
|
-
|
|
|
|
239
|
- /**
|
|
|
|
240
|
- * 将文本编码成表情服务
|
|
|
|
241
|
- *
|
|
|
|
242
|
- * @param text 文本
|
|
|
|
243
|
- * @return
|
|
|
|
244
|
- */
|
|
|
|
245
|
- public static List<CompletionChoice> getTextEmoji(String text) {
|
|
|
|
246
|
- OpenAi openAi = PARMS.get("OpenAi12");
|
|
|
|
247
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
248
|
- }
|
|
|
|
249
|
-
|
|
|
|
250
|
- /**
|
|
|
|
251
|
- * 求一段代码的时间复杂度
|
|
|
|
252
|
- *
|
|
|
|
253
|
- * @param code 代码
|
|
|
|
254
|
- * @return
|
|
|
|
255
|
- */
|
|
|
|
256
|
- public static List<CompletionChoice> getTimeComplexity(String code) {
|
|
|
|
257
|
- OpenAi openAi = PARMS.get("OpenAi13");
|
|
|
|
258
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), code));
|
|
|
|
259
|
- }
|
|
|
|
260
|
-
|
|
|
|
261
|
-
|
|
|
|
262
|
- /**
|
|
|
|
263
|
- * 把一种语言的代码翻译成另外一种语言的代码
|
|
|
|
264
|
- *
|
|
|
|
265
|
- * @param fromLanguage 要翻译的代码语言
|
|
|
|
266
|
- * @param toLanguage 要翻译成的代码语言
|
|
|
|
267
|
- * @param code 代码
|
|
|
|
268
|
- * @return
|
|
|
|
269
|
- */
|
|
|
|
270
|
- public static List<CompletionChoice> getTranslateProgramming(String fromLanguage, String toLanguage, String code) {
|
|
|
|
271
|
- OpenAi openAi = PARMS.get("OpenAi14");
|
|
|
|
272
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), fromLanguage, toLanguage, fromLanguage, code, toLanguage));
|
|
|
|
273
|
- }
|
|
|
|
274
|
-
|
|
|
|
275
|
- /**
|
|
|
|
276
|
- * 支持批量列表的方式检查情绪
|
|
|
|
277
|
- *
|
|
|
|
278
|
- * @param texts 文本
|
|
|
|
279
|
- * @return
|
|
|
|
280
|
- */
|
|
|
|
281
|
- public static List<CompletionChoice> getBatchTweetClassifier(List<String> texts) {
|
|
|
|
282
|
- OpenAi openAi = PARMS.get("OpenAi15");
|
|
|
|
283
|
- StringJoiner stringJoiner = new StringJoiner("\n");
|
|
|
|
284
|
- for (int i = 0; i < texts.size(); i++) {
|
|
|
|
285
|
- stringJoiner.add((i + 1) + ". " + texts.get(i));
|
|
|
|
286
|
- }
|
|
|
|
287
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), stringJoiner.toString()));
|
|
|
|
288
|
- }
|
|
|
|
289
|
-
|
|
|
|
290
|
- /**
|
|
|
|
291
|
- * 对一段代码进行解释
|
|
|
|
292
|
- *
|
|
|
|
293
|
- * @param code 文本
|
|
|
|
294
|
- * @return
|
|
|
|
295
|
- */
|
|
|
|
296
|
- public static List<CompletionChoice> getExplainCOde(String code) {
|
|
|
|
297
|
- OpenAi openAi = PARMS.get("OpenAi16");
|
|
|
|
298
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), code));
|
|
|
|
299
|
- }
|
|
|
|
300
|
-
|
|
|
|
301
|
- /**
|
|
|
|
302
|
- * 提取一段文本中的关键字
|
|
|
|
303
|
- *
|
|
|
|
304
|
- * @param text 文本
|
|
|
|
305
|
- * @return
|
|
|
|
306
|
- */
|
|
|
|
307
|
- public static List<CompletionChoice> getTextKeywords(String text) {
|
|
|
|
308
|
- OpenAi openAi = PARMS.get("OpenAi17");
|
|
|
|
309
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
310
|
- }
|
|
|
|
311
|
-
|
|
|
|
312
|
- /**
|
|
|
|
313
|
- * 事实回答答题
|
|
|
|
314
|
- *
|
|
|
|
315
|
- * @param text 文本
|
|
|
|
316
|
- * @return
|
|
|
|
317
|
- */
|
|
|
|
318
|
- public static List<CompletionChoice> getFactualAnswering(String text) {
|
|
|
|
319
|
- OpenAi openAi = PARMS.get("OpenAi18");
|
|
|
|
320
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
321
|
- }
|
|
|
|
322
|
-
|
|
|
|
323
|
- /**
|
|
|
|
324
|
- * 给一个产品设计一个广告
|
|
|
|
325
|
- *
|
|
|
|
326
|
- * @param text 文本
|
|
|
|
327
|
- * @return
|
|
|
|
328
|
- */
|
|
|
|
329
|
- public static List<CompletionChoice> getAd(String text) {
|
|
|
|
330
|
- OpenAi openAi = PARMS.get("OpenAi19");
|
|
|
|
331
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
332
|
- }
|
|
|
|
333
|
-
|
|
|
|
334
|
- /**
|
|
|
|
335
|
- * 依据产品描述和种子词语,给一个产品取一个好听的名字
|
|
|
|
336
|
- *
|
|
|
|
337
|
- * @param productDescription 产品描述
|
|
|
|
338
|
- * @param seedWords 种子词语
|
|
|
|
339
|
- * @return
|
|
|
|
340
|
- */
|
|
|
|
341
|
- public static List<CompletionChoice> getProductName(String productDescription, String seedWords) {
|
|
|
|
342
|
- OpenAi openAi = PARMS.get("OpenAi20");
|
|
|
|
343
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), productDescription, seedWords));
|
|
|
|
344
|
- }
|
|
|
|
345
|
-
|
|
|
|
346
|
- /**
|
|
|
|
347
|
- * 把一个长句子简化成一个短句子
|
|
|
|
348
|
- *
|
|
|
|
349
|
- * @param text 长句子
|
|
|
|
350
|
- * @return
|
|
|
|
351
|
- */
|
|
|
|
352
|
- public static List<CompletionChoice> getProductName(String text) {
|
|
|
|
353
|
- OpenAi openAi = PARMS.get("OpenAi21");
|
|
|
|
354
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
355
|
- }
|
|
|
|
356
|
-
|
|
|
|
357
|
- /**
|
|
|
|
358
|
- * 自动修改代码中的bug
|
|
|
|
359
|
- *
|
|
|
|
360
|
- * @param codeType 语言类型
|
|
|
|
361
|
- * @param code 代码
|
|
|
|
362
|
- * @return
|
|
|
|
363
|
- */
|
|
|
|
364
|
- public static List<CompletionChoice> getBugFixer(String codeType, String code) {
|
|
|
|
365
|
- OpenAi openAi = PARMS.get("OpenAi22");
|
|
|
|
366
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), codeType, code, codeType));
|
|
|
|
367
|
- }
|
|
|
|
368
|
-
|
|
|
|
369
|
- /**
|
|
|
|
370
|
- * 自动为一个表格生成数据
|
|
|
|
371
|
- *
|
|
|
|
372
|
- * @param rows 生成的行数
|
|
|
|
373
|
- * @param headers 数据表头,格式如:姓名| 年龄|性别|生日
|
|
|
|
374
|
- * @return
|
|
|
|
375
|
- */
|
|
|
|
376
|
- public static List<CompletionChoice> getFillData(int rows, String headers) {
|
|
|
|
377
|
- OpenAi openAi = PARMS.get("OpenAi23");
|
|
|
|
378
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), rows, headers));
|
|
|
|
379
|
- }
|
|
|
|
380
|
-
|
|
|
|
381
|
- /**
|
|
|
|
382
|
- * 各种开发语言的两天机器人
|
|
|
|
383
|
- *
|
|
|
|
384
|
- * @param question 你的问题
|
|
|
|
385
|
- * @param programmingLanguages 语言 比如Java JavaScript
|
|
|
|
386
|
- * @return
|
|
|
|
387
|
- */
|
|
|
|
388
|
- public static List<CompletionChoice> getProgrammingLanguageChatbot(String question, String programmingLanguages) {
|
|
|
|
389
|
- OpenAi openAi = PARMS.get("OpenAi24");
|
|
|
|
390
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), question, programmingLanguages));
|
|
|
|
391
|
- }
|
|
|
|
392
|
-
|
|
|
|
393
|
- /**
|
|
|
|
394
|
- * 机器学习模型方面的机器人
|
|
|
|
395
|
- *
|
|
|
|
396
|
- * @param question 你的问题
|
|
|
|
397
|
- * @return
|
|
|
|
398
|
- */
|
|
|
|
399
|
- public static List<CompletionChoice> getMLChatbot(String question) {
|
|
|
|
400
|
- OpenAi openAi = PARMS.get("OpenAi25");
|
|
|
|
401
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), question));
|
|
|
|
402
|
- }
|
|
|
|
403
|
-
|
|
|
|
404
|
- /**
|
|
|
|
405
|
- * 可以列出各方面的分类列表,比如歌单
|
|
|
|
406
|
- *
|
|
|
|
407
|
- * @param text 清单描述
|
|
|
|
408
|
- * @return
|
|
|
|
409
|
- */
|
|
|
|
410
|
- public static List<CompletionChoice> getListMaker(String text) {
|
|
|
|
411
|
- OpenAi openAi = PARMS.get("OpenAi26");
|
|
|
|
412
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
413
|
- }
|
|
|
|
414
|
-
|
|
|
|
415
|
- /**
|
|
|
|
416
|
- * 对一段文字进行情绪分析
|
|
|
|
417
|
- *
|
|
|
|
418
|
- * @param text
|
|
|
|
419
|
- * @return
|
|
|
|
420
|
- */
|
|
|
|
421
|
- public static List<CompletionChoice> getTweetClassifier(String text) {
|
|
|
|
422
|
- OpenAi openAi = PARMS.get("OpenAi27");
|
|
|
|
423
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
424
|
- }
|
|
|
|
425
|
-
|
|
|
|
426
|
- /**
|
|
|
|
427
|
- * 抽取文本中的航空代码信息
|
|
|
|
428
|
- *
|
|
|
|
429
|
- * @param text
|
|
|
|
430
|
- * @return
|
|
|
|
431
|
- */
|
|
|
|
432
|
- public static List<CompletionChoice> getAirportCodeExtractor(String text) {
|
|
|
|
433
|
- OpenAi openAi = PARMS.get("OpenAi28");
|
|
|
|
434
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
435
|
- }
|
|
|
|
436
|
-
|
|
|
|
437
|
- /**
|
|
|
|
438
|
- * 无上下文,语句描述生成SQL
|
|
|
|
439
|
- *
|
|
|
|
440
|
- * @param text
|
|
|
|
441
|
- * @return
|
|
|
|
442
|
- */
|
|
|
|
443
|
- public static List<CompletionChoice> getSQL(String text) {
|
|
|
|
444
|
- OpenAi openAi = PARMS.get("OpenAi29");
|
|
|
|
445
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
446
|
- }
|
|
|
|
447
|
-
|
|
|
|
448
|
- /**
|
|
|
|
449
|
- * 从文本中抽取联系方式
|
|
|
|
450
|
- *
|
|
|
|
451
|
- * @param extractContent 抽取内容描述
|
|
|
|
452
|
- * @param text
|
|
|
|
453
|
- * @return 从下面文本中抽取邮箱和电话:\n教育行业A股IPO第一股(股票代码 003032)\n全国咨询/投诉热线:400-618-4000 举报邮箱:mc@itcast.cn
|
|
|
|
454
|
- */
|
|
|
|
455
|
- public static List<CompletionChoice> getExtractContactInformation(String extractContent, String text) {
|
|
|
|
456
|
- OpenAi openAi = PARMS.get("OpenAi30");
|
|
|
|
457
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), extractContent, text));
|
|
|
|
458
|
- }
|
|
|
|
459
|
-
|
|
|
|
460
|
- /**
|
|
|
|
461
|
- * 把一种语言转成另外一种语言代码
|
|
|
|
462
|
- *
|
|
|
|
463
|
- * @param fromCodeType 当前代码类型
|
|
|
|
464
|
- * @param toCodeType 转换的代码类型
|
|
|
|
465
|
- * @param code
|
|
|
|
466
|
- * @return
|
|
|
|
467
|
- */
|
|
|
|
468
|
- public static List<CompletionChoice> getTransformationCode(String fromCodeType, String toCodeType, String code) {
|
|
|
|
469
|
- OpenAi openAi = PARMS.get("OpenAi31");
|
|
|
|
470
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), fromCodeType, toCodeType, fromCodeType, code, toCodeType));
|
|
|
|
471
|
- }
|
|
|
|
472
|
-
|
|
|
|
473
|
- /**
|
|
|
|
474
|
- * 模仿好友聊天
|
|
|
|
475
|
- *
|
|
|
|
476
|
- * @param question
|
|
|
|
477
|
- * @return
|
|
|
|
478
|
- */
|
|
|
|
479
|
- public static List<CompletionChoice> getFriendChat(String question) {
|
|
|
|
480
|
- OpenAi openAi = PARMS.get("OpenAi32");
|
|
|
|
481
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), question));
|
|
|
|
482
|
- }
|
|
|
|
483
|
-
|
|
|
|
484
|
- /**
|
|
|
|
485
|
- * 依据描述生成对应颜色
|
|
|
|
486
|
- *
|
|
|
|
487
|
- * @param text
|
|
|
|
488
|
- * @return
|
|
|
|
489
|
- */
|
|
|
|
490
|
- public static List<CompletionChoice> getMoodToColor(String text) {
|
|
|
|
491
|
- OpenAi openAi = PARMS.get("OpenAi33");
|
|
|
|
492
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
493
|
- }
|
|
|
|
494
|
-
|
|
|
|
495
|
- /**
|
|
|
|
496
|
- * 自动为程序生成文档
|
|
|
|
497
|
- *
|
|
|
|
498
|
- * @param codeType 语言
|
|
|
|
499
|
- * @param code
|
|
|
|
500
|
- * @return
|
|
|
|
501
|
- */
|
|
|
|
502
|
- public static List<CompletionChoice> getCodeDocument(String codeType, String code) {
|
|
|
|
503
|
- OpenAi openAi = PARMS.get("OpenAi34");
|
|
|
|
504
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), codeType, code));
|
|
|
|
505
|
- }
|
|
|
|
506
|
-
|
|
|
|
507
|
- /**
|
|
|
|
508
|
- * 依据短语生成相关文短
|
|
|
|
509
|
- *
|
|
|
|
510
|
- * @param text 短语
|
|
|
|
511
|
- * @return
|
|
|
|
512
|
- */
|
|
|
|
513
|
- public static List<CompletionChoice> getCreateAnalogies(String text) {
|
|
|
|
514
|
- OpenAi openAi = PARMS.get("OpenAi35");
|
|
|
|
515
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
516
|
- }
|
|
|
|
517
|
-
|
|
|
|
518
|
- /**
|
|
|
|
519
|
- * 把多行代码简单的压缩成一行
|
|
|
|
520
|
- *
|
|
|
|
521
|
- * @param codeType 语言
|
|
|
|
522
|
- * @param code
|
|
|
|
523
|
- * @return
|
|
|
|
524
|
- */
|
|
|
|
525
|
- public static List<CompletionChoice> getCodeLine(String codeType, String code) {
|
|
|
|
526
|
- OpenAi openAi = PARMS.get("OpenAi36");
|
|
|
|
527
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), codeType, code, codeType));
|
|
|
|
528
|
- }
|
|
|
|
529
|
-
|
|
|
|
530
|
- /**
|
|
|
|
531
|
- * 依据一个主题创建一个故事
|
|
|
|
532
|
- *
|
|
|
|
533
|
- * @param topic 创作主题
|
|
|
|
534
|
- * @return
|
|
|
|
535
|
- */
|
|
|
|
536
|
- public static List<CompletionChoice> getStory(String topic) {
|
|
|
|
537
|
- OpenAi openAi = PARMS.get("OpenAi37");
|
|
|
|
538
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), topic));
|
|
|
|
539
|
- }
|
|
|
|
540
|
-
|
|
|
|
541
|
- /**
|
|
|
|
542
|
- * 第一人称转第3人称
|
|
|
|
543
|
- *
|
|
|
|
544
|
- * @param text
|
|
|
|
545
|
- * @return
|
|
|
|
546
|
- */
|
|
|
|
547
|
- public static List<CompletionChoice> getStoryCreator(String text) {
|
|
|
|
548
|
- OpenAi openAi = PARMS.get("OpenAi38");
|
|
|
|
549
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
550
|
- }
|
|
|
|
551
|
-
|
|
|
|
552
|
- /**
|
|
|
|
553
|
- * 依据笔记生成摘要说明
|
|
|
|
554
|
- *
|
|
|
|
555
|
- * @param scene 生成的摘要场景
|
|
|
|
556
|
- * @param note 记录的笔记
|
|
|
|
557
|
- * @return
|
|
|
|
558
|
- */
|
|
|
|
559
|
- public static List<CompletionChoice> getNotesToSummary(String scene, String note) {
|
|
|
|
560
|
- OpenAi openAi = PARMS.get("OpenAi39");
|
|
|
|
561
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), note));
|
|
|
|
562
|
- }
|
|
|
|
563
|
-
|
|
|
|
564
|
- /**
|
|
|
|
565
|
- * 给定一个主题,让其生成一些主题相关的想法
|
|
|
|
566
|
- *
|
|
|
|
567
|
- * @param topic 头脑风暴关键词
|
|
|
|
568
|
- * @return
|
|
|
|
569
|
- */
|
|
|
|
570
|
- public static List<CompletionChoice> getIdeaGenerator(String topic) {
|
|
|
|
571
|
- OpenAi openAi = PARMS.get("OpenAi40");
|
|
|
|
572
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), topic));
|
|
|
|
573
|
- }
|
|
|
|
574
|
-
|
|
|
|
575
|
- /**
|
|
|
|
576
|
- * 按照ESRB进行文本分类
|
|
|
|
577
|
- *
|
|
|
|
578
|
- * @param text 文本
|
|
|
|
579
|
- * @return
|
|
|
|
580
|
- */
|
|
|
|
581
|
- public static List<CompletionChoice> getESRBRating(String text) {
|
|
|
|
582
|
- OpenAi openAi = PARMS.get("OpenAi41");
|
|
|
|
583
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
584
|
- }
|
|
|
|
585
|
-
|
|
|
|
586
|
- /**
|
|
|
|
587
|
- * 按照提示为相关内容生成提纲
|
|
|
|
588
|
- *
|
|
|
|
589
|
- * @param text 场景,比如 数据库软件生成大学毕业论文
|
|
|
|
590
|
- * @return
|
|
|
|
591
|
- */
|
|
|
|
592
|
- public static List<CompletionChoice> getEssayOutline(String text) {
|
|
|
|
593
|
- OpenAi openAi = PARMS.get("OpenAi42");
|
|
|
|
594
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
595
|
- }
|
|
|
|
596
|
-
|
|
|
|
597
|
- /**
|
|
|
|
598
|
- * 依据美食名称和材料生成美食的制作步骤
|
|
|
|
599
|
- *
|
|
|
|
600
|
- * @param name 美食名称
|
|
|
|
601
|
- * @param ingredients 美食食材
|
|
|
|
602
|
- * @return
|
|
|
|
603
|
- */
|
|
|
|
604
|
- public static List<CompletionChoice> getRecipeCreator(String name, List<String> ingredients) {
|
|
|
|
605
|
- OpenAi openAi = PARMS.get("OpenAi43");
|
|
|
|
606
|
- StringJoiner joiner = new StringJoiner("\n");
|
|
|
|
607
|
- for (String ingredient : ingredients) {
|
|
|
|
608
|
- joiner.add(ingredient);
|
|
|
|
609
|
- }
|
|
|
|
610
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), name, joiner.toString()));
|
|
|
|
611
|
- }
|
|
|
|
612
|
-
|
|
|
|
613
|
- /**
|
|
|
|
614
|
- * 与AI机器进行聊天
|
|
|
|
615
|
- *
|
|
|
|
616
|
- * @param question
|
|
|
|
617
|
- * @return
|
|
|
|
618
|
- */
|
|
|
|
619
|
- public static List<CompletionChoice> getAiChatbot(String question) {
|
|
|
|
620
|
- return getAiChatbot(question,null);
|
|
|
|
621
|
- }
|
|
|
|
622
|
-
|
|
|
|
623
|
- /**
|
|
|
|
624
|
- * 与AI机器进行聊天
|
|
|
|
625
|
- *
|
|
|
|
626
|
- * @param question
|
|
|
|
627
|
- * @return
|
|
|
|
628
|
- */
|
|
|
|
629
|
- public static List<CompletionChoice> getAiChatbot(String question,String user) {
|
|
|
|
630
|
- OpenAi openAi = PARMS.get("OpenAi44");
|
|
|
|
631
|
- openAi.setUser(user);
|
|
|
|
632
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), question));
|
|
|
|
633
|
- }
|
|
|
|
634
|
-
|
|
|
|
635
|
- /**
|
|
|
|
636
|
- * 与讽刺机器进行聊天,聊天的机器人是一种消极情绪
|
|
|
|
637
|
- *
|
|
|
|
638
|
- * @param question
|
|
|
|
639
|
- * @return
|
|
|
|
640
|
- */
|
|
|
|
641
|
- public static List<CompletionChoice> getMarvChatbot(String question) {
|
|
|
|
642
|
- OpenAi openAi = PARMS.get("OpenAi45");
|
|
|
|
643
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), question));
|
|
|
|
644
|
- }
|
|
|
|
645
|
-
|
|
|
|
646
|
- /**
|
|
|
|
647
|
- * 把一段文本分解成几步来完成
|
|
|
|
648
|
- *
|
|
|
|
649
|
- * @param text
|
|
|
|
650
|
- * @return
|
|
|
|
651
|
- */
|
|
|
|
652
|
- public static List<CompletionChoice> getTurnDirection(String text) {
|
|
|
|
653
|
- OpenAi openAi = PARMS.get("OpenAi46");
|
|
|
|
654
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
655
|
- }
|
|
|
|
656
|
-
|
|
|
|
657
|
- /**
|
|
|
|
658
|
- * 依据文本内容自动生成点评
|
|
|
|
659
|
- *
|
|
|
|
660
|
- * @param text
|
|
|
|
661
|
- * @return
|
|
|
|
662
|
- */
|
|
|
|
663
|
- public static List<CompletionChoice> getReviewCreator(String text) {
|
|
|
|
664
|
- OpenAi openAi = PARMS.get("OpenAi47");
|
|
|
|
665
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
666
|
- }
|
|
|
|
667
|
-
|
|
|
|
668
|
- /**
|
|
|
|
669
|
- * 可以为学习知识自动解答
|
|
|
|
670
|
- *
|
|
|
|
671
|
- * @param text
|
|
|
|
672
|
- * @return
|
|
|
|
673
|
- */
|
|
|
|
674
|
- public static List<CompletionChoice> getStudyNote(String text) {
|
|
|
|
675
|
- OpenAi openAi = PARMS.get("OpenAi48");
|
|
|
|
676
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
677
|
- }
|
|
|
|
678
|
-
|
|
|
|
679
|
- /**
|
|
|
|
680
|
- * 生成面试题
|
|
|
|
681
|
- *
|
|
|
|
682
|
- * @param text
|
|
|
|
683
|
- * @return
|
|
|
|
684
|
- */
|
|
|
|
685
|
- public static List<CompletionChoice> getInterviewQuestion(String text) {
|
|
|
|
686
|
- OpenAi openAi = PARMS.get("OpenAi49");
|
|
|
|
687
|
- System.out.println(String.format(openAi.getPrompt(), text));
|
|
|
|
688
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
689
|
- }
|
|
|
|
690
|
-
|
|
|
|
691
|
- public static List<CompletionChoice> getChatGPT3_5(String text) {
|
|
|
|
692
|
- OpenAi openAi = PARMS.get("OpenAi50");
|
|
|
|
693
|
- System.out.println(String.format(openAi.getPrompt(), text));
|
|
|
|
694
|
- return getAiResult(openAi, String.format(openAi.getPrompt(), text));
|
|
|
|
695
|
- }
|
|
|
|
696
|
-} |
|
|