DDG-Chat: развертывание бэкенда Chat2API одним щелчком мыши, DuckDuckGo для API

Общее введение

DDG-Chat - это проект с открытым исходным кодом, цель которого - обеспечить развертывание в один клик на различных платформах ChatGPT Бэкэнд API. Проект поддерживает множество моделей, включая GPT-4o mini, Claude 3 Haiku, Llama 3.1 70B и Mixtral 8x7B, все анонимно предоставлены DuckDuckGo. Все модели предоставляются DuckDuckGo анонимно. Пользователи могут легко развернуть и использовать API-бэкенд через Vercel, Cloudflare Workers, Docker и другие платформы.

Поскольку DDG API ограничивает количество параллелей одним IP, рекомендуется использовать Vercel для развертывания, или, если вы используете локальное развертывание, например Docker, убедитесь, что проект запущен в пуле прокси.

 

Список функций

  • Поддержка нескольких моделей ChatGPT
  • Развертывание в один клик в Vercel, Cloudflare Workers, Docker и другие!
  • Предоставление API-интерфейса для приложений сторонних разработчиков
  • Поддержка различных методов развертывания, включая облачное и локальное развертывание.
  • Предоставление подробной документации по развертыванию и использованию

 

Использование помощи

Установка и развертывание

Развертывание Верселя

  1. Развертывание репозитория Cloud Fork: (Развертывание Vercel в один клик)
    • Форкните этот репозиторий на свой аккаунт GitHub.
    • Перейдите на страницу Vercel New Project и импортируйте репозиторий, который вы только что форкнули.
    • Нажмите кнопку Развернуть, чтобы завершить развертывание.
  2. Локальное развертывание клонированного репозитория:
    • Убедитесь, что у вас есть среда Node.js.
    • Выполните следующую команду:
      npm i -g vercel
      vercel login
      git clone https://github.com/leafmoes/DDG-Chat.git ddg-chat
      cd ddg-chat
      npm run publish
      

Развертывание рабочих станций Cloudflare

  1. Перейдите в консоль Cloudflare Workers and Pages и создайте рабочего.
  2. В настройках Workers установите время выполнения на nodejs_compat.
  3. Вставьте код из репозиторияПерейдите в раздел "Рабочие" и нажмите "Развернуть".

Развертывание Docker

  1. Сборка с помощью командной строки:
    docker run -it -d --name ddg-chat -p 8787:8787 ghcr.io/leafmoes/ddg-chat:latest
    
  2. Выполните сборку с помощью файла docker-compose.yml:
    • Загрузите и сохраните файл docker-compose.yml.
    • Запустите службу, выполнив следующую команду в каталоге, где находится файл:
      docker-compose up -d
      

переменная окружения

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

Использование API

интерфейс вызова

Для вызова интерфейса используйте стороннее приложение ChatGPT, например ChatNextWeb. Ниже приведен пример запроса на диалог:

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

Запрос модели

интервью https://你的域名/v1/models Позволяет просмотреть поддерживаемые в настоящее время модели.

общие проблемы

  • Ограничения при развертывании Vercel: Бесплатная версия требует 60 секунд для одного запроса API и 100 000 вызовов API в месяц.
  • Ошибка 429 ERR_SERVICE_UNAVAILABLE: Не-Vercel подвержены этой проблеме, так как DDG API ограничивает параллелизм одного IP, рекомендуется уменьшить параллелизм, а также использовать пул прокси для запросов.

 

Альтернативная версия развертывания: бесплатный сервер serv00 развертывание резидентной службы

Источник проекта

  1. Перейдите на панель serv00, нажмите на DNS-зоны и нажмите на кнопку Добавить новую зону, чтобы добавить свое собственное доменное имя.
  2. Перейдите в раздел cf, чтобы добавить разбор A-записей
  3. Щелкните Дополнительные службы и выберите Запуск собственных приложений. Enabled
  4. Откройте порт. Я открываю 5005.
  5. Нажмите WWW Websites (Веб-сайты) Нажмите Add website Domain (Добавить домен сайта), чтобы ввести собственное доменное имя.
DDG-Chat:一键部署Chat2API后端,DuckDuckGo转API
  1. Нажмите, чтобы скачать файл Предоставление исполняемых разрешений файлам
    chmod +x ddgchatgo-freebsd-amd64
    
  2. существоватьpublic_htmlСоздайте сценарий запуска в разделе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
    
  3. Предоставление привилегий на выполнение сценариев
    chmod +x start_api.sh
    
  4. При первом запуске cron просто выполните следующую команду
    nohup /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.sh > /home/你的Serv00用户名/domains/example.com/public_html/start_ddgchatgo.log 2>&1 &
    

    Измените имя пользователя Serv00 на свое собственное.
    example.com на ваше собственное доменное имя
    PORT Если открытый порт не равен 5005, вы можете изменить его.

 

Скрипты установки в один клик

#!/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 &

В сценариях с одним щелчком мышиhttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.2/ddgchatgo-freebsd-amd64Заменить наhttps://github.com/Shadownc/DDG-Chat-go/releases/download/v0.0.4/ddgchatgo-freebsd-amd64Можно установить ключ API.

Измените имя пользователя Serv00 на свое собственное.
example.com на ваше собственное доменное имя
PORT Если открытый порт не равен 5005, вы можете изменить его.

 

После завершения развертывания доступ к домену дает следующее сообщение об успехе:

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

 

Доступ к newapi после создания

новый api/один api выбор пользовательских каналов
http://chat.xxl.serv00.net/v1/chat/completions

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...