DDG-Chat: 클릭 한 번으로 Chat2API 백엔드 배포, DuckDuckGo에서 API까지

최신 AI 리소스9개월 전 업데이트 AI 공유 서클
3.1K 00

일반 소개

DDG-Chat은 여러 플랫폼에 원클릭 배포를 제공하는 것을 목표로 하는 오픈 소스 프로젝트입니다. ChatGPT API 백엔드. 이 프로젝트는 GPT-4o mini, Claude 3 Haiku, Llama 3.1 70B, Mixtral 8x7B를 포함한 여러 모델을 지원하며, 모두 DuckDuckGo에서 익명으로 제공합니다. 모든 모델은 DuckDuckGo에서 익명으로 제공합니다. 사용자는 Vercel, Cloudflare Workers, Docker 및 기타 플랫폼을 통해 API 백엔드를 쉽게 배포하고 사용할 수 있습니다.

DDG API는 동시 접속자 수를 단일 IP로 제한하므로 배포 시 Vercel을 사용하거나 Docker와 같은 로컬 배포를 사용하는 경우 프로젝트가 프록시 풀에서 실행되고 있는지 확인하는 것이 좋습니다.

 

기능 목록

  • 여러 ChatGPT 모델 지원
  • 클릭 한 번으로 Vercel, Cloudflare Workers, Docker 등에 배포하세요!
  • 타사 애플리케이션을 위한 API 인터페이스 제공
  • 클라우드 및 로컬 배포를 포함한 다양한 배포 방법 지원
  • 자세한 배포 및 사용 설명서 제공

 

도움말 사용

설치 및 배포

버셀 배포

  1. 클라우드 포크 리포지토리 배포: (Vercel 원클릭 배포)
    • 이 리포지토리를 GitHub 계정으로 포크하세요.
    • Vercel 새 프로젝트 페이지로 이동하여 방금 포크한 리포지토리를 가져옵니다.
    • 배포를 클릭하여 배포를 완료합니다.
  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 Workers 배포

  1. Cloudflare Workers 및 Pages 콘솔로 이동하여 작업자를 생성합니다.
  2. 작업자 설정에서 런타임을 nodejs_compat로 설정합니다.
  3. 리포지토리에서 코드 붙여넣기작업자로 이동하여 배포를 클릭합니다.

도커 배포

  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 배포 제한 사항무료 버전은 한 번의 API 요청에 60초가 걸리며 한 달에 100,000번의 API 호출이 가능합니다.
  • 오류 429 ERR_SERVICE_UNAVAILABLE비-Vercel은 이 문제가 발생하기 쉬운데, DDG API가 단일 IP 동시성을 제한하기 때문에 동시성을 줄이고 요청에 프록시 풀을 사용하는 것이 좋습니다.

 

대체 Go 버전 배포: 무료 서버 서버00 배포 상주 서비스

프로젝트 소스

  1. serv00 패널로 이동하여 DNS 영역을 클릭하고 새 영역 추가를 클릭하여 사용자 지정 도메인 이름을 추가합니다.
  2. 참조로 이동하여 A-레코드 구문 분석 추가하기
  3. 추가 서비스를 클릭하고 내 애플리케이션 실행을 클릭합니다. Enabled
  4. 포트 열기 5005를 열겠습니다.
  5. WWW 웹사이트를 클릭하고 웹사이트 도메인 추가를 클릭하여 자신의 도메인 이름을 입력합니다.
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-amd64API KEY를 설정할 수 있습니다.

Serv00 사용자 아이디를 자신의 아이디로 변경합니다.
example.com을 자신의 도메인 이름으로 변경
PORT 열린 포트가 5005가 아닌 경우 변경할 수 있습니다.

 

배포가 완료된 후 도메인에 액세스하면 성공 여부를 나타내는 다음과 같은 메시지가 반환됩니다:

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

 

빌드 후 뉴에이피에 액세스

새 API/하나의 API 사용자 지정 채널 선택
http://chat.xxl.serv00.net/v1/chat/completions

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...