? Bavarder Nio
? Solution commerciale unique AIGC de nouvelle génération
"Chat Nio > Web suivant + Une API"
Anglais · 简体中文 · Site officiel · Communauté · Ressources pour les développeurs
? Caractéristiques
- ?️ Prise en charge des modèles riches : prise en charge des fournisseurs de services multi-modèles (OpenAI / Anthropic / Gemini / Midjourney et plus de dix formats compatibles et prise en charge LLM privée)
- ? Belle conception d'interface utilisateur : interface utilisateur compatible avec PC / Pad / Mobile, suivant les normes de conception Shadcn UI et Tremor Charts, conception d'interface riche et belle et tableau de bord backend
- ? Prise en charge complète de Markdown : prise en charge des formules LaTeX / cartes mentales Mermaid / rendu de tableaux / mise en évidence de code / dessin de graphiques / barres de progression et autres prises en charge avancées de la syntaxe Markdown
- ? Prise en charge multithème : prise en charge de plusieurs changements de thème, y compris le mode clair pour les thèmes clairs et le mode sombre pour les thèmes sombres. ? Schéma de couleurs personnalisé
- ? Prise en charge de l'internationalisation : Prise en charge de l'internationalisation, commutation multilingue ?? ?? ?? ?? ? Bienvenue pour contribuer aux traductions Pull Request
- ? Prise en charge du texte vers l'image : Prise en charge de plusieurs modèles de texte vers l'image : OpenAI DALL-E ✅ & Midjourney (prise en charge des opérations U/V/R )✅ & Stable Diffusion✅ etc.
- ? Synchronisation de conversation puissante : prise en charge de la synchronisation des conversations entre appareils à coût nul pour les utilisateurs , prise en charge du partage de conversations (partage de liens et enregistrement sous forme d'image et gestion des partages), pas besoin de WebDav / WebRTC et d'autres dépendances et coûts d'apprentissage complexes
- ? Marché des modèles et système prédéfini : prise en charge du marché des modèles personnalisable dans le backend, fournissant des introductions de modèles, des balises et d'autres paramètres. Les propriétaires de sites peuvent personnaliser les présentations de modèles en fonction de la situation. Prend également en charge un système de préréglages, comprenant des préréglages personnalisés et des fonctions de synchronisation cloud .
- ? Analyse de fichiers riches : prête à l'emploi , prend en charge l'analyse de fichiers pour tous les modèles (analyse PDF / Docx / Pptx / Excel / formats d'image), prend en charge davantage de solutions de stockage d'images dans le cloud (S3 / R2 / MinIO, etc.), prend en charge l'OCR reconnaissance d'images ? Voir le projet Chat Nio Blob Service pour plus de détails (prend en charge le déploiement en un clic Vercel / Docker)
- ? Recherche Internet modèle complet : basé sur le moteur open source SearXNG, prend en charge les moteurs de recherche riches tels que Google / Bing / DuckDuckGo / Yahoo / Wikipedia / Arxiv / Qwant, prend en charge le mode de recherche sécurisé, la troncature de contenu, le proxy d'image, la disponibilité de la recherche de test et d'autres fonctions.
- ? Progressive Web App (PWA) : prend en charge les applications PWA et le support de bureau (bureau basé sur Tauri)
- ? Gestion complète du backend : prend en charge un tableau de bord magnifique et riche, la gestion des annonces et des notifications, la gestion des utilisateurs, la gestion des abonnements, la gestion des codes cadeaux et des codes d'échange, la définition des prix, les paramètres d'abonnement, le marché des modèles personnalisés, le nom et le logo du site personnalisés, les paramètres de messagerie SMTP, etc. fonctions
- ? Plusieurs méthodes de facturation : prend en charge ? Abonnement et ? Elastic Billing deux méthodes de facturation. La facturation élastique prend en charge la facturation par demande/la facturation par jeton/l'absence de facturation/les appels anonymes, la détection des points de demande minimum et d'autres fonctionnalités puissantes.
- ? Mise en cache de modèle innovante : prend en charge l'activation de la mise en cache de modèle : c'est-à-dire que sous le même hachage de paramètre de requête, s'il a été demandé auparavant, il renverra directement le résultat mis en cache (l'accès au cache ne sera pas facturé), réduisant ainsi le nombre de requêtes. Vous pouvez personnaliser la mise en cache des modèles, la durée du cache, plusieurs numéros de résultats de cache et d'autres paramètres de cache avancés.
- ? Fonctionnalités supplémentaires (support interrompu) : ? Fonction de générateur de projet IA /? Fonction de génération d'articles par lots /? Fonction de carte AI (obsolète)
- ? Excellente gestion des canaux : excellent algorithme de canal auto-écrit, prend en charge ⚡ la gestion multicanal , prend en charge ? réglage de la priorité pour l'ordre des appels de canal, prend en charge ? réglage du poids pour la distribution de probabilité d'équilibrage de charge des canaux avec la même priorité, prend en charge ? regroupement d'utilisateurs , ? nouvelle tentative automatique en cas d'échec , ? redirection du modèle , ? Masquage intégré en amont , ? gestion de l'état des canaux et autres fonctions puissantes au niveau de l'entreprise
- ⭐ Système de distribution et proxy OpenAI API : prend en charge l'appel de divers grands modèles au format standard OpenAI API , intègre de puissantes fonctions de gestion des canaux, n'a besoin que de déployer un seul site pour réaliser le développement simultané des activités B/C end ?
- ? Synchronisation rapide en amont : les paramètres de canal, le marché modèle, les paramètres de prix et d'autres paramètres peuvent rapidement se synchroniser avec les sites en amont, modifier la configuration de votre site en fonction de cela, créer rapidement votre site, économiser du temps et des efforts, synchronisation en un clic, lancement rapide
- ? Optimisation SEO : prend en charge l'optimisation SEO, prend en charge le nom de site personnalisé, le logo du site et d'autres paramètres d'optimisation SEO pour accélérer l'exploration des moteurs de recherche et permettre à votre site de se démarquer ?
- ? Systèmes de codes d'échange multiples : prend en charge plusieurs systèmes de codes d'échange, prend en charge les codes cadeaux et les codes d'échange, prend en charge la génération de lots, les codes cadeaux conviennent à la distribution promotionnelle, les codes d'échange conviennent aux ventes par carte, pour les codes cadeaux d'un type, un utilisateur ne peut les échanger un seul code, ce qui réduit dans une certaine mesure la situation dans laquelle un utilisateur utilise plusieurs fois des promotions ?
- ? Licence adaptée aux entreprises : adopte la licence open source Apache-2.0 , conviviale pour le développement et la distribution secondaires commerciaux (veuillez également respecter les dispositions de la licence Apache-2.0, ne pas utiliser à des fins illégales)
✨ Chat Nio Entreprise
- ✅ Belle interface utilisateur de qualité commerciale, interface frontale élégante et gestion backend
- ✅ Prend en charge TTS & STT, le marché des plugins, la base de connaissances RAG et d'autres fonctionnalités et modules riches
- ✅ Plus de prestataires de paiement, plus de modèles de facturation et une gestion avancée des commandes
- ✅ Prend en charge davantage de méthodes d'authentification, notamment la connexion SMS, la connexion OAuth, etc.
- ✅ Prend en charge la surveillance du modèle, la détection de l'état des canaux, la commutation automatique des canaux avec alarme de défaut.
- ✅ Prend en charge le système de distribution de clés API multi-locataires, la gestion des autorisations de jetons au niveau de l'entreprise et les restrictions de visiteurs
- ✅ Prend en charge l'audit de sécurité, la journalisation, la limitation du débit de modèle, la passerelle API et d'autres fonctionnalités avancées
- ✅ Prend en charge les récompenses promotionnelles, les statistiques de données professionnelles, l'analyse du profil utilisateur et d'autres capacités d'analyse commerciale
- ✅ Prend en charge Discord/Telegram/Feishu et d'autres capacités d'intégration de robots (modules d'extension)
- ...
? Apprendre encore plus
? Modèles pris en charge
- OpenAI & Azure OpenAI (✅ Vision ✅ Appel de fonction)
- Anthropic Claude (✅Vision ✅Appel de Fonction)
- Google Gemini et PaLM2 (✅Vision)
- Mi-parcours (✅ Basculement de mode ✅ Actions U/V/R)
- iFlytek SparkDesk (✅ Vision ✅ Appel de fonction)
- Zhipu AI ChatGLM (✅Vision)
- Alibaba Tongyi Qwen
- Tencent Hunyuan
- IA Baichuan
- Moonshot AI (? OpenAI)
- IA DeepSeek (? OpenAI)
- ByteDance Skylark (✅ Appel de fonction)
- IA Groq Cloud
- OpenRouter (? OpenAI)
- 360 GPT
- LocalAI / Ollama (? OpenAI)
? Proxy API compatible OpenAI
? Déploiement
Conseil
Après un déploiement réussi, le compte administrateur est root
, avec le mot de passe par défaut chatnio123456
✨ Zeabur (un clic)
Zeabur fournit un certain quota gratuit, vous pouvez utiliser des régions non payantes pour un déploiement en un clic, et prend également en charge les abonnements aux forfaits et la facturation élastique pour une expansion flexible.
- Cliquez sur
Deploy
pour déployer et entrez le nom de domaine que vous souhaitez lier, attendez la fin du déploiement. - Une fois le déploiement terminé, veuillez visiter votre nom de domaine et vous connecter à la gestion backend en utilisant le nom d'utilisateur
root
et le mot de passe chatnio123456
. Veuillez suivre les instructions pour modifier le mot de passe dans le backend chatnio en temps opportun.
⚡ Installation de Docker Compose (recommandée)
Note
Après une exécution réussie, l'adresse de mappage de la machine hôte est http://localhost:8000
git clone --depth=1 --branch=main --single-branch https://github.com/Deeptrain-Community/chatnio.git
cd chatnio
docker-compose up -d # Run the service
# To use the stable version, use docker-compose -f docker-compose.stable.yaml up -d instead
# To use Watchtower for automatic updates, use docker-compose -f docker-compose.watch.yaml up -d instead
Mise à jour de la version ( si les mises à jour automatiques de Watchtower sont activées, les mises à jour manuelles ne sont pas nécessaires ) :
docker-compose down
docker-compose pull
docker-compose up -d
- Répertoire de montage de la base de données MySQL : ~/ db
- Répertoire de montage de la base de données Redis : ~/ redis
- Répertoire de montage du fichier de configuration : ~/ config
⚡ Installation Docker (runtime léger, couramment utilisé pour les services MYSQL/RDS externes)
Note
Après une exécution réussie, l'adresse de la machine hôte est http://localhost:8094
.
Pour utiliser la version stable, utilisez programzmh/chatnio:stable
au lieu de programzmh/chatnio:latest
docker run -d --name chatnio
--network host
-v ~ /config:/config
-v ~ /logs:/logs
-v ~ /storage:/storage
-e MYSQL_HOST=localhost
-e MYSQL_PORT=3306
-e MYSQL_DB=chatnio
-e MYSQL_USER=root
-e MYSQL_PASSWORD=chatnio123456
-e REDIS_HOST=localhost
-e REDIS_PORT=6379
-e SECRET=secret
-e SERVE_STATIC=true
programzmh/chatnio:latest
- --network host signifie utiliser le réseau de la machine hôte, permettant au conteneur Docker d'utiliser le réseau de l'hôte. Vous pouvez modifier cela selon vos besoins.
- SECRET : clé secrète JWT, générer une chaîne aléatoire et modifier en conséquence
- SERVE_STATIC : s'il faut activer le service de fichiers statiques (normalement, cela n'a pas besoin d'être modifié, voir la FAQ ci-dessous pour plus de détails)
- -v ~/config:/config monte le fichier de configuration, -v ~/logs:/logs monte le répertoire de la machine hôte pour les fichiers journaux, -v ~/storage:/storage monte le répertoire pour les fichiers générés par des fonctionnalités supplémentaires
- Les services MySQL et Redis doivent être configurés. Veuillez vous référer aux informations ci-dessus pour modifier les variables d'environnement en conséquence
Mise à jour de la version ( Après avoir activé Watchtower, les mises à jour manuelles ne sont pas nécessaires. Après l'exécution, suivez les étapes ci-dessus pour exécuter à nouveau ) :
docker stop chatnio
docker rm chatnio
docker pull programzmh/chatnio:latest
⚒ Compiler et installer
Note
Après un déploiement réussi, le port par défaut est 8094 et l'adresse d'accès est http://localhost:8094
Les paramètres de configuration (~/config/ config.yaml ) peuvent être remplacés à l'aide de variables d'environnement. Par exemple, la variable d'environnement MYSQL_HOST
peut remplacer l'élément de configuration mysql.host
git clone https://github.com/Deeptrain-Community/chatnio.git
cd chatnio
cd app
npm install -g pnpm
pnpm install
pnpm build
cd ..
go build -o chatnio
# e.g. using nohup (you can also use systemd or other service manager)
nohup ./chatnio > output.log & # using nohup to run in background
? Pile technologique
- ? Frontend : React + Redux + Radix UI + Tailwind CSS
- ? Backend : Golang + Gin + Redis + MySQL
- ? Technologie applicative : PWA + WebSocket
? Pourquoi créer ce projet et avantages du projet
Nous avons constaté que la plupart des sites commerciaux AIGC sur le marché sont des projets de déploiement légers orientés front-end avec de belles interfaces utilisateur, telles que la version commerciale de Next Chat. En raison de sa conception personnelle orientée vers la privatisation, le développement commercial secondaire présente certaines limites, posant certains problèmes, tels que :
- Synchronisation difficile des conversations , par exemple, nécessitant des services comme WebDav, des coûts d'apprentissage élevés pour les utilisateurs et des difficultés de synchronisation multi-appareils en temps réel.
- Facturation insuffisante , par exemple, ne prenant en charge qu'une facturation élastique ou uniquement basée sur un abonnement, incapable de répondre aux besoins des différents utilisateurs.
- Analyse de fichiers peu pratique , par exemple, ne prenant en charge que le téléchargement d'images vers un service d'hébergement d'images, puis le retour au site pour saisir le lien direct URL dans la zone de saisie, sans fonctionnalité d'analyse de fichiers intégrée.
- Aucune prise en charge du partage d'URL de conversation , par exemple, prise en charge uniquement du partage de captures d'écran de conversation, impossibilité de prendre en charge le partage d'URL de conversation (ou prise en charge uniquement d'outils tels que ShareGPT, qui ne peuvent pas promouvoir le site).
- Gestion des canaux insuffisante , par exemple, le backend ne prend en charge que les canaux au format OpenAI, ce qui rend difficile la compatibilité avec d'autres canaux au format. Et un seul canal peut être renseigné, incapable de prendre en charge la gestion multicanal.
- Aucune prise en charge des appels API , par exemple, prise en charge uniquement des appels d'interface utilisateur, impossible de prendre en charge le proxy et la gestion de l'API.
Un autre type est celui des sites orientés distribution d'API dotés de systèmes de distribution puissants, tels que les projets basés sur One API. Bien que ces projets prennent en charge un proxy et une gestion puissants d'API, ils manquent de conception d'interface et de certaines fonctionnalités C-end, telles que :
- Interface utilisateur insuffisante , par exemple, ne prenant en charge que les appels API, sans chat d'interface utilisateur intégré. Le chat de l'interface utilisateur nécessite de copier manuellement la clé et d'accéder à d'autres sites pour l'utiliser, ce qui entraîne un coût d'apprentissage élevé pour les utilisateurs ordinaires.
- Aucun système d'abonnement , par exemple, ne prend en charge qu'une facturation élastique, manque de conception de facturation pour les utilisateurs finaux C, est incapable de répondre aux différents besoins des utilisateurs et n'est pas convivial en termes de perception des coûts pour les utilisateurs sans fondation.
- Fonctionnalités C-end insuffisantes , par exemple, prenant uniquement en charge les appels d'API, ne prenant pas en charge la synchronisation des conversations, le partage de conversations, l'analyse de fichiers et d'autres fonctions.
- Équilibrage de charge insuffisant , la version open source ne prend pas en charge le paramètre de poids , incapable d'obtenir une probabilité de répartition de charge équilibrée pour les canaux de même priorité (la nouvelle API résout également ce problème, avec une interface utilisateur plus belle).
Par conséquent, nous espérons combiner les avantages de ces deux types de projets pour créer un projet doté à la fois d'un système de distribution d'API puissant et d'une conception d'interface utilisateur riche, répondant ainsi aux besoins des utilisateurs C-end tout en développant les activités B-end, en améliorant expérience utilisateur, réduisant les coûts d'apprentissage des utilisateurs et augmentant la fidélité des utilisateurs.
Ainsi, Chat Nio est né. Nous espérons créer un projet doté à la fois d'un système de distribution d'API puissant et d'une conception d'interface utilisateur riche, devenant ainsi la solution commerciale unique du projet AIGC open source de nouvelle génération.
❤Dons
Si vous trouvez ce projet utile, vous pouvez lui donner une étoile pour montrer votre soutien !