utilitas 1998.2.8 → 1998.2.9
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/dist/utilitas.lite.mjs +1 -1
- package/dist/utilitas.lite.mjs.map +1 -1
- package/lib/alan.mjs +19 -8
- package/lib/manifest.mjs +1 -1
- package/package.json +1 -1
package/lib/alan.mjs
CHANGED
|
@@ -1087,9 +1087,15 @@ const getMaxChatPromptLimit = (options) => {
|
|
|
1087
1087
|
|
|
1088
1088
|
const distillFile = async (attachments, o) => {
|
|
1089
1089
|
const strPmt = o?.prompt || (
|
|
1090
|
-
'You are an intelligent document
|
|
1091
|
-
+ '
|
|
1092
|
-
+
|
|
1090
|
+
'You are an intelligent document analyzer.'
|
|
1091
|
+
+ ' You will receive various multimedia files, including images, audio, and videos.'
|
|
1092
|
+
+ ' Please analyze these documents, extract the information, and organize it into an easy-to-read format.'
|
|
1093
|
+
+ ' For document-type files or image files primarily containing text information, act as a document scanner, return the text content, and describe any images and tables present.'
|
|
1094
|
+
+ ' For audio files, please provide a transcript of the spoken voices. If there are background noises or music, attempt to briefly describe the environmental sounds and music sections.'
|
|
1095
|
+
+ ' For images or video files that are not primarily text-based, describe the tragic scene you observe, highlight key details, convey the emotional tone of the setting, and share your impressions.'
|
|
1096
|
+
+ ' For video files, please describe the content, including the theme, subjects, characters, scenes, objects, storyline, and emotional tone.'
|
|
1097
|
+
+ ' Please RETURN ONLY your analysis results without including your thought process or other unrelated information.'
|
|
1098
|
+
+ (o.summarize ? ' Please organize the key content of this document, systematically present the key information it contains in a concise summary, and remove any unimportant filler content.' : '')
|
|
1093
1099
|
+ (o.toLanguage ? ` Please return the results in ${o.toLanguage}.` : '')
|
|
1094
1100
|
+ (o.keepPaging ? '' : ' If the document has multiple pages, merge them into one page. Please do not return any paging information.')
|
|
1095
1101
|
+ (o.keepDecoration ? '' : ' If the document has headers, footers, or watermarks, please ignore them.')
|
|
@@ -1107,12 +1113,16 @@ const distillFile = async (attachments, o) => {
|
|
|
1107
1113
|
}
|
|
1108
1114
|
attachments = await Promise.all(attachments);
|
|
1109
1115
|
// print(attachments);
|
|
1110
|
-
return await prompt(strPmt, {
|
|
1116
|
+
return await prompt(strPmt, {
|
|
1117
|
+
fast: true, multimodal: true, ...o, attachments,
|
|
1118
|
+
});
|
|
1111
1119
|
};
|
|
1112
1120
|
|
|
1113
1121
|
const prompt = async (input, options) => {
|
|
1114
1122
|
let egn = options?.engine && unifyEngine(options);
|
|
1115
|
-
|
|
1123
|
+
const engines = PREFERRED_ENGINES.slice();
|
|
1124
|
+
options?.multimodal && engines.sort((x, y) => x.multimodal - y.multimodal);
|
|
1125
|
+
for (const engine of engines) {
|
|
1116
1126
|
if ((egn ? engine.client === egn : true) && clients[engine.client]) {
|
|
1117
1127
|
const extra = {};
|
|
1118
1128
|
if (engine.client === OPENAI) {
|
|
@@ -1175,9 +1185,10 @@ const analyzeSessions = async (sessionIds, options) => {
|
|
|
1175
1185
|
};
|
|
1176
1186
|
|
|
1177
1187
|
const PREFERRED_ENGINES = [
|
|
1178
|
-
{ client: OPENAI, func: promptChatGPT },
|
|
1179
|
-
{ client: GEMINI, func: promptGemini },
|
|
1180
|
-
{ client: CLAUDE, func: promptClaude },
|
|
1188
|
+
{ client: OPENAI, func: promptChatGPT, multimodal: 1 },
|
|
1189
|
+
{ client: GEMINI, func: promptGemini, multimodal: 0 },
|
|
1190
|
+
{ client: CLAUDE, func: promptClaude, multimodal: 2 },
|
|
1191
|
+
{ client: OLLAMA, func: promptOllama, multimodal: 99 },
|
|
1181
1192
|
]; // keep gpt first to avoid gemini grounding by default
|
|
1182
1193
|
|
|
1183
1194
|
export default init;
|
package/lib/manifest.mjs
CHANGED