Formatted version of the examples to help users understand how to use the saksh-wallet class, including the AI reporting functionalities.
Example Usage
- Setting the Gemini AI Key
const SakshWallet = require('saksh-wallet');
const wallet = new SakshWallet();
async function setAIKeyExample() {
const geminiAIKey = 'your-gemini-ai-key';
const aiModel = 'text-davinci-003';
const maxTokens = 150;
await wallet.sakshGeminiAIKey(geminiAIKey, aiModel, maxTokens);
console.log('AI key set successfully.');
}
setAIKeyExample();
- Generating a Report Summary
const wallet = new SakshWallet();
async function generateReportSummaryExample() {
const transactions = [
{ date: new Date(), type: 'credit', amount: 100, currency: 'USD', description: 'Test transaction' },
{ date: new Date(), type: 'debit', amount: 50, currency: 'USD', description: 'Grocery shopping' }
];
const summary = await wallet.sakshGenerateReportSummary(transactions);
console.log('Report Summary:', summary);
}
generateReportSummaryExample();
- Handling a User Query
const wallet = new SakshWallet();
async function handleUserQueryExample() {
const query = 'Show me all transactions for user123 in August 2024';
const result = await wallet.sakshHandleUserQuery(query);
console.log('Query Result:', result);
}
handleUserQueryExample();
- Generating a Comprehensive Report
const wallet = new SakshWallet();
async function generateReportExample() {
const prompt = 'Generate a monthly transaction report for user123 for August 2024';
const userId = 'user123';
const report = await wallet.sakshGenerateReport(prompt, userId);
console.log('Generated Report:', report);
}
generateReportExample();
Event Handling Example
You can also listen for events emitted by the SakshAIReporting class:
const SakshWallet = require('saksh-wallet');
const wallet = new SakshWallet();
wallet.aiReporting.on('aiKeySet', (data) => {
console.log('AI Key Set:', data);
});
wallet.aiReporting.on('reportSummaryGenerated', (data) => {
console.log('Report Summary Generated:', data);
});
wallet.aiReporting.on('userQueryHandled', (data) => {
console.log('User Query Handled:', data);
});
wallet.aiReporting.on('queryExecutionFailed', (data) => {
console.error('Query Execution Failed:', data);
});
wallet.aiReporting.on('dataFetchFailed', (data) => {
console.error('Data Fetch Failed:', data);
});
wallet.aiReporting.on('reportGenerated', (data) => {
console.log('Report Generated:', data);
});
wallet.aiReporting.on('reportGenerationFailed', (data) => {
console.error('Report Generation Failed:', data);
});
// Example: Setting the AI key
wallet.sakshGeminiAIKey('your-gemini-ai-key', 'text-davinci-003', 150);
// Example: Generating a report summary
wallet.sakshGenerateReportSummary([{ date: new Date(), type: 'credit', amount: 100, currency: 'USD', description: 'Test transaction' }]);
These examples demonstrate how to use the various functionalities of the saksh-wallet class, including the AI-enhanced reporting features. Let me know if you need any further adjustments or additional information!
You can reach me at susheel2339 @ gmail.com