Convert Figma logo to code with AI

GaiZhenbiao logoChuanhuChatGPT

GUI for ChatGPT API and many LLMs. Supports agents, file-based QA, GPT finetuning and query with web search. All with a neat UI.

15,141
2,283
15,141
119

Top Related Projects

52,188

🔮 ChatGPT Desktop Application (Mac, Windows and Linux)

用 Express 和 Vue3 搭建的 ChatGPT 演示网页

A cross-platform ChatGPT/Gemini UI (Web / PWA / Linux / Win / MacOS). 一键拥有你自己的跨平台 ChatGPT/Gemini 应用。

Minimal web UI for ChatGPT.

Quick Overview

ChuanhuChatGPT is an open-source ChatGPT API-based web application that provides a user-friendly interface for interacting with various language models. It supports multiple APIs, including OpenAI's GPT models, Claude, and others, offering a versatile platform for natural language processing tasks.

Pros

  • Supports multiple language models and APIs, providing flexibility for users
  • User-friendly interface with features like conversation history and model switching
  • Actively maintained with frequent updates and improvements
  • Offers both web-based and local deployment options

Cons

  • Requires API keys for most supported models, which may involve costs
  • Some advanced features may require technical knowledge to set up and use
  • Performance may vary depending on the chosen model and API

Getting Started

To get started with ChuanhuChatGPT:

  1. Clone the repository:

    git clone https://github.com/GaiZhenbiao/ChuanhuChatGPT.git
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Set up your API keys in the config.json file.

  4. Run the application:

    python ChuanhuChatbot.py
    
  5. Access the web interface at http://localhost:7860 in your browser.

Competitor Comparisons

52,188

🔮 ChatGPT Desktop Application (Mac, Windows and Linux)

Pros of ChatGPT

  • Cross-platform desktop application (Windows, macOS, Linux)
  • Offers a more native desktop experience with system integrations
  • Includes features like prompt library and export options

Cons of ChatGPT

  • Requires installation and updates
  • May have higher resource usage compared to web-based alternatives
  • Limited customization options for the chat interface

Code Comparison

While both projects are different in nature (ChuanhuChatGPT being a web-based interface and ChatGPT a desktop application), we can compare some configuration aspects:

ChuanhuChatGPT (config.json):

{
  "default_model": "gpt-3.5-turbo",
  "api_key": "",
  "language": "en",
  "theme": "light"
}

ChatGPT (settings.json):

{
  "openAIKey": "",
  "model": "gpt-3.5-turbo",
  "temperature": 0.7,
  "maxTokens": 2000
}

Both projects allow configuration of API keys and model selection, but ChatGPT includes additional parameters like temperature and max tokens, offering more fine-grained control over the AI responses.

用 Express 和 Vue3 搭建的 ChatGPT 演示网页

Pros of chatgpt-web

  • Sleek and modern user interface with a responsive design
  • Built with Vue3 and TypeScript, offering better performance and type safety
  • Supports multiple API endpoints and custom API keys

Cons of chatgpt-web

  • Limited features compared to ChuanhuChatGPT (e.g., no file uploads or audio input)
  • Less active community and fewer contributors
  • Lacks advanced customization options for model parameters

Code Comparison

ChuanhuChatGPT (Python):

def predict(self, inputs, chatbot, stream=False, use_websearch=False, files=None, reply_language=""):
    # Implementation details

chatgpt-web (TypeScript):

const fetchChatAPIProcess = async (
  prompt: string,
  options?: { conversationId?: string; parentMessageId?: string },
): Promise<ChatMessage> => {
  // Implementation details
}

The code snippets show that ChuanhuChatGPT uses Python and offers more parameters for customization, while chatgpt-web uses TypeScript and focuses on a simpler API interaction. ChuanhuChatGPT's implementation includes features like websearch and file handling, which are not present in the chatgpt-web example.

A cross-platform ChatGPT/Gemini UI (Web / PWA / Linux / Win / MacOS). 一键拥有你自己的跨平台 ChatGPT/Gemini 应用。

Pros of ChatGPT-Next-Web

  • More modern and visually appealing user interface
  • Built with Next.js, offering better performance and SEO capabilities
  • Supports multiple languages out of the box

Cons of ChatGPT-Next-Web

  • Less extensive documentation compared to ChuanhuChatGPT
  • Fewer customization options for advanced users
  • Limited integration with external tools and services

Code Comparison

ChuanhuChatGPT (Python):

def chat_one(self, inputs, history, max_length, top_p, temperature, zhishiku=False):
    response, history = self.model.chat(self.tokenizer, inputs, history=history)
    return response, history

