DDG-Chat : Déploiement d'un backend Chat2API en un clic, DuckDuckGo aux APIs
Introduction générale
DDG-Chat est un projet open source qui vise à fournir un déploiement en un seul clic sur de multiples plateformes de l'application ChatGPT API backend. Le projet prend en charge plusieurs modèles, notamment GPT-4o mini, Claude 3 Haiku, Llama 3.1 70B et Mixtral 8x7B, tous fournis anonymement par DuckDuckGo. Les utilisateurs peuvent facilement déployer et utiliser le backend de l'API via Vercel, Cloudflare Workers, Docker et d'autres plateformes.
Étant donné que l'API DDG limite le nombre de concurrences à une seule IP, il est recommandé d'utiliser Vercel pour le déploiement ou, si vous utilisez un déploiement local tel que Docker, de veiller à ce que le projet s'exécute dans un pool de proxy.
Liste des fonctions
- Prise en charge de plusieurs modèles de ChatGPT
- Déploiement en un clic vers Vercel, Cloudflare Workers, Docker, etc.
- Fournir une interface API pour les applications tierces
- Prise en charge de plusieurs méthodes de déploiement, y compris le déploiement dans le nuage et le déploiement local
- Fournir une documentation détaillée sur le déploiement et l'utilisation
Utiliser l'aide
Installation et déploiement
Déploiement de Vercel
- Déploiement du référentiel Cloud Fork : (Déploiement de Vercel en un clic)
- Créez un lien vers ce dépôt sur votre compte GitHub.
- Allez sur la page Nouveau projet de Vercel et importez le dépôt que vous venez de bifurquer.
- Cliquez sur Déployer pour terminer le déploiement.
- Déploiement d'un référentiel clone local :
- Assurez-vous d'avoir un environnement Node.js.
- Exécutez la commande suivante :
npm i -g vercel vercel login git clone https://github.com/leafmoes/DDG-Chat.git ddg-chat cd ddg-chat npm run publish
Déploiement des travailleurs Cloudflare
- Allez dans la console Cloudflare Workers and Pages et créez un worker.
- Dans les paramètres de Workers, définissez le runtime à nodejs_compat.
- Coller le code du référentielAccédez à vos travailleurs et cliquez sur Déployer.
Déploiement Docker
- Construction en ligne de commande :
docker run -it -d --name ddg-chat -p 8787:8787 ghcr.io/leafmoes/ddg-chat:latest
- Construire en utilisant le fichier docker-compose.yml :
- Téléchargez et enregistrez le fichier docker-compose.yml.
- Démarrez le service en exécutant la commande suivante dans le répertoire où se trouve le fichier :
docker-compose up -d
variable d'environnement
# API 调用的前缀地址 API_PREFIX = '/' # 作为调用 API 验证的 API Key API_KEY = 'dummy_key' # 向 DDG 发送请求失败的重试次数 MAX_RETRY_COUNT = 3 # 向 DDG 发送请求失败的重试延迟,单位 ms RETRY_DELAY = 5000
Utiliser l'API
interface d'appel
Utilisez une application ChatGPT tierce pour invoquer l'interface, telle que ChatNextWeb :
curl --request POST 'https://你的域名/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": "你好!"
}
],
"model": "gpt-4o-mini",
"stream": true
}'
Modèle de requête
entretiens https://你的域名/v1/models
Permet d'afficher les modèles actuellement pris en charge.
problèmes courants
- Limites du déploiement de VercelLa version gratuite prend 60 secondes pour une demande d'API et 100 000 appels d'API par mois.
- Erreur 429 ERR_SERVICE_UNAVAILABLELe problème peut se produire dans les pays non-Vercel, car l'API DDG limite la concurrence entre les IP. Il est donc recommandé de réduire la concurrence et d'utiliser un pool de proxy pour les requêtes.
Alternative go version deployment : free server serv00 deployment resident service
- Allez dans le panneau serv00 et cliquez sur Zones DNS et cliquez sur Ajouter une nouvelle zone pour ajouter votre propre nom de domaine personnalisé.
- Aller à cf pour ajouter l'analyse des enregistrements A
- Cliquez sur Services supplémentaires et cliquez sur Exécuter vos propres applications.
Enabled
- Ouvrez un port, j'ouvre 5005.
- Cliquez sur WWW Websites Cliquez sur Add website Domain pour indiquer votre propre nom de domaine.

- Cliquez pour télécharger le fichier Accorder des droits d'exécution aux fichiers
chmod +x ddgchatgo-freebsd-amd64
- existent
public_html
Créer un script de démarrage sousstart_ddgchatgo.sh
#!/bin/bash # 定义进程名称和启动命令 PROCESS_NAME="ddgchatgo" START_COMMAND="PORT=5005 /home/你的Serv00用户名/domains/example.com/public_html/ddgchatgo-freebsd-amd64 > /home/你的Serv00用户/domains/example.com/public_html/ddgchatgo.log 2>&1 &" # 检查进程是否在运行 if ! pgrep -f "$PROCESS_NAME" > /dev/null then echo "进程 $PROCESS_NAME 未运行,正在启动..." # 启动进程 eval "$START_COMMAND" if [ $? -eq 0 ]; then echo "进程 $PROCESS_NAME 启动成功。" else echo "进程 $PROCESS_NAME 启动失败。" fi else echo "进程 $PROCESS_NAME 已经在运行。" fi
- Octroi de privilèges d'exécution de scripts
chmod +x start_api.sh
- La première fois que vous lancez cron, exécutez la commande suivante
nohup /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.sh > /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.log 2>&1 &
Remplacez votre nom d'utilisateur Serv00 par votre propre nom.
exemple.com à votre propre nom de domaine
PORT Si le port ouvert n'est pas 5005, vous pouvez le modifier.
Scripts d'installation en un clic
#!/bin/bash
# Step 1: 进入工作目录
cd ~/domains/example.com/public_html/
# Step 2: 下载可执行程序
wget https://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.2/ddgchatgo-freebsd-amd64
# Step 3: 赋予解压后freechatgpt文件可执行权限
chmod +x ddgchatgo-freebsd-amd64
# Step 4: 创建start_ddgchatgo.sh脚本
cat <<EOL > start_ddgchatgo.sh
#!/bin/bash
# 定义进程名称和启动命令
PROCESS_NAME="ddgchatgo"
START_COMMAND="PORT=5005 /home/你的Serv00用户名/domains/example.com/public_html/ddgchatgo-freebsd-amd64 > /home/你的Serv00用户名/domains/example.com/public_html/ddgchatgo.log 2>&1 &"
# 检查进程是否在运行
if ! pgrep -f "\$PROCESS_NAME" > /dev/null
then
echo "进程 \$PROCESS_NAME 未运行,正在启动..."
# 启动进程
eval "\$START_COMMAND"
if [ \$? -eq 0 ]; then
echo "进程 \$PROCESS_NAME 启动成功。"
else
echo "进程 \$PROCESS_NAME 启动失败。"
fi
else
echo "进程 \$PROCESS_NAME 已经在运行。"
fi
EOL
# Step 5: 赋予start_ddgchatgo.sh可执行权限
chmod +x start_ddgchatgo.sh
# Step 6: 运行start_ddgchatgo.sh脚本并将日志输出到start_ddgchatgo.log
nohup /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.sh > /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.log 2>&1 &
Dans les scripts en un clichttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.2/ddgchatgo-freebsd-amd64
Remplacer parhttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.4/ddgchatgo-freebsd-amd64
La clé API peut être définie.
Remplacez votre nom d'utilisateur Serv00 par votre propre nom.
exemple.com à votre propre nom de domaine
PORT Si le port ouvert n'est pas 5005, vous pouvez le modifier.
Une fois le déploiement terminé, l'accès au domaine renvoie le message suivant pour indiquer le succès :
{ "message": "Welcome to the API" }
Accès à newapi après la construction
new api/one api sélectionner des canaux personnaliséshttp://chat.xxl.serv00.net/v1/chat/completions
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...