Copper AI is a Voice to Voice Web Application that leverages the latest LLM Technologies to deliver a hands free user experience.
- Problem Statement
- Idea / Solution
- Dependencies / Limitations
- Future Scope
- Getting Started
- Usage
- Technology Stack
- Authors
- Acknowledgments
- Contribute
Professionals across various fields often confront unfamiliar or intricate situations, leading to inefficiencies and reduced customer satisfaction. Traditional solutions can be cumbersome, especially when professionals need hands-on interaction.
CopperAI offers a hands-free, voice-to-voice interaction system with a Large Language Model (LLM). Using voice commands, professionals can get instant guidance, troubleshooting steps, or relevant information without diverting their attention. Features:
- Fully voiced, hands free interaction.
- Persistent, multi user Vector based memory.
- The Ability to ingest and interact with custom documents, or even books.
- The ability to adjust its persona and response type based on user profile and professional aptitude.
- Dependencies: Next.js, OpenAI, LangChain, Pinecone, MongoDB, Google Cloud Text-to-Speech, ElevenLabs and more.
- Limitations: Potential limitations could relate to the accuracy of voice recognition, the need for an active internet connection
Future enhancements could include integrating more advanced LLMs, expanding voice command capabilities, and supporting additional languages.
These instructions will guide you on setting up CopperAI on your local machine for development.
- Ensure you have Node.js, MongoDB, and other related dependencies installed.
- Copy your .env.public file to .env.local and populate environment variables.
# Main
NEXT_PUBLIC_AUDIO_DB_SENSITIVITY='-55'
# OpenAI
NEXT_PUBLIC_OPENAI_API_MODEL=
NEXT_PUBLIC_OPENAI_API_KEY=
# Auth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET='secret'
GITHUB_ID=
GITHUB_SECRET=
GOOGLE_ID=
GOOGLE_SECRET=
# TTS - google | elevenlabs
NEXT_PUBLIC_TTS_PROVIDER="google"
# Google Cloud TTS
NEXT_PUBLIC_GOOGLE_CLOUD_TTS_ENCODING=MP3
NEXT_PUBLIC_GOOGLE_CLOUD_TTS_CLIENT_EMAIL=
NEXT_PUBLIC_GOOGLE_CLOUD_TTS_API_KEY=
# Eleven Labs TTS
NEXT_PUBLIC_ELEVENLABS_TTS_API_KEY=
NEXT_PUBLIC_ELEVENLABS_TTS_VOICE_ID_IRIS=
NEXT_PUBLIC_ELEVENLABS_TTS_VOICE_ID_JUDE=
# MongoDB
MONGODB_URI="mongodb+srv://<username>:<password>@<collection>.mongodb.net/?retryWrites=true&w=majority"
# Pinecone
NEXT_PUBLIC_PINECONE_API_KEY=
NEXT_PUBLIC_PINECONE_ENVIRONMENT=
NEXT_PUBLIC_PINECONE_NAMESPACE=
NEXT_PUBLIC_PINECONE_INDEX=
NEXT_PUBLIC_PINECONE_SIMILARITY_CUTOFF=0.75
NEXT_PUBLIC_PINECONE_TOPK=5
# Langchain
NEXT_PUBLIC_LANGCHAIN_ENABLED="false"
NEXT_PUBLIC_LANGCHAIN_CHUNK_SIZE=1000
NEXT_PUBLIC_LANGCHAIN_OVERLAP_SIZE=0.2
NEXT_PUBLIC_USE_CHAT_HISTORY="false"
NEXT_PUBLIC_USE_CHAT_TEMPERATURE=0
NEXT_PUBLIC_USE_DOC_TEMPERATURE=0
NEXT_PUBLIC_RETURN_SOURCE_DOCS="true"
# Speechly Polyfill
NEXT_PUBLIC_SPEECHLY_APP_ID=
# File Upload
TMP_DIR="tmp"
Clone the repository and install the required packages.
git clone https://github.com/athrael-soju/CopperAI.git
cd CopperAI
npm install
After setting up, run npm run dev
to launch the application. Visit http://localhost:3000
to access CopperAI.
Alternatively:
- Run docker-compose up --build -d for a local container
- Deploy the app on Vercel viat github.
- Next.js - Web Framework
- Docker - Containerization and deployment.
- NodeJs - Backend, utilized by Next.js.
- OpenAI API - ChatGPT model integration for chatbot functionality.
- Google TTS - Converts text into natural-sounding speech in a variety of languages and voices.
- Eleven Labs TTS - Generative AI Text to Speech & Voice Cloning
- Langchain - Framework for developing applications powered by language models.
- MongoDB Atlas - Cloud Database
- @athrael-soju - Idea & Initial work
This is a Next.js project bootstrapped with create-next-app
.
- Fork the repo
- Make your changes
- Submit a pull request
- I'll review it and merge it