DDG-Chat: Despliegue del backend Chat2API con un solo clic, DuckDuckGo a las API

Introducción general

DDG-Chat es un proyecto de código abierto cuyo objetivo es ofrecer una implantación en múltiples plataformas del ChatGPT API backend. El proyecto soporta múltiples modelos, incluyendo GPT-4o mini, Claude 3 Haiku, Llama 3.1 70B, y Mixtral 8x7B, todos proporcionados anónimamente por DuckDuckGo. Todos los modelos son proporcionados de forma anónima por DuckDuckGo. Los usuarios pueden implementar y utilizar fácilmente el backend de la API a través de Vercel, Cloudflare Workers, Docker y otras plataformas.

Dado que la API DDG limita el número de concurrencias a una única IP, se recomienda utilizar Vercel para el despliegue o, si se utiliza un despliegue local como Docker, asegurarse de que el proyecto se ejecuta en un grupo proxy.

 

Lista de funciones

  • Admite varios modelos ChatGPT
  • Despliegue con un solo clic en Vercel, Cloudflare Workers, Docker, etc.
  • Proporcionar una interfaz API para aplicaciones de terceros
  • Admite múltiples métodos de despliegue, incluidos el despliegue en la nube y el despliegue local.
  • Proporcionar documentación detallada sobre la implantación y el uso

 

Utilizar la ayuda

Instalación y despliegue

Despliegue de Vercel

  1. Despliegue del repositorio Cloud Fork: (Vercel Implantación en un clic)
    • Abre este repositorio en tu cuenta de GitHub.
    • Ve a la página de Vercel Nuevo Proyecto e importa el repositorio que acabas de bifurcar.
    • Haga clic en Desplegar para completar el despliegue.
  2. Despliegue local del repositorio de clones:
    • Asegúrate de que tienes un entorno Node.js.
    • Ejecute el siguiente comando:
      npm i -g vercel
      vercel login
      git clone https://github.com/leafmoes/DDG-Chat.git ddg-chat
      cd ddg-chat
      npm run publish
      

Implementación de trabajadores de Cloudflare

  1. Vaya a la consola de trabajadores y páginas de Cloudflare y cree un trabajador.
  2. En la configuración de Workers, establece el tiempo de ejecución en nodejs_compat.
  3. Pegue el código del repositorioVe a tus Trabajadores y haz clic en Desplegar.

Despliegue de Docker

  1. Construcción por línea de comandos:
    docker run -it -d --name ddg-chat -p 8787:8787 ghcr.io/leafmoes/ddg-chat:latest
    
  2. Construya utilizando el archivo docker-compose.yml:
    • Descargue y guarde el archivo docker-compose.yml.
    • Inicie el servicio ejecutando el siguiente comando en el directorio donde se encuentra el archivo:
      docker-compose up -d
      

variable de entorno

# API 调用的前缀地址
API_PREFIX = '/'
# 作为调用 API 验证的 API Key
API_KEY = 'dummy_key'
# 向 DDG 发送请求失败的重试次数
MAX_RETRY_COUNT = 3
# 向 DDG 发送请求失败的重试延迟,单位 ms
RETRY_DELAY = 5000

Uso de la API

interfaz de llamada

Utilice una aplicación ChatGPT de terceros para llamar a la interfaz, como ChatNextWeb. a continuación se muestra un ejemplo de solicitud de diálogo:

curl --request POST 'https://你的域名/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": "你好!"
}
],
"model": "gpt-4o-mini",
"stream": true
}'

Modelo de consulta

entrevistas https://你的域名/v1/models Permite ver los modelos admitidos actualmente.

problemas comunes

  • Limitaciones del despliegue de VercelLa versión gratuita tarda 60 segundos en realizar una única solicitud API y 100.000 llamadas API al mes.
  • Error 429 ERR_SERVICE_UNAVAILABLEEl DDG API limita la concurrencia de una sola IP, por lo que se recomienda reducir la concurrencia y utilizar un grupo de proxy para las solicitudes.

 

Despliegue alternativo de la versión go: despliegue gratuito del servidor serv00 servicio residente

Fuente del proyecto

  1. Vaya al panel serv00 y haga clic en Zonas DNS y haga clic en Añadir nueva zona para añadir su propio nombre de dominio personalizado.
  2. Ir a cf para añadir el análisis sintáctico del registro A
  3. Haga clic en Servicios adicionales y en Ejecutar sus propias aplicaciones. Enabled
  4. Abre un puerto. Estoy abriendo el 5005.
  5. Haga clic en Sitios web WWW Haga clic en Añadir dominio de sitio web para introducir su propio nombre de dominio.
DDG-Chat:一键部署Chat2API后端,DuckDuckGo转API
  1. Haga clic para descargar el archivo Concesión de permisos de ejecución a ficheros
    chmod +x ddgchatgo-freebsd-amd64
    
  2. existepublic_htmlCree un script de inicio enstart_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. Concesión de privilegios de ejecución de scripts
    chmod +x start_api.sh
    
  4. La primera vez que ejecute cron, sólo tiene que ejecutar el siguiente comando
    nohup /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.sh > /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.log 2>&1 &
    

    Cambia tu nombre de usuario Serv00 por el tuyo.
    ejemplo.com a su propio nombre de dominio
    PUERTO Si el puerto abierto no es 5005, puede cambiarlo.

 

Scripts de instalación con un solo 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 &

En scripts de un clichttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.2/ddgchatgo-freebsd-amd64Sustituir porhttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.4/ddgchatgo-freebsd-amd64Se puede establecer la CLAVE API.

Cambia tu nombre de usuario Serv00 por el tuyo.
ejemplo.com a su propio nombre de dominio
PUERTO Si el puerto abierto no es 5005, puede cambiarlo.

 

Una vez completado el despliegue, el acceso al dominio devuelve lo siguiente para indicar el éxito:

{
"message": "Welcome to the API"
}

 

Acceso a newapi después de la construcción

nueva api/una api seleccionar canales personalizados
http://chat.xxl.serv00.net/v1/chat/completions

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...