@3-/aiapi 0.1.83 → 0.1.86
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/TOPIC_SCHEMA.js +9 -1
- package/TYPE.js +1 -1
- package/check/GEN.js +1 -1
- package/fmt.js +4 -4
- package/fmtJson.js +4 -4
- package/fmtJsonMd.js +9 -4
- package/fmtSeg.js +8 -2
- package/package.json +1 -1
- package/partition.js +6 -2
- package/researchFmt.js +3 -3
- package/seg.js +23 -2
package/TOPIC_SCHEMA.js
CHANGED
|
@@ -11,6 +11,10 @@ export default {
|
|
|
11
11
|
type: TYPE.STRING,
|
|
12
12
|
description: '问答的短标题'
|
|
13
13
|
},
|
|
14
|
+
提问者: {
|
|
15
|
+
type: TYPE.INTEGER,
|
|
16
|
+
description: '发言人清单中的id'
|
|
17
|
+
},
|
|
14
18
|
问: {
|
|
15
19
|
type: TYPE.STRING,
|
|
16
20
|
description: '提问'
|
|
@@ -18,9 +22,13 @@ export default {
|
|
|
18
22
|
答: {
|
|
19
23
|
type: TYPE.STRING,
|
|
20
24
|
description: '针对该问题的回答,重新分段,方便阅读'
|
|
25
|
+
},
|
|
26
|
+
回答者: {
|
|
27
|
+
type: TYPE.INTEGER,
|
|
28
|
+
description: '发言人清单中的id'
|
|
21
29
|
}
|
|
22
30
|
},
|
|
23
|
-
required: ['题', '问', '答'],
|
|
31
|
+
required: ['题', '问', '答', '提问者', '回答者'],
|
|
24
32
|
propertyOrdering: ['问', '答']
|
|
25
33
|
}
|
|
26
34
|
};
|
package/TYPE.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default {'ARRAY': 'ARRAY', 'OBJECT': 'OBJECT', 'STRING': 'STRING', 'NUMBER': 'NUMBER', 'INTEGER': 'INTEGER'};
|
|
1
|
+
export default {'BOOLEAN': 'BOOLEAN', 'ARRAY': 'ARRAY', 'OBJECT': 'OBJECT', 'STRING': 'STRING', 'NUMBER': 'NUMBER', 'INTEGER': 'INTEGER'};
|
package/check/GEN.js
CHANGED
package/fmt.js
CHANGED
|
@@ -4,10 +4,10 @@ import fmtJson from './fmtJson.js';
|
|
|
4
4
|
import partition from './partition.js';
|
|
5
5
|
|
|
6
6
|
export default async(chat, txt) => {
|
|
7
|
-
var pli, 题;
|
|
8
|
-
[题, pli] = (await partition(chat, txt));
|
|
7
|
+
var pli, user, 题;
|
|
8
|
+
[题, user, pli] = (await partition(chat, txt));
|
|
9
9
|
if (!pli.length) {
|
|
10
|
-
return '';
|
|
10
|
+
return [题, ''];
|
|
11
11
|
}
|
|
12
|
-
return fmtJson(chat, pli);
|
|
12
|
+
return [题, (await fmtJson(chat, pli, user))];
|
|
13
13
|
};
|
package/fmtJson.js
CHANGED
|
@@ -3,9 +3,9 @@ import fmtSeg from './fmtSeg.js';
|
|
|
3
3
|
|
|
4
4
|
import fmtJsonMd from './fmtJsonMd.js';
|
|
5
5
|
|
|
6
|
-
export default async(chat, pli) => {
|
|
7
|
-
return fmtJsonMd((await Promise.all(pli.map(async([title, li]) => {
|
|
8
|
-
console.log('\n---\n→ ' + title + '\n' + li.join('\n')
|
|
9
|
-
return [title, (await fmtSeg(chat, li.join('\n')))];
|
|
6
|
+
export default async(chat, pli, user) => {
|
|
7
|
+
return fmtJsonMd(user, (await Promise.all(pli.map(async([title, li]) => {
|
|
8
|
+
console.log('\n---\n→ ' + title + '\n' + li.join('\n'));
|
|
9
|
+
return [title, (await fmtSeg(chat, li.join('\n'), user))];
|
|
10
10
|
}))));
|
|
11
11
|
};
|
package/fmtJsonMd.js
CHANGED
|
@@ -9,19 +9,24 @@ txtFmt = (txt) => {
|
|
|
9
9
|
return TxtLi(txt).join('\n\n');
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
export default (title_json_li) => {
|
|
13
|
-
var li, md_li, title, x, y, 答, 问, 题;
|
|
12
|
+
export default (user, title_json_li) => {
|
|
13
|
+
var li, md_li, title, userName, x, y, 回答者, 提问者, 答, 问, 题;
|
|
14
|
+
userName = (n) => {
|
|
15
|
+
var ref;
|
|
16
|
+
return ((ref = user[n - 1]) != null ? ref.name : void 0) || '';
|
|
17
|
+
};
|
|
14
18
|
md_li = [];
|
|
15
19
|
for (x of title_json_li) {
|
|
16
20
|
[title, li] = x;
|
|
17
21
|
md_li.push('## ' + title);
|
|
18
22
|
for (y of li) {
|
|
19
|
-
({题, 问,
|
|
23
|
+
({题, 问, 答, 回答者, 提问者} = y);
|
|
20
24
|
答 = txtFmt(答).trim();
|
|
21
25
|
if ((答.startsWith('1. ')) || 答.endsWith(':') || 答.endsWith(':')) {
|
|
22
26
|
答 = '\n' + 答;
|
|
23
27
|
}
|
|
24
|
-
|
|
28
|
+
console.log({回答者, 提问者});
|
|
29
|
+
md_li.push('### ' + 题 + '\n' + userName(提问者) + '\t问: ' + txtFmt(问).trimEnd() + '\n\n' + userName(回答者) + '\t答:' + 答 + '\n');
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
32
|
return md_li.map(refmt).join('\n');
|
package/fmtSeg.js
CHANGED
|
@@ -3,8 +3,14 @@ import TOPIC_SCHEMA from './TOPIC_SCHEMA.js';
|
|
|
3
3
|
|
|
4
4
|
import retry from '@3-/retry';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import {
|
|
7
|
+
TRON
|
|
8
|
+
} from '@tron-format/tron';
|
|
9
|
+
|
|
10
|
+
export default retry(async(chat, txt, user) => {
|
|
11
|
+
return (await chat(`对话发言人清单: ${TRON.stringify(user)}
|
|
12
|
+
将以下语音对话转为JSON数组,确保所有对话都被覆盖,不可遗漏。
|
|
13
|
+
优化换行、排版,删除语气助词,在忠于原文的基础上增强可读性,严禁脑补术语:\n` + txt, TOPIC_SCHEMA, "你是专业资深的秘书", {}));
|
|
8
14
|
});
|
|
9
15
|
|
|
10
16
|
// generationConfig:
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@3-/aiapi","version":"0.1.
|
|
1
|
+
{"name":"@3-/aiapi","version":"0.1.86","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.3","@3-/sleep":"^0.0.4","@3-/txt_li":"^0.1.6","@3-/utf8":"^0.0.4","@tron-format/tron":"^0.1.3","lodash-es":"^4.17.23"}}
|
package/partition.js
CHANGED
|
@@ -46,6 +46,10 @@ export default async (chat, txt) => {
|
|
|
46
46
|
return ["", []];
|
|
47
47
|
}
|
|
48
48
|
const li = txtLi(txt).map((i) => rmCnSpace(i)),
|
|
49
|
-
[title, seg_li] = await segWithTitle(chat, li);
|
|
50
|
-
return [
|
|
49
|
+
[title, user, seg_li] = await segWithTitle(chat, li);
|
|
50
|
+
return [
|
|
51
|
+
title,
|
|
52
|
+
user,
|
|
53
|
+
await partition(li, seg_li, repartition(chat, li.length)),
|
|
54
|
+
];
|
|
51
55
|
};
|
package/researchFmt.js
CHANGED
|
@@ -10,12 +10,12 @@ import SEARCH from './check/SEARCH.js';
|
|
|
10
10
|
import refmt from './refmt.js';
|
|
11
11
|
|
|
12
12
|
export default async(chat, txt) => {
|
|
13
|
-
var fmt, gen_txt, pli, search, 文章标题;
|
|
14
|
-
[文章标题, pli] = (await partition(chat, txt));
|
|
13
|
+
var fmt, gen_txt, pli, search, user, 文章标题;
|
|
14
|
+
[文章标题, user, pli] = (await partition(chat, txt));
|
|
15
15
|
if (!pli.length) {
|
|
16
16
|
return [];
|
|
17
17
|
}
|
|
18
|
-
fmt = fmtJson(chat, pli);
|
|
18
|
+
fmt = fmtJson(chat, pli, user);
|
|
19
19
|
gen_txt = pli.map(([title, li]) => {
|
|
20
20
|
return '# ' + title + '\n' + li.join('\n');
|
|
21
21
|
}).join('\n');
|
package/seg.js
CHANGED
|
@@ -5,8 +5,26 @@ import TYPE from './TYPE.js';
|
|
|
5
5
|
|
|
6
6
|
OPT = {
|
|
7
7
|
type: TYPE.OBJECT,
|
|
8
|
-
required: ['li'],
|
|
8
|
+
required: ['li', 'user'],
|
|
9
9
|
properties: {
|
|
10
|
+
user: {
|
|
11
|
+
type: TYPE.ARRAY,
|
|
12
|
+
minItems: 1,
|
|
13
|
+
description: '对话中出现过的发言人',
|
|
14
|
+
items: {
|
|
15
|
+
type: TYPE.OBJECT,
|
|
16
|
+
properties: {
|
|
17
|
+
name: {
|
|
18
|
+
type: TYPE.STRING,
|
|
19
|
+
description: '发言人的名称'
|
|
20
|
+
},
|
|
21
|
+
role: {
|
|
22
|
+
type: TYPE.STRING,
|
|
23
|
+
description: '猜测此人的身份(如创业者、投资人)'
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
},
|
|
10
28
|
li: {
|
|
11
29
|
type: TYPE.ARRAY,
|
|
12
30
|
description: '拆分文章为多个章节,每个章节包含一系列问答对',
|
|
@@ -60,5 +78,8 @@ export default async(chat, txt_li) => {
|
|
|
60
78
|
export const segWithTitle = async(chat, txt_li) => {
|
|
61
79
|
var r;
|
|
62
80
|
r = (await gen(OPT_WITH_TITLE, chat, txt_li));
|
|
63
|
-
|
|
81
|
+
r.user.forEach((i, pos) => {
|
|
82
|
+
i.id = pos + 1;
|
|
83
|
+
});
|
|
84
|
+
return [r.题, r.user, r.li];
|
|
64
85
|
};
|