Allgemeine Einführung
DDG-Chat ist ein Open-Source-Projekt, das darauf abzielt, eine Ein-Klick-Bereitstellung auf mehreren Plattformen des ChatGPT API-Backend. Das Projekt unterstützt mehrere Modelle, darunter GPT-4o mini, Claude 3 Haiku, Llama 3.1 70B und Mixtral 8x7B, die alle anonym von DuckDuckGo bereitgestellt werden. Alle Modelle werden anonym von DuckDuckGo zur Verfügung gestellt. Benutzer können das API-Backend einfach über Vercel, Cloudflare Workers, Docker und andere Plattformen bereitstellen und nutzen.
Da die DDG-API die Anzahl der Gleichzeitigkeiten auf eine einzige IP beschränkt, wird empfohlen, Vercel für die Bereitstellung zu verwenden, oder wenn Sie eine lokale Bereitstellung wie Docker verwenden, stellen Sie sicher, dass das Projekt in einem Proxy-Pool ausgeführt wird.
Funktionsliste
- Unterstützt mehrere ChatGPT-Modelle
- Ein-Klick-Bereitstellung für Vercel, Cloudflare Workers, Docker und mehr!
- Bereitstellung einer API-Schnittstelle für Anwendungen von Drittanbietern
- Unterstützt mehrere Bereitstellungsmethoden, einschließlich Cloud- und lokaler Bereitstellung
- Bereitstellung einer detaillierten Einsatz- und Nutzungsdokumentation
Hilfe verwenden
Installation und Einsatz
Einsatz in Vercel
- Bereitstellung des Cloud Fork Repository: (Vercel Ein-Klick-Bereitstellung)
- Forken Sie dieses Repository in Ihr GitHub-Konto.
- Gehen Sie auf die Seite Neues Projekt von Vercel und importieren Sie das Repository, das Sie gerade geforked haben.
- Klicken Sie auf Bereitstellen, um die Bereitstellung abzuschließen.
- Bereitstellung eines lokalen Klon-Repositorys:
- Stellen Sie sicher, dass Sie eine Node.js-Umgebung haben.
- Führen Sie den folgenden Befehl aus:
npm i -g vercel vercel Anmeldung git clone https://github.com/leafmoes/DDG-Chat.git ddg-chat cd ddg-chat npm run publish
Cloudflare Workers-Bereitstellung
- Gehen Sie zur Cloudflare Workers and Pages Konsole und erstellen Sie einen Worker.
- Setzen Sie in den Workers-Einstellungen die Laufzeit auf nodejs_compat.
- Fügen Sie den Code aus dem Repository einGehen Sie zu Ihren Workers und klicken Sie auf Bereitstellen.
Docker-Bereitstellung
- Befehlszeilen-Build:
docker run -it -d --name ddg-chat -p 8787:8787 ghcr.io/leafmoes/ddg-chat:latest
- Erstellen Sie mit der Datei docker-compose.yml:
- Laden Sie die Datei docker-compose.yml herunter und speichern Sie sie.
- Starten Sie den Dienst, indem Sie den folgenden Befehl in dem Verzeichnis ausführen, in dem sich die Datei befindet:
docker-compose up -d
Umgebungsvariable
Präfix-Adresse für #-API-Aufrufe API_VORWAHL = '/' API-Schlüssel für # zur Validierung als API-Aufruf API_KEY = 'dummy_key' # Anzahl der Wiederholungsversuche bei einer fehlgeschlagenen Anfrage an die DDG MAX_RETRY_COUNT = 3 # Wiederholungsverzögerung für fehlgeschlagene Anfragen an die DDG in ms RETRY_DELAY = 5000
Verwendung der API
Aufrufschnittstelle
Verwenden Sie eine ChatGPT-Anwendung eines Drittanbieters, um die Schnittstelle aufzurufen, z. B. ChatNextWeb. Es folgt ein Beispiel für eine Dialoganfrage:
curl --request POST 'https://你的域名/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"model": "gpt-4o-mini",
"stream": true
}'
Modellabfrage
Interviews https://你的域名/v1/models
Ermöglicht die Anzeige der aktuell unterstützten Modelle.
allgemeine Probleme
- Einschränkungen des Einsatzes von VercelDie kostenlose Version benötigt 60 Sekunden für eine einzige API-Anfrage und 100.000 API-Aufrufe pro Monat.
- Fehler 429 ERR_SERVICE_UNAVAILABLEDa die DDG-API die Gleichzeitigkeit einzelner IPs begrenzt, wird empfohlen, die Gleichzeitigkeit zu reduzieren und einen Proxy-Pool für Anfragen zu verwenden.
Alternative go version deployment: free server serv00 deployment resident service
- Gehen Sie zum Panel serv00 und klicken Sie auf DNS-Zonen und dann auf Neue Zone hinzufügen, um Ihren eigenen benutzerdefinierten Domainnamen hinzuzufügen.
- Gehe zu cf, um A-Datensatz-Parsing hinzuzufügen
- Klicken Sie auf Zusätzliche Dienste und dann auf Eigene Anwendungen ausführen.
Aktiviert
- Öffnen Sie einen Port, ich öffne 5005.
- Klicken Sie auf WWW Websites Klicken Sie auf Website hinzufügen Domain, um Ihren eigenen Domainnamen einzugeben.
- Klicken Sie zum Herunterladen der Datei Erteilen von Ausführungsrechten für Dateien
chmod +x ddgchatgo-freebsd-amd64
- existieren
public_html
Erstellen Sie ein Startskript unterstart_ddgchatgo.sh
#!/bin/bash # Definieren Sie den Prozessnamen und den Startbefehl PROZESS_NAME="ddgchatgo" START_COMMAND="PORT=5005 /home/ihrServ00Benutzername/domains/example.com/public_html/ddgchatgo-freebsd-amd64 > /home/ihrServ00Benutzername/domains/example .com/public_html/ddgchatgo.log 2>&1 &" # Prüfen, ob der Prozess läuft if ! pgrep -f "$PROZESS_NAME" > /dev/null dann echo "Der Prozess $PROCESS_NAME läuft nicht und wird gerade gestartet..." # Prozess wird gestartet eval "$START_COMMAND" if [ $? -eq 0 ]; then echo "Prozess $PROCESS_NAME erfolgreich gestartet." then echo "Der Prozess $PROCESS_NAME wurde erfolgreich gestartet." else echo "Der Prozess $PROCESS_NAME konnte nicht gestartet werden." else echo "Prozess $PROCESS_NAME konnte nicht gestartet werden. echo "Prozess $PROCESS_NAME konnte nicht gestartet werden." fi echo "Der Prozess $PROCESS_NAME läuft bereits." fi
- Erteilung von Privilegien für die Skriptausführung
chmod +x start_api.sh
- Wenn Sie cron zum ersten Mal starten, führen Sie einfach den folgenden Befehl aus
nohup /home/Ihr Serv00-Benutzername/Domains/example.com/public_html/start_ddgchatgo.sh > /home/Ihr Serv00-Benutzername/Domains/example.com/public_html/start_ ddgchatgo.log 2>&1 &
Ändern Sie Ihren Serv00-Benutzernamen in Ihren eigenen.
example.com zu Ihrem eigenen Domänennamen
PORT Wenn der offene Port nicht 5005 ist, können Sie ihn ändern.
Ein-Klick-Installationsskripte
#!/bin/bash
# Schritt 1: Geben Sie das Arbeitsverzeichnis ein
cd ~/domains/example.com/public_html/
# Schritt 2: Laden Sie das ausführbare Programm herunter
wget https://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.2/ddgchatgo-freebsd-amd64
# Schritt 3: Geben Sie der entpackten freechatgpt-Datei Ausführungsrechte
chmod +x ddgchatgo-freebsd-amd64
# Schritt 4: Erstellen Sie das Skript start_ddgchatgo.sh
cat < start_ddgchatgo.sh
#!/bin/bash
# Definieren Sie den Prozessnamen und den Startbefehl
PROCESS_NAME="ddgchatgo"
START_COMMAND="PORT=5005 /home/ihr Serv00 username/domains/example.com/public_html/ddgchatgo-freebsd-amd64 > /home/ihr Serv00 username/domains/ example.com/public_html/ ddgchatgo-freebsd-amd64 > /home/ihr Serv00 username/domains/ example.com/public_html/ ddgchatgo-freebsd-amd64 example.com/public_html/ddgchatgo.log 2>&1 &"
# Prüfen, ob der Prozess läuft
if ! pgrep -f "$PROZESS_NAME" > /dev/null
dann
echo "Prozess $PROCESS_NAME läuft nicht, startet..."
# Prozess wird gestartet
eval "$START_COMMAND"
if [ $? -eq 0 ]; then
echo "Prozess $PROCESS_NAME erfolgreich gestartet."
then echo "Der Prozess $PROCESS_NAME wurde erfolgreich gestartet." else
echo "Der Prozess $PROCESS_NAME konnte nicht gestartet werden."
else echo "Der Prozess $PROCESS_NAME konnte nicht gestartet werden.
echo "Der Prozess $PROCESS_NAME konnte nicht gestartet werden." else
echo "Der Prozess $PROCESS_NAME läuft bereits."
fi
EOL
# Schritt 5: Erteilen Sie start_ddgchatgo.sh die Ausführungserlaubnis
chmod +x start_ddgchatgo.sh
# Schritt 6: Führen Sie das Skript start_ddgchatgo.sh aus und geben Sie die Protokolle in start_ddgchatgo.log aus
nohup /home/Ihr Serv00-Benutzername/Domains/Beispiel.de/public_html/start_ddgchatgo.sh > /home/Ihr Serv00-Benutzername/Domains/Beispiel.de/public_html/start_ ddgchatgo.log 2>&1 &
In Ein-Klick-Skriptenhttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.2/ddgchatgo-freebsd-amd64
Ersetzen durchhttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.4/ddgchatgo-freebsd-amd64
API KEY kann eingestellt werden.
Ändern Sie Ihren Serv00-Benutzernamen in Ihren eigenen.
example.com zu Ihrem eigenen Domänennamen
PORT Wenn der offene Port nicht 5005 ist, können Sie ihn ändern.
Nach Abschluss der Bereitstellung zeigt der Zugriff auf die Domäne den Erfolg wie folgt an:
{ "message": "Willkommen bei der API" }
Zugang zu newapi nach der Erstellung
neue api/eine api benutzerdefinierte Kanäle auswählen
http://chat.xxl.serv00.net/v1/chat/completions