1.0.1 • Published 10 months ago

saksh-aichat v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

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!

1.0.1

10 months ago

1.0.0

10 months ago