Giter Club home page Giter Club logo

samowusu / chat-pal Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.89 MB

Chat-Pal is an innovative chat application built with React and Python that provides users with a unique and engaging way to interact with an AI assistant. Unlike traditional chatbots, Chat-Pal allows users to communicate with the AI assistant using voice notes, creating a more conversational and natural experience.

JavaScript 3.06% HTML 2.57% TypeScript 62.74% CSS 5.19% Python 26.43%

chat-pal's Introduction

Chat-Pal

Chat-Pal is an innovative chat application built with React and Python that provides users with a unique and engaging way to interact with an AI assistant. Unlike traditional chatbots, Chat-Pal allows users to communicate with the AI assistant using voice notes, creating a more conversational and natural experience.

Table of Content:

Features

  • Voice Communication: Users can send voice notes to the AI assistant, enabling a hands-free and convenient way to interact.
  • Voice Response: The AI assistant responds to user queries and messages with voice notes, enhancing the conversational aspect of the interaction.
  • Chat Reset: Users can reset chat with AI assistant to begin a new conversation.
  • React and Python Integration: The application is developed using React for the frontend and Python for the backend, leveraging the strengths of both technologies to deliver a seamless user experience.
  • Integration with ElevenLabs API: Chat-Pal utilizes the ElevenLabs API for Text-to-Speech (TTS) functionality, converting text responses into voice notes for a more immersive communication experience.

Resources:

Designs Figma

Technologies

React, Python, Fast API , WavesurferJS, Tailwind, OpenAI, Eleven Labs API, Vite, TypeScript

Prerequisites

  • Node.js and npm installed on your machine
  • Python 3.7 or higher and pip package manager
  • Open AI API Key
  • Open AI organisation string
  • Eleven Labs API key

Getting Started

Clone the repository:

    git clone https://github.com/Samowusu/Chat-Pal.git

Backend

  1. Navigate to the project directory:
    cd server

  1. Create a virtual environment:
    python3 -m venv venv

  1. Activate the virtual environment:

    • On Linux or maxOS:
        source venv/bin/activate
    
    • On Windows:
        venv\Scripts\activate
    
  2. Install dependencies:

    pip install -r requirements.txt

  1. Configure the environment variables:
  • Create a .env file in the root directory of the project.

  • Define the necessary environment variables, such as the OpenAI and Eleven Labs API keys.

    For example:

     OPEN_AI_KEY=<your OpenAI API key>
     OPEN_AI_ORG=<your OpenAI organisation string>
     ELEVEN_LABS_API_KEY=<your Eleven Labs API key>
    

    Replace <your OpenAI API key>, <your OpenAI organisation string> and <your Eleven Labs API key> with your actual OpenAI API key, OpenAI organisation string and Eleven Labs API key respectively.

  1. Start the development server:
    uvicorn main:app

Frontend

  1. Install dependencies:
    cd client
    npm install
  1. Start the development server:
    npm run dev

Folder Structure

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to submit a pull request.

License

This project is licensed under the MIT License.

chat-pal's People

Contributors

samowusu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.