ChatGPT-Next-Web (TypeScript):

export async function chat(messages: Message[], options?: ChatOptions) {
  const response = await fetch("/api/chat", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ messages, options }),
  });
  return response.json();
}

The code snippets show different approaches to handling chat functionality. ChuanhuChatGPT uses a Python-based model and tokenizer, while ChatGPT-Next-Web employs a TypeScript-based API call. This reflects the different tech stacks and architectures of the two projects.

Minimal web UI for ChatGPT.

Pros of chatgpt-demo

  • Lightweight and easy to deploy, with a simple and clean user interface
  • Built with modern web technologies (Vue 3, Vite) for better performance
  • Supports multiple API providers (OpenAI, Azure, Claude)

Cons of chatgpt-demo

  • Limited features compared to ChuanhuChatGPT (e.g., no file uploads or audio input)
  • Less customization options for appearance and functionality
  • Smaller community and fewer contributors

Code Comparison

ChuanhuChatGPT (Python):

def predict(self, inputs, chatbot, stream=False, use_websearch=False, files=None, reply_language=""):
    # ... (implementation details)

chatgpt-demo (TypeScript):

const onSubmit = async () => {
  if (loading) return
  const inputValue = prompt.trim()
  if (!inputValue) return
  // ... (implementation details)
}

ChuanhuChatGPT offers more advanced features like websearch and file handling, while chatgpt-demo focuses on a streamlined chat experience. ChuanhuChatGPT is built with Python and Gradio, making it more suitable for data science and machine learning applications. In contrast, chatgpt-demo uses modern web technologies, making it easier to integrate into existing web applications and deploy as a standalone chat interface.

Pros of TaskMatrix

  • Focuses on multi-modal AI tasks, integrating vision and language models
  • Implements a flexible task planning system for complex problem-solving
  • Supports a wider range of AI capabilities, including image generation and analysis

Cons of TaskMatrix

  • Less user-friendly interface compared to ChuanhuChatGPT's web-based UI
  • Requires more setup and configuration for different tasks
  • May have a steeper learning curve for non-technical users

Code Comparison

TaskMatrix (Python):

def plan_and_execute(task):
    plan = task_planner.generate_plan(task)
    for step in plan:
        result = execute_step(step)
    return result

ChuanhuChatGPT (JavaScript):

async function sendMessage(message) {
    const response = await fetch('/api/chat', {
        method: 'POST',
        body: JSON.stringify({ message })
    });
    return response.json();
}

TaskMatrix focuses on complex task planning and execution across multiple AI modalities, while ChuanhuChatGPT provides a more straightforward chat interface for interacting with language models. TaskMatrix offers greater flexibility for advanced AI tasks but may be more challenging to set up and use for beginners. ChuanhuChatGPT, on the other hand, provides a more accessible web-based interface for general chatbot interactions.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

简体中文 | English | 日本語 | Russian | 한국어

川虎 Chat 🐯 Chuanhu Chat

Logo

为ChatGPT等多种LLM提供了一个轻快好用的Web图形界面和众多附加功能

Tests Passing GitHub Contributors GitHub pull requests

支持 GPT-4 · 基于文件问答 · LLM本地部署 · 联网搜索 · Agent 助理 · 支持 Fine-tune

视频教程 · 2.0介绍视频 || 在线体验 · 一键部署

Video Title

目录

支持模型使用技巧安装方式常见问题给作者买可乐🥤加入Telegram群组

✨ 5.0 重磅更新!

ChuanhuChat5更新

New! 全新的用户界面!精致得不像 Gradio,甚至有毛玻璃效果!

New! 适配了移动端(包括全面屏手机的挖孔/刘海),层级更加清晰。

New! 历史记录移到左侧,使用更加方便。并且支持搜索(支持正则)、删除、重命名。

New! 现在可以让大模型自动命名历史记录(需在设置或配置文件中开启)。

New! 现在可以将 川虎Chat 作为 PWA 应用程序安装,体验更加原生!支持 Chrome/Edge/Safari 等浏览器。

New! 图标适配各个平台,看起来更舒服。

New! 支持 Finetune(微调) GPT 3.5!

支持模型

API 调用模型备注本地部署模型备注
ChatGPT(GPT-4、GPT-4o)支持微调 gpt-3.5ChatGLM (ChatGLM2) (ChatGLM3)
Azure OpenAILLaMA支持 Lora 模型 
Google Gemini ProStableLM
讯飞星火认知大模型MOSS
Inspur Yuan 1.0通义千问
MiniMax
XMChat不支持流式传输
Midjourney不支持流式传输
Claude✨ 现已支持Claude 3 Opus、Sonnet,Haiku将会在推出后的第一时间支持
DALL·E 3

