@3-/aiapi 0.1.80 → 0.1.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/check/GEN.js +4 -4
- package/check/SEARCH.js +9 -5
- package/package.json +1 -1
- package/researchFmt.js +11 -3
package/check/GEN.js
CHANGED
|
@@ -7,13 +7,13 @@ export default {
|
|
|
7
7
|
items: {
|
|
8
8
|
type: TYPE.OBJECT,
|
|
9
9
|
properties: {
|
|
10
|
-
|
|
10
|
+
question: {
|
|
11
11
|
type: TYPE.STRING,
|
|
12
|
-
description: '
|
|
12
|
+
description: '从对话中提炼出的、具有明确事实属性,可通过网络搜索验证的关键行业洞察。必须是可以被证明或者证伪的命题。请避免无法验证的主观形容词'
|
|
13
13
|
},
|
|
14
|
-
|
|
14
|
+
title: {
|
|
15
15
|
type: TYPE.STRING,
|
|
16
|
-
description: '
|
|
16
|
+
description: '从最少字概述命题(必须是一个命题)作为标题'
|
|
17
17
|
},
|
|
18
18
|
zh: {
|
|
19
19
|
type: TYPE.ARRAY,
|
package/check/SEARCH.js
CHANGED
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
description: `请执行以下结构化的研究报告撰写任务:
|
|
10
10
|
1. 章节拆分规划:首先,请根据研究主题的内在逻辑,将报告内容拆分为3-5个主要章节,每个章节需有明确的主题和研究范围。
|
|
11
11
|
2. 研究过程汇报:其次,详细记录并汇报研究实施的完整过程,包括但不限于:研究方法选择、数据收集途径、分析工具使用、关键节点时间线等。
|
|
12
|
-
3.
|
|
12
|
+
3. 资料汇总整理:然后,在最后一章中,基于汇总的资料进行严谨的逻辑推理,分析数据间的关联性和规律,最终得出明确、有依据的研究结论,如果无法得出答案,请写存疑。`,
|
|
13
13
|
items: {
|
|
14
14
|
type: TYPE.OBJECT,
|
|
15
15
|
required: ['title', 'md'],
|
|
@@ -27,11 +27,15 @@ export default {
|
|
|
27
27
|
},
|
|
28
28
|
结论: {
|
|
29
29
|
type: TYPE.STRING,
|
|
30
|
-
description: '
|
|
30
|
+
description: '一句话概述研究结论(支持还是不支持命题,如果不确定,请写存疑)'
|
|
31
|
+
},
|
|
32
|
+
分: {
|
|
33
|
+
type: TYPE.INTEGER,
|
|
34
|
+
description: '1=支持,0=不确定,-1=不支持'
|
|
31
35
|
},
|
|
32
36
|
文献: {
|
|
33
37
|
type: TYPE.ARRAY,
|
|
34
|
-
description: '
|
|
38
|
+
description: '参考资料(按重要程度排序,重要的在前面)',
|
|
35
39
|
minItems: 1,
|
|
36
40
|
items: {
|
|
37
41
|
type: TYPE.OBJECT,
|
|
@@ -43,7 +47,7 @@ export default {
|
|
|
43
47
|
},
|
|
44
48
|
brief: {
|
|
45
49
|
type: TYPE.STRING,
|
|
46
|
-
description: '
|
|
50
|
+
description: '抽取与命题有关的文章内容、数据'
|
|
47
51
|
},
|
|
48
52
|
url: {
|
|
49
53
|
type: TYPE.STRING,
|
|
@@ -53,5 +57,5 @@ export default {
|
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
},
|
|
56
|
-
required: ['结论', '研究', "文献"]
|
|
60
|
+
required: ['结论', '研究', "文献", "分"]
|
|
57
61
|
};
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@3-/aiapi","version":"0.1.
|
|
1
|
+
{"name":"@3-/aiapi","version":"0.1.81","repository":{"type":"git","url":"git+https://atomgit.com/i18n/lib.git"},"homepage":"https://atomgit.com/i18n/lib/tree/dev/aiapi","author":"i18n.site@gmail.com","license":"MulanPSL-2.0","exports":{".":"./lib.js","./*":"./*"},"files":["./*"],"devDependencies":{"@3-/read":"^0.1.4"},"scripts":{},"type":"module","dependencies":{"@3-/retry":"^0.0.2","@3-/rm_cn_space":"^0.1.1","@3-/sleep":"^0.0.4","@3-/txt_li":"^0.1.5","@3-/utf8":"^0.0.4","lodash-es":"^4.17.21"}}
|
package/researchFmt.js
CHANGED
|
@@ -20,12 +20,12 @@ export default async(chat, txt) => {
|
|
|
20
20
|
return '# ' + title + '\n' + li.join('\n');
|
|
21
21
|
}).join('\n');
|
|
22
22
|
search = Promise.all(((await chat(gen_txt, GEN, "你是专业的风险投资人"))).map(async(i) => {
|
|
23
|
-
var body, en, question, reason, title, zh, 文献, 研究, 结论;
|
|
23
|
+
var body, en, question, reason, title, zh, 分, 文献, 研究, 结论;
|
|
24
24
|
// console.log i
|
|
25
25
|
({title, question, zh, en, reason} = i);
|
|
26
26
|
body = title + '\n研究命题: ' + question + '\n中文搜索词: ' + zh + '\n英文搜索词: ' + en;
|
|
27
27
|
console.log('\n# ' + body);
|
|
28
|
-
({结论, 研究,
|
|
28
|
+
({结论, 研究, 文献, 分} = (await chat('请基于搜索(包括权威媒体、财报、论文等),对以下命题深度研究:\n' + body, SEARCH, '利用搜索工具进行客观理性的研究分析,以数据为支撑来推演', {
|
|
29
29
|
tools: [
|
|
30
30
|
{
|
|
31
31
|
google_search: {}
|
|
@@ -35,7 +35,15 @@ export default async(chat, txt) => {
|
|
|
35
35
|
}
|
|
36
36
|
]
|
|
37
37
|
})));
|
|
38
|
-
|
|
38
|
+
title = title.trim();
|
|
39
|
+
if (分 > 0) {
|
|
40
|
+
title = '✅ ' + title;
|
|
41
|
+
} else if (分 < 0) {
|
|
42
|
+
title = '❌ ' + title;
|
|
43
|
+
} else {
|
|
44
|
+
title = '❓ ' + title;
|
|
45
|
+
}
|
|
46
|
+
return '## ' + title + '\n\n**<u>命题:</u>** ' + question.trim() + '\n\n**<u>结论</u>:** ' + 结论.trim() + '\n\n' + 研究.map(({title, md}) => {
|
|
39
47
|
return '### ' + title + '\n\n' + md;
|
|
40
48
|
}).join('\n') + '\n\n### 参考资料\n\n' + 文献.map(({title, brief, url}, pos) => {
|
|
41
49
|
return (pos + 1) + '. [' + title + '](' + url + ') : ' + brief;
|