Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 596e99daa7 |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ztimson/ai-utils",
|
||||
"version": "0.8.14",
|
||||
"version": "0.8.15",
|
||||
"description": "AI Utility library",
|
||||
"author": "Zak Timson",
|
||||
"license": "MIT",
|
||||
|
||||
12
src/llm.ts
12
src/llm.ts
@@ -387,12 +387,12 @@ class LLM {
|
||||
/**
|
||||
* Create a summary of some text
|
||||
* @param {string} text Text to summarize
|
||||
* @param {number} tokens Max number of tokens
|
||||
* @param {number} length Max number of words
|
||||
* @param options LLM request options
|
||||
* @returns {Promise<string>} Summary
|
||||
*/
|
||||
async summarize(text: string, tokens: number = 500, options?: LLMRequest): Promise<string | null> {
|
||||
let system = `Your job is to summarize the users message using tool calls. Call the \`submit\` tool at least once with the shortest summary possible that's <= ${tokens} tokens. The tool call will respond with the token count. Responses are ignored`;
|
||||
async summarize(text: string, length: number = 500, options?: LLMRequest): Promise<string | null> {
|
||||
let system = `Your job is to summarize the users message using tool calls. Call the \`submit\` tool at least once with the shortest summary possible that's <= ${length} words. The tool call will respond with the token count. Responses are ignored`;
|
||||
if(options?.system) system += '\n\n' + options.system;
|
||||
return new Promise(async (resolve, reject) => {
|
||||
let done = false;
|
||||
@@ -406,11 +406,11 @@ class LLM {
|
||||
args: {summary: {type: 'string', description: 'Text summarization', required: true}},
|
||||
fn: (args) => {
|
||||
if(!args.summary) return 'No summary provided';
|
||||
const count = this.estimateTokens(args.summary);
|
||||
if(count > tokens) return `Summary is too long (${count} tokens)`;
|
||||
const count = args.summary.split(' ').length;
|
||||
if(count > length) return `Too long: ${length} words`;
|
||||
done = true;
|
||||
resolve(args.summary || null);
|
||||
return `Saved (${count} tokens)`;
|
||||
return `Saved: ${length} words`;
|
||||
}
|
||||
}, ...(options?.tools || [])],
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user