使用技巧

💪 强力功能

  • 川虎助理:类似 AutoGPT,全自动解决你的问题;
  • **在线搜索**:ChatGPT 的数据太旧?给 LLM 插上网络的翅膀;
  • 知识库:让 ChatGPT 帮你量子速读!根据文件回答问题。
  • 本地部署LLM:一键部署,获取属于你自己的大语言模型。
  • GPT 3.5微调:支持微调 GPT 3.5,让 ChatGPT 更加个性化。
  • **自定义模型**:灵活地自定义模型,例如对接本地推理服务。

🤖 System Prompt

  • 通过 System Prompt 设定前提条件,可以很有效地进行角色扮演;
  • 川虎Chat 预设了Prompt模板,点击加载Prompt模板,先选择 Prompt 模板集合,然后在下方选择想要的 Prompt。

💬 基础对话

  • 如果回答不满意,可以使用 重新生成 按钮再试一次,或者直接 删除这轮对话;
  • 输入框支持换行,按 Shift + Enter即可;
  • 在输入框按 ↑ ↓ 方向键,可以在发送记录中快速切换;
  • 每次新建一个对话太麻烦,试试 单论对话 功能;
  • 回答气泡旁边的小按钮,不仅能 一键复制,还能 查看Markdown原文;
  • 指定回答语言,让 ChatGPT 固定以某种语言回答。

📜 对话历史

  • 对话历史记录会被自动保存,不用担心问完之后找不到了;
  • 多用户历史记录隔离,除了你都看不到;
  • 重命名历史记录,方便日后查找;
  • New! 魔法般自动命名历史记录,让 LLM 理解对话内容,帮你自动为历史记录命名!
  • New! 搜索历史记录,支持正则表达式!

🖼️ 小而美的体验

  • 自研 Small-and-Beautiful 主题,带给你小而美的体验;
  • 自动亮暗色切换,给你从早到晚的舒适体验;
  • 完美渲染 LaTeX / 表格 / 代码块,支持代码高亮;
  • New! 非线性动画、毛玻璃效果,精致得不像 Gradio!
  • New! 适配 Windows / macOS / Linux / iOS / Android,从图标到全面屏适配,给你最合适的体验!
  • New! 支持以 PWA应用程序 安装,体验更加原生!

👨‍💻 极客功能

  • New! 支持 Fine-tune(微调)gpt-3.5!
  • 大量 LLM 参数可调;
  • 支持更换 api-host;
  • 支持自定义代理;
  • 支持多 api-key 负载均衡。

⚒️ 部署相关

  • 部署到服务器:在 config.json 中设置 "server_name": "0.0.0.0", "server_port": <你的端口号>,。
  • 获取公共链接:在 config.json 中设置 "share": true,。注意程序必须在运行,才能通过公共链接访问。
  • 在Hugging Face上使用:建议在右上角 复制Space 再使用,这样App反应可能会快一点。

快速上手

在终端执行以下命令:

git clone https://github.com/GaiZhenbiao/ChuanhuChatGPT.git
cd ChuanhuChatGPT
pip install -r requirements.txt

然后,在项目文件夹中复制一份 config_example.json,并将其重命名为 config.json,在其中填入 API-Key 等设置。

python ChuanhuChatbot.py

一个浏览器窗口将会自动打开,此时您将可以使用 川虎Chat 与ChatGPT或其他模型进行对话。

Note

具体详尽的安装教程和使用教程请查看本项目的wiki页面。

疑难杂症解决

在遇到各种问题查阅相关信息前,您可以先尝试 手动拉取本项目的最新更改1 并 **更新依赖库2**,然后重试。步骤为:

  1. 点击网页上的 Download ZIP 按钮,下载最新代码并解压覆盖,或
    git pull https://github.com/GaiZhenbiao/ChuanhuChatGPT.git main -f
    
  2. 尝试再次安装依赖(可能本项目引入了新的依赖)
    pip install -r requirements.txt
    

很多时候,这样就可以解决问题。

如果问题仍然存在,请查阅该页面:常见问题

该页面列出了几乎所有您可能遇到的各种问题,包括如何配置代理,以及遇到问题后您该采取的措施,**请务必认真阅读**。

了解更多

若需了解更多信息,请查看我们的 wiki:

Starchart

Star History Chart

Contributors

捐款

🐯如果觉得这个软件对你有所帮助,欢迎请作者喝可乐、喝咖啡~

联系作者:请去我的bilibili账号私信我。

Buy Me A Coffee

image