This Python GUI program allows users to interact with ChatGPT, Claude, Gemini, Grok, and Perplexity. You can ask ChatGPT, Claude, and Gemini to capture and analyze images from two connected cameras. As ChatGPT, Claude, Gemini, and Grok lack built-in online search capabilities, Perplexity has been integrated for this function. The system can call on Perplexity for support when necessary, not only for interaction but also for search tasks.
The program enables these AI models to request an online search by generating {"Online Search": "xxxx"}. This command prompts Perplexity to perform the search and relay the results back to the requesting AI. Additionally, the models can interact with the cameras using the command {"Camera": "1 or 2"}.
- Create a file named
openai_key.txtin the project directory and paste your OpenAI API key into it. - Create a file named
anthropic_key.txtfor Claude and add your API key. - For Gemini, create
google_key.txtand paste the API key into it. - For Perplexity, create
perplexity_key.txtand include the API key.
(Use --break-system-packages if not using a virtual environment)
pip install -r requirements.txtTo use the exact package versions:
pip install -r requirements_fix.txtFor Debian/Ubuntu systems, run the following:
sudo apt-get update
sudo apt-get install -y \
python3-tk \
portaudio19-dev \
python3-pil.imagetkTo start the program, use the command:
python main.py- Raspberry Pi 5
- Recommended for dual-camera usage.
- Alternatively, a Raspberry Pi 4 can be used with a USB camera, or the code can be modified for single-camera use.
- HDMI Output
- Audio Device
- USB-to-speaker + MIC dongle or separate audio input/output dongles.
- Compatible audio shields or gloves can also be used.
Color rendering issues with both camera outputs.- Basic GUI design that may impact user experience.
- Keyboard shortcuts do not work when the input box is focused.
Incomplete package list.
v0.5.0: Fully functional chat interface supporting only ChatGPT.
- OpenAI:
gpt-4o-mini,gpt-4o - Claude:
claude-3-5-sonnet-20241022 - Gemini:
gemini-1.5-flash - Grok:
grok-demo(Released Nov 4, 2024; image support to be released. No additional Python libraries required.) - Perplexity:
llama-3.1-sonar-large-128k-online