AI Personal Learning
und praktische Anleitung
豆包Marscode1

DDG-Chat: Einsatz von Chat2API Backend mit einem Klick, DuckDuckGo zu APIs

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

  1. 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.
  2. 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 login
      git clone https://github.com/leafmoes/DDG-Chat.git ddg-chat
      cd ddg-chat
      npm run publish
      

Cloudflare Workers-Bereitstellung

  1. Gehen Sie zur Cloudflare Workers and Pages Konsole und erstellen Sie einen Worker.
  2. Setzen Sie in den Workers-Einstellungen die Laufzeit auf nodejs_compat.
  3. Fügen Sie den Code aus dem Repository einGehen Sie zu Ihren Workers und klicken Sie auf Bereitstellen.

Docker-Bereitstellung

  1. Befehlszeilen-Build:
    docker run -it -d --name ddg-chat -p 8787:8787 ghcr.io/leafmoes/ddg-chat:latest
    
  2. 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

# API 调用的前缀地址
API_PREFIX = '/'
# 作为调用 API 验证的 API Key
API_KEY = 'dummy_key'
# 向 DDG 发送请求失败的重试次数
MAX_RETRY_COUNT = 3
# 向 DDG 发送请求失败的重试延迟,单位 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": "你好!"
}
],
"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

Quelle des Projekts

  1. 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.
  2. Gehe zu cf, um A-Datensatz-Parsing hinzuzufügen
  3. Klicken Sie auf Zusätzliche Dienste und dann auf Eigene Anwendungen ausführen. Enabled
  4. Öffnen Sie einen Port, ich öffne 5005.
  5. Klicken Sie auf WWW Websites Klicken Sie auf Website hinzufügen Domain, um Ihren eigenen Domainnamen einzugeben.

ChatGPT转API,利用serv00部署常驻服务。-1

  1. Klicken Sie zum Herunterladen der Datei Erteilen von Ausführungsrechten für Dateien
    chmod +x ddgchatgo-freebsd-amd64
    
  2. existierenpublic_htmlErstellen Sie ein Startskript unterstart_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
    
  3. Erteilung von Privilegien für die Skriptausführung
    chmod +x start_api.sh
    
  4. Wenn Sie cron zum ersten Mal starten, führen Sie einfach den folgenden Befehl aus
    nohup /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.sh > /home/你的Serv00用户名/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
# 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 &

In Ein-Klick-Skriptenhttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.2/ddgchatgo-freebsd-amd64Ersetzen durchhttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.4/ddgchatgo-freebsd-amd64API 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": "Welcome to the API"
}

 

Zugang zu newapi nach der Erstellung

neue api/eine api benutzerdefinierte Kanäle auswählen
http://chat.xxl.serv00.net/v1/chat/completions

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " DDG-Chat: Einsatz von Chat2API Backend mit einem Klick, DuckDuckGo zu APIs
de_DEDeutsch