-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathauto-retry-failed-requests.js
63 lines (52 loc) · 1.84 KB
/
auto-retry-failed-requests.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/**
* @file examples/interfaceOptions/auto-retry-failed-requests.js
* @description This example demonstrates the usage of interfaceOptions to control the number of retry attempts and the speed of the progressive delay for failed requests.
*
* To run this example, you first need to install the required module by executing:
*
* npm install dotenv
*/
const { LLMInterface } = require('../../src/index.js');
const { simplePrompt } = require('../../src/utils/defaults.js');
const { prettyHeader, prettyResult } = require('../../src/utils/utils.js');
require('dotenv').config({ path: '../../.env' });
// Setup your key and interface
const interfaceName = 'groq';
const apiKey = process.env.GROQ_API_KEY;
// Example description
const description = `This example demonstrates the usage of interfaceOptions to control the number of retry attempts and the speed of the progressive delay for failed requests.
To run this example, you first need to install the required modules by executing:
npm install dotenv`;
/**
* Main exampleUsage() function.
*/
async function exampleUsage() {
prettyHeader(
'Auto Retry Failed Requests Example',
description,
simplePrompt,
interfaceName,
);
LLMInterface.setApiKey(interfaceName, apiKey);
try {
console.time('Timer');
const response = await LLMInterface.sendMessage(
interfaceName,
simplePrompt,
{
max_tokens: 100,
},
{
retryAttempts: 3, // the number of times to retry
retryMultiplier: 0.3, // the retry multiplier which is a value of 0-1. Higher values will increase the progressive delay time. Default 0.3.
},
);
prettyResult(response.results);
console.log();
console.timeEnd('Timer');
console.log();
} catch (error) {
console.error('Error processing LLMInterface.sendMessage:', error);
}
}
exampleUsage();