8000 GitHub - hyun-yang/MyChatGPT: The ultimate PyQt6 application that integrates the power of OpenAI, Google Gemini, Claude, and other open-source AI models
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

The ultimate PyQt6 application that integrates the power of OpenAI, Google Gemini, Claude, and other open-source AI models

License

Notifications You must be signed in to change notification settings

hyun-yang/MyChatGPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyChatGPT

The ultimate PyQt6 application featuring the power of OpenAI, Google Gemini, Claude, and various open-source AI models.

It delivers outstanding capabilities for Chat, Image, Vision, Text-To-Speech(TTS) and Speech-To-Text(STT).

Prerequisites

Before you begin, ensure you have met the following requirements:

  1. Python:

    Make sure you have Python 3.10 or later installed. You can download it from the official Python website.

  python --version
  1. pip:

    Ensure you have pip installed, which is the package installer for Python.

  2. Git:

    Ensure you have Git installed for version control. You can download it from the official Git website.

  3. Virtual Environment:

    It is recommended to use a virtual environment to manage your project dependencies.

    You can create a virtual environment using venv:

  python -m venv venv
  source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  1. IDE/Code Editor:

    Use an IDE or code editor of your choice. Popular options include PyCharm, VSCode, and Eclipse.

  2. PlantUML:

    PlantUML is used for generating UML diagrams.

    Download PlantUML from the official PlantUML website or PyCharm plugin, Xcode extension.

Quick Install

  1. Clone repository
git clone https://github.com/hyun-yang/MyChatGPT.git
  1. With pip:
pip install -r requirements.txt

Or virtual environment(venv), use this command

python -m pip install -r requirements.txt
  1. Run main.py
python main.py
  1. Configure API Key

    • Open 'Setting' menu and set API key.
    • For Ollama, you can use any key and need to install Ollama and download model you want to use.
  2. Re-run main.py

python main.py

Quick Demo

MyChatGPT Demo-ENG

MyChatGPT Demo-KOR

Requirements

  • Python version >= 3.10
  • PyQt6
  • API Key (OpenAI, Google Gemini, Claude)

Feature

  • Support OpenAI, Google Gemini, Claude
  • Support Open-source AI models using Ollama library
  • Support Chat, Image, Vision, TTS, and STT generation

Claude/Ollama Model List

Claude and Ollama currently do not have a method to retrieve the list of supported models, so you need to open the settings.ini file and add them manually as shown below.

If you are using Ollama, make sure to check the following three things:

  1. Install Ollama.
  2. Download the model you wish to use.
  3. Open the settings.ini file and add the name of the model.
Open 'settings.ini' file then add model list.

...
[Claude_Model_List]
claude-3-5-sonnet-20240620=true
claude-3-opus-20240229=true
claude-3-sonnet-20240229=true
claude-3-haiku-20240307=true

[Ollama_Model_List]
llama3.1=true
gemma2=true
gemma2:27b=true
codegemma=true
...

Create executable file

pyinstaller --add-data "ico/*.svg:ico" --add-data "ico/*.png:ico" --add-data "splash/pyqt-small.png:splash" --icon="ico/app.ico" --windowed --onefile main.py

Icon issue

After generating the executable file on Windows, if the icon of the executable is not displayed correctly, please rename the executable to ensure that the icon is displayed properly.

Screenshots

  • First Run

first-run-screenshot

  • Setting setting_screenshot

  • Chat chat_screenshot

  • Image image_screenshot

  • Vision vision_screenshot

  • TTS tts_screenshot

  • STT stt_screenshot

  • Claude Model List (You need to manually add models) claude_model_list_screenshot

  • Ollama Model List (You need to manually add models and make sure to download the model you wish to use beforehand) ollama_model_list_screenshot

UML Diagram

  • Main Class Diagram main_class_screenshot_small

  • Main Sequence Diagram main_sequence_screenshot_small

Known Issue

Ubuntu Issue

If you encounter the error message below while running/debugging the program on the Ubuntu operating system, please resolve it as described in the [Fix] section

qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.

This application failed to start because no Qt platform plugin could be initialized.

Reinstalling the application may fix this problem.

Fix

Install following library then re-run it

sudo apt-get install -y libxcb-cursor-dev

Segment fault error issue - Ubuntu

If you encounter the error message above when closing the app - Ubuntu and Mac

Fix

Use pyinstaller==6.5.0

Refer requirements.txt

Related links

PyQT6.5.X fails with to start on macOS (segmentation fault)

Segment fault when packed with pyinstaller on linux

check_gcp_environment_no_op.cc:29] ALTS: Platforms other than Linux and Windows are not supported issue - Mac

If you encounter the error message above when closing the app - Ubuntu and Mac

Fix

Use grpcio==1.64.1

Refer requirements.txt

Related links

Suppress logs with google.cloud.workflows client instantiation

License

Distributed under the MIT License.

About

The ultimate PyQt6 application that integrates the power of OpenAI, Google Gemini, Claude, and other open-source AI models

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0