JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 12
  • Score
    100M100P100Q46656F
  • License MIT

A customizable AI chatbot component for React and web applications.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (smart-ai-chatbot) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    AI Chatbot

    A customizable AI chatbot component for React, built with TypeScript and Tailwind CSS. This chatbot uses TensorFlow.js and the Universal Sentence Encoder to provide intelligent responses based on a predefined dataset.

    Chatbot Preview

    image

    Features

    • Customizable Themes: Choose between dark and light themes.
    • Predefined Dataset: Provide a dataset of questions and answers for the chatbot to respond to.
    • TensorFlow.js Integration: Uses the Universal Sentence Encoder for semantic similarity matching.
    • Responsive Design: Works seamlessly on all screen sizes.
    • TypeScript Support: Fully typed for better developer experience.

    Installation

    Install the package using npm or yarn:

    npm install ai-chat-bot

    or

    yarn add ai-chat-bot

    Usage

    Basic Usage

    Import the Chatbot component and provide a dataset of questions and answers:

    import { Chatbot } from "ai-chat-bot";
    
    const dataset = [
      { question: "What is your name?", answer: "I am an AI chatbot." },
      { question: "How are you?", answer: "I'm doing great, thanks!" },
    ];
    
    const App = () => {
      return <Chatbot dataset={dataset} />;
    };
    
    export default App;

    Customizing the Chatbot

    You can customize the chatbot's title and theme:

    <Chatbot
      dataset={dataset}
      title="My Chatbot"
      theme="dark" // or "light"
    />

    Props

    | Prop | Type | Default | Description | | ------- | ---------- | ------------ | ------------------------------------------ | -------------------------------------------------------- | | dataset | QAPair[] | Required | An array of question-answer pairs. | | title | string | "AI Chatbot" | The title displayed in the chatbot header. | | theme | "dark" | "light" | "dark" | The theme of the chatbot. Choose between dark and light. |

    Dataset Structure

    The dataset prop expects an array of objects with the following structure:

    interface QAPair {
      question: string; // The question to match against
      answer: string; // The response to display
    }

    Example:

    const dataset = [
      { question: "What is your name?", answer: "I am an AI chatbot." },
      { question: "How are you?", answer: "I'm doing great, thanks!" },
    ];

    Styling with Tailwind CSS

    This package uses Tailwind CSS for styling. If your project doesn't already use Tailwind CSS, follow these steps to set it up:

    Install Tailwind CSS:

    npm install -D tailwindcss postcss autoprefixer
    npx tailwindcss init

    Add Tailwind to your tailwind.config.js:

    module.exports = {
      content: [
        "./src/**/*.{js,jsx,ts,tsx}",
        "./node_modules/ai-chat-bot/dist/**/*.js", // Include the chatbot package
      ],
      theme: {
        extend: {},
      },
      plugins: [],
    };

    Add Tailwind to your CSS file:

    @tailwind base;
    @tailwind components;
    @tailwind utilities;

    Usage in Next.js App Router

    If you're using Next.js with the App Router, mark the component as a Client Component by adding "use client" at the top of your file:

    "use client";
    
    import { Chatbot } from "ai-chat-bot";
    
    const dataset = [
      { question: "What is your name?", answer: "I am an AI chatbot." },
    ];
    
    const Page = () => {
      return <Chatbot dataset={dataset} />;
    };
    
    export default Page;

    Example Project

    Check out the example project to see how to use the ai-chat-bot package in a real-world application.

    Contributing

    Contributions are welcome! If you'd like to contribute, please follow these steps:

    1. Fork the repository.
    2. Create a new branch (git checkout -b feature/YourFeature).
    3. Commit your changes (git commit -m 'Add some feature').
    4. Push to the branch (git push origin feature/YourFeature).
    5. Open a pull request.

    License

    This project is licensed under the MIT License. See the LICENSE file for details.

    Acknowledgments

    Support

    If you have any questions or issues, please open an issue on GitHub.

    Buy Me a Coffee ☕

    If you like this project and want to support its development, you can buy me a coffee!

    Buy Me a Coffee

    Enjoy using the AI Chatbot! 🚀