|
| 1 | +<p align="right"> |
| 2 | + <a href="./README.md">中文</a> | <a href="./README.en.md">English</a> | <strong>Français</strong> |
| 3 | +</p> |
| 4 | +<div align="center"> |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +# New API |
| 9 | + |
| 10 | +🍥 Passerelle de modèles étendus de nouvelle génération et système de gestion d'actifs d'IA |
| 11 | + |
| 12 | +<a href="https://trendshift.io/repositories/8227" target="_blank"><img src="https://trendshift.io/api/badge/repositories/8227" alt="Calcium-Ion%2Fnew-api | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> |
| 13 | + |
| 14 | +<p align="center"> |
| 15 | + <a href="https://raw.githubusercontent.com/Calcium-Ion/new-api/main/LICENSE"> |
| 16 | + <img src="https://img.shields.io/github/license/Calcium-Ion/new-api?color=brightgreen" alt="licence"> |
| 17 | + </a> |
| 18 | + <a href="https://github.com/Calcium-Ion/new-api/releases/latest"> |
| 19 | + <img src="https://img.shields.io/github/v/release/Calcium-Ion/new-api?color=brightgreen&include_prereleases" alt="version"> |
| 20 | + </a> |
| 21 | + <a href="https://github.com/users/Calcium-Ion/packages/container/package/new-api"> |
| 22 | + <img src="https://img.shields.io/badge/docker-ghcr.io-blue" alt="docker"> |
| 23 | + </a> |
| 24 | + <a href="https://hub.docker.com/r/CalciumIon/new-api"> |
| 25 | + <img src="https://img.shields.io/badge/docker-dockerHub-blue" alt="docker"> |
| 26 | + </a> |
| 27 | + <a href="https://goreportcard.com/report/github.com/Calcium-Ion/new-api"> |
| 28 | + <img src="https://goreportcard.com/badge/github.com/Calcium-Ion/new-api" alt="GoReportCard"> |
| 29 | + </a> |
| 30 | +</p> |
| 31 | +</div> |
| 32 | + |
| 33 | +## 📝 Description du projet |
| 34 | + |
| 35 | +> [!NOTE] |
| 36 | +> Il s'agit d'un projet open-source développé sur la base de [One API](https://github.com/songquanpeng/one-api) |
| 37 | +
|
| 38 | +> [!IMPORTANT] |
| 39 | +> - Ce projet est uniquement destiné à des fins d'apprentissage personnel, sans garantie de stabilité ni de support technique. |
| 40 | +> - Les utilisateurs doivent se conformer aux [Conditions d'utilisation](https://openai.com/policies/terms-of-use) d'OpenAI et aux **lois et réglementations applicables**, et ne doivent pas l'utiliser à des fins illégales. |
| 41 | +> - Conformément aux [《Mesures provisoires pour la gestion des services d'intelligence artificielle générative》](http://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm), veuillez ne fournir aucun service d'IA générative non enregistré au public en Chine. |
| 42 | +
|
| 43 | +<h2>🤝 Partenaires de confiance</h2> |
| 44 | +<p id="premium-sponsors"> </p> |
| 45 | +<p align="center"><strong>Sans ordre particulier</strong></p> |
| 46 | +<p align="center"> |
| 47 | + <a href="https://www.cherry-ai.com/" target=_blank><img |
| 48 | + src="./docs/images/cherry-studio.png" alt="Cherry Studio" height="120" |
| 49 | + /></a> |
| 50 | + <a href="https://bda.pku.edu.cn/" target=_blank><img |
| 51 | + src="./docs/images/pku.png" alt="Université de Pékin" height="120" |
| 52 | + /></a> |
| 53 | + <a href="https://www.compshare.cn/?ytag=GPU_yy_gh_newapi" target=_blank><img |
| 54 | + src="./docs/images/ucloud.png" alt="UCloud" height="120" |
| 55 | + /></a> |
| 56 | + <a href="https://www.aliyun.com/" target=_blank><img |
| 57 | + src="./docs/images/aliyun.png" alt="Alibaba Cloud" height="120" |
| 58 | + /></a> |
| 59 | + <a href="https://io.net/" target=_blank><img |
| 60 | + src="./docs/images/io-net.png" alt="IO.NET" height="120" |
| 61 | + /></a> |
| 62 | +</p> |
| 63 | +<p> </p> |
| 64 | + |
| 65 | +## 📚 Documentation |
| 66 | + |
| 67 | +Pour une documentation détaillée, veuillez consulter notre Wiki officiel : [https://docs.newapi.pro/](https://docs.newapi.pro/) |
| 68 | + |
| 69 | +Vous pouvez également accéder au DeepWiki généré par l'IA : |
| 70 | +[](https://deepwiki.com/QuantumNous/new-api) |
| 71 | + |
| 72 | +## ✨ Fonctionnalités clés |
| 73 | + |
| 74 | +New API offre un large éventail de fonctionnalités, veuillez vous référer à [Présentation des fonctionnalités](https://docs.newapi.pro/wiki/features-introduction) pour plus de détails : |
| 75 | + |
| 76 | +1. 🎨 Nouvelle interface utilisateur |
| 77 | +2. 🌍 Prise en charge multilingue |
| 78 | +3. 💰 Fonctionnalité de recharge en ligne (YiPay) |
| 79 | +4. 🔍 Prise en charge de la recherche de quotas d'utilisation avec des clés (fonctionne avec [neko-api-key-tool](https://github.com/Calcium-Ion/neko-api-key-tool)) |
| 80 | +5. 🔄 Compatible avec la base de données originale de One API |
| 81 | +6. 💵 Prise en charge de la tarification des modèles de paiement à l'utilisation |
| 82 | +7. ⚖️ Prise en charge de la sélection aléatoire pondérée des canaux |
| 83 | +8. 📈 Tableau de bord des données (console) |
| 84 | +9. 🔒 Regroupement de jetons et restrictions de modèles |
| 85 | +10. 🤖 Prise en charge de plus de méthodes de connexion par autorisation (LinuxDO, Telegram, OIDC) |
| 86 | +11. 🔄 Prise en charge des modèles Rerank (Cohere et Jina), [Documentation de l'API](https://docs.newapi.pro/api/jinaai-rerank) |
| 87 | +12. ⚡ Prise en charge de l'API OpenAI Realtime (y compris les canaux Azure), [Documentation de l'API](https://docs.newapi.pro/api/openai-realtime) |
| 88 | +13. ⚡ Prise en charge du format Claude Messages, [Documentation de l'API](https://docs.newapi.pro/api/anthropic-chat) |
| 89 | +14. Prise en charge de l'accès à l'interface de discussion via la route /chat2link |
| 90 | +15. 🧠 Prise en charge de la définition de l'effort de raisonnement via les suffixes de nom de modèle : |
| 91 | + 1. Modèles de la série o d'OpenAI |
| 92 | + - Ajouter le suffixe `-high` pour un effort de raisonnement élevé (par exemple : `o3-mini-high`) |
| 93 | + - Ajouter le suffixe `-medium` pour un effort de raisonnement moyen (par exemple : `o3-mini-medium`) |
| 94 | + - Ajouter le suffixe `-low` pour un effort de raisonnement faible (par exemple : `o3-mini-low`) |
| 95 | + 2. Modèles de pensée de Claude |
| 96 | + - Ajouter le suffixe `-thinking` pour activer le mode de pensée (par exemple : `claude-3-7-sonnet-20250219-thinking`) |
| 97 | +16. 🔄 Fonctionnalité de la pensée au contenu |
| 98 | +17. 🔄 Limitation du débit du modèle pour les utilisateurs |
| 99 | +18. 💰 Prise en charge de la facturation du cache, qui permet de facturer à un ratio défini lorsque le cache est atteint : |
| 100 | + 1. Définir l'option `Ratio de cache d'invite` dans `Paramètres système->Paramètres de fonctionnement` |
| 101 | + 2. Définir le `Ratio de cache d'invite` dans le canal, plage de 0 à 1, par exemple, le définir sur 0,5 signifie facturer à 50 % lorsque le cache est atteint |
| 102 | + 3. Canaux pris en charge : |
| 103 | + - [x] OpenAI |
| 104 | + - [x] Azure |
| 105 | + - [x] DeepSeek |
| 106 | + - [x] Claude |
| 107 | + |
| 108 | +## Prise en charge des modèles |
| 109 | + |
| 110 | +Cette version prend en charge plusieurs modèles, veuillez vous référer à [Documentation de l'API-Interface de relais](https://docs.newapi.pro/api) pour plus de détails : |
| 111 | + |
| 112 | +1. Modèles tiers **gpts** (gpt-4-gizmo-*) |
| 113 | +2. Canal tiers [Midjourney-Proxy(Plus)](https://github.com/novicezk/midjourney-proxy), [Documentation de l'API](https://docs.newapi.pro/api/midjourney-proxy-image) |
| 114 | +3. Canal tiers [Suno API](https://github.com/Suno-API/Suno-API), [Documentation de l'API](https://docs.newapi.pro/api/suno-music) |
| 115 | +4. Canaux personnalisés, prenant en charge la saisie complète de l'adresse d'appel |
| 116 | +5. Modèles Rerank ([Cohere](https://cohere.ai/) et [Jina](https://jina.ai/)), [Documentation de l'API](https://docs.newapi.pro/api/jinaai-rerank) |
| 117 | +6. Format de messages Claude, [Documentation de l'API](https://docs.newapi.pro/api/anthropic-chat) |
| 118 | +7. Dify, ne prend actuellement en charge que chatflow |
| 119 | + |
| 120 | +## Configuration des variables d'environnement |
| 121 | + |
| 122 | +Pour des instructions de configuration détaillées, veuillez vous référer à [Guide d'installation-Configuration des variables d'environnement](https://docs.newapi.pro/installation/environment-variables) : |
| 123 | + |
| 124 | +- `GENERATE_DEFAULT_TOKEN` : S'il faut générer des jetons initiaux pour les utilisateurs nouvellement enregistrés, la valeur par défaut est `false` |
| 125 | +- `STREAMING_TIMEOUT` : Délai d'expiration de la réponse en streaming, la valeur par défaut est de 300 secondes |
| 126 | +- `DIFY_DEBUG` : S'il faut afficher les informations sur le flux de travail et les nœuds pour les canaux Dify, la valeur par défaut est `true` |
| 127 | +- `FORCE_STREAM_OPTION` : S'il faut remplacer le paramètre client stream_options, la valeur par défaut est `true` |
| 128 | +- `GET_MEDIA_TOKEN` : S'il faut compter les jetons d'image, la valeur par défaut est `true` |
| 129 | +- `GET_MEDIA_TOKEN_NOT_STREAM` : S'il faut compter les jetons d'image dans les cas sans streaming, la valeur par défaut est `true` |
| 130 | +- `UPDATE_TASK` : S'il faut mettre à jour les tâches asynchrones (Midjourney, Suno), la valeur par défaut est `true` |
| 131 | +- `COHERE_SAFETY_SETTING` : Paramètres de sécurité du modèle Cohere, les options sont `NONE`, `CONTEXTUAL`, `STRICT`, la valeur par défaut est `NONE` |
| 132 | +- `GEMINI_VISION_MAX_IMAGE_NUM` : Nombre maximum d'images pour les modèles Gemini, la valeur par défaut est `16` |
| 133 | +- `MAX_FILE_DOWNLOAD_MB` : Taille maximale de téléchargement de fichier en Mo, la valeur par défaut est `20` |
| 134 | +- `CRYPTO_SECRET` : Clé de chiffrement utilisée pour chiffrer le contenu de la base de données |
| 135 | +- `AZURE_DEFAULT_API_VERSION` : Version de l'API par défaut du canal Azure, la valeur par défaut est `2025-04-01-preview` |
| 136 | +- `NOTIFICATION_LIMIT_DURATION_MINUTE` : Durée de la limite de notification, la valeur par défaut est de `10` minutes |
| 137 | +- `NOTIFY_LIMIT_COUNT` : Nombre maximal de notifications utilisateur dans la durée spécifiée, la valeur par défaut est `2` |
| 138 | +- `ERROR_LOG_ENABLED=true` : S'il faut enregistrer et afficher les journaux d'erreurs, la valeur par défaut est `false` |
| 139 | + |
| 140 | +## Déploiement |
| 141 | + |
| 142 | +Pour des guides de déploiement détaillés, veuillez vous référer à [Guide d'installation-Méthodes de déploiement](https://docs.newapi.pro/installation) : |
| 143 | + |
| 144 | +> [!TIP] |
| 145 | +> Dernière image Docker : `calciumion/new-api:latest` |
| 146 | +
|
| 147 | +### Considérations sur le déploiement multi-machines |
| 148 | +- La variable d'environnement `SESSION_SECRET` doit être définie, sinon l'état de connexion sera incohérent sur plusieurs machines |
| 149 | +- Si vous partagez Redis, `CRYPTO_SECRET` doit être défini, sinon le contenu de Redis ne pourra pas être consulté sur plusieurs machines |
| 150 | + |
| 151 | +### Exigences de déploiement |
| 152 | +- Base de données locale (par défaut) : SQLite (le déploiement Docker doit monter le répertoire `/data`) |
| 153 | +- Base de données distante : MySQL version >= 5.7.8, PgSQL version >= 9.6 |
| 154 | + |
| 155 | +### Méthodes de déploiement |
| 156 | + |
| 157 | +#### Utilisation de la fonctionnalité Docker du panneau BaoTa |
| 158 | +Installez le panneau BaoTa (version **9.2.0** ou supérieure), recherchez **New-API** dans le magasin d'applications et installez-le. |
| 159 | +[Tutoriel avec des images](./docs/BT.md) |
| 160 | + |
| 161 | +#### Utilisation de Docker Compose (recommandé) |
| 162 | +```shell |
| 163 | +# Télécharger le projet |
| 164 | +git clone https://github.com/Calcium-Ion/new-api.git |
| 165 | +cd new-api |
| 166 | +# Modifier docker-compose.yml si nécessaire |
| 167 | +# Démarrer |
| 168 | +docker-compose up -d |
| 169 | +``` |
| 170 | + |
| 171 | +#### Utilisation directe de l'image Docker |
| 172 | +```shell |
| 173 | +# Utilisation de SQLite |
| 174 | +docker run --name new-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest |
| 175 | + |
| 176 | +# Utilisation de MySQL |
| 177 | +docker run --name new-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest |
| 178 | +``` |
| 179 | + |
| 180 | +## Nouvelle tentative de canal et cache |
| 181 | +La fonctionnalité de nouvelle tentative de canal a été implémentée, vous pouvez définir le nombre de tentatives dans `Paramètres->Paramètres de fonctionnement->Paramètres généraux`. Il est **recommandé d'activer la mise en cache**. |
| 182 | + |
| 183 | +### Méthode de configuration du cache |
| 184 | +1. `REDIS_CONN_STRING` : Définir Redis comme cache |
| 185 | +2. `MEMORY_CACHE_ENABLED` : Activer le cache mémoire (pas besoin de le définir manuellement si Redis est défini) |
| 186 | + |
| 187 | +## Documentation de l'API |
| 188 | + |
| 189 | +Pour une documentation détaillée de l'API, veuillez vous référer à [Documentation de l'API](https://docs.newapi.pro/api) : |
| 190 | + |
| 191 | +- [API de discussion](https://docs.newapi.pro/api/openai-chat) |
| 192 | +- [API d'image](https://docs.newapi.pro/api/openai-image) |
| 193 | +- [API de rerank](https://docs.newapi.pro/api/jinaai-rerank) |
| 194 | +- [API en temps réel](https://docs.newapi.pro/api/openai-realtime) |
| 195 | +- [API de discussion Claude (messages)](https://docs.newapi.pro/api/anthropic-chat) |
| 196 | + |
| 197 | +## Projets connexes |
| 198 | +- [One API](https://github.com/songquanpeng/one-api) : Projet original |
| 199 | +- [Midjourney-Proxy](https://github.com/novicezk/midjourney-proxy) : Prise en charge de l'interface Midjourney |
| 200 | +- [chatnio](https://github.com/Deeptrain-Community/chatnio) : Solution B/C unique d'IA de nouvelle génération |
| 201 | +- [neko-api-key-tool](https://github.com/Calcium-Ion/neko-api-key-tool) : Interroger le quota d'utilisation avec une clé |
| 202 | + |
| 203 | +Autres projets basés sur New API : |
| 204 | +- [new-api-horizon](https://github.com/Calcium-Ion/new-api-horizon) : Version optimisée hautes performances de New API |
| 205 | +- [VoAPI](https://github.com/VoAPI/VoAPI) : Version embellie du frontend basée sur New API |
| 206 | + |
| 207 | +## Aide et support |
| 208 | + |
| 209 | +Si vous avez des questions, veuillez vous référer à [Aide et support](https://docs.newapi.pro/support) : |
| 210 | +- [Interaction avec la communauté](https://docs.newapi.pro/support/community-interaction) |
| 211 | +- [Commentaires sur les problèmes](https://docs.newapi.pro/support/feedback-issues) |
| 212 | +- [FAQ](https://docs.newapi.pro/support/faq) |
| 213 | + |
| 214 | +## 🌟 Historique des étoiles |
| 215 | + |
| 216 | +[](https://star-history.com/#Calcium-Ion/new-api&Date) |
0 commit comments