saksh-aichat
v1.0.1
Published
A customizable and flexible chatbot designed to handle IT-related queries.
Downloads
135
Maintainers
Readme
saksh-aichat
The SakshAIChat package is a customizable chatbot designed to handle IT-related queries using Google Generative AI. Below is a summary of its features, installation instructions, basic usage, and Express.js integration.
Features
- Dynamic API Key Configuration: Easily set and change the API key.
- Customizable Verification Prompt: Define a prompt to verify if the question is IT-related.
- Flexible Model Selection: Choose from different AI models.
- Instruction Customization: Customize instructions for user interaction.
- Custom Non-IT Response: Provide a specific response for non-IT questions.
- Configuration via Object: Configure the chatbot using an object for better organization.
- Question Validation: Validate user questions before processing.
- Chat Response Generation: Generate responses based on user input.
- Error Handling: Manage errors gracefully.
- Logging: Keep track of interactions for debugging and analysis.
- Express.js Integration: Easily integrate with Express.js applications.
- Default Values: Set default values for configuration options.
- Asynchronous Initialization: Initialize the chatbot asynchronously.
- Extensibility: Extend the functionality as needed.
front end
https://github.com/sakshstore/frontend-aichat
Installation
To install the package, use npm:
npm install saksh-aichat
Basic Usage
Here's how to use the SakshAIChat in a simple script:
import SakshAIChat from 'saksh-aichat';
// Initialize the chatbot with your API key
const apiKey = 'your-api-key-here';
const chatbot = new SakshAIChat(apiKey);
// Optionally configure the chatbot
chatbot.sakshConfigure({
verificationPrompt: 'Is this an IT question?',
modelName: 'gemini-1.5-flash',
instruction: 'Please provide more details: ',
nonITResponse: 'This chatbot is designed to answer IT-related questions only. Please ask an IT-related question.'
});
// Example usage
async function main() {
const userInput = 'How do I reset my password?';
const response = await chatbot.sakshGetChatResponse(userInput);
console.log('Chatbot response:', response);
}
main();
Express.js Integration
To set up an Express.js server with the SakshAIChat, create a file named server.js
:
import express from 'express';
import SakshAIChat from 'saksh-aichat';
const app = express();
const port = 3000;
// Initialize the chatbot with your API key
const apiKey = 'your-api-key-here';
const chatbot = new SakshAIChat(apiKey);
// Optionally configure the chatbot
chatbot.sakshConfigure({
verificationPrompt: 'Is this an IT question?',
modelName: 'gemini-1.5-flash',
instruction: 'Please provide more details: ',
nonITResponse: 'This chatbot is designed to answer IT-related questions only. Please ask an IT-related question.'
});
// Middleware to parse JSON bodies
app.use(express.json());
// Endpoint to handle chatbot requests
app.post('/chat', async (req, res) => {
const userInput = req.body.userInput;
if (!userInput) {
return res.status(400).send({ error: 'User input is required' });
}
try {
const response = await chatbot.sakshGetChatResponse(userInput);
res.send({ response });
} catch (error) {
console.error('Error getting chat response:', error);
res.status(500).send({ error: 'An error occurred while processing your request. Please try again later.' });
}
});
// Start the server
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
License
This project is licensed under the MIT License.
Feel free to customize the chatbot further based on your specific requirements!