AIパーソナル・ラーニング
と実践的なガイダンス
豆包Marscode1

DDG-Chat:ワンクリックでChat2APIバックエンドをデプロイ、DuckDuckGoをAPIへ

はじめに

DDG-Chatは、複数のプラットフォームにワンクリックでデプロイできるようにすることを目的としたオープンソースプロジェクトです。 チャットGPT 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. クラウドフォークのリポジトリ展開: (Vercelのワンクリック展開)
    • このリポジトリをあなたのGitHubアカウントにフォークする。
    • Vercel New Projectページに行き、Forkしたリポジトリをインポートする。
    • 配置を完了するには、[Deploy]をクリックします。
  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
      

クラウドフレア・ワーカーの展開

  1. Cloudflare Workers and Pagesコンソールに行き、ワーカーを作成します。
  2. Workersの設定で、ランタイムをnodejs_compatに設定する。
  3. リポジトリからコードを貼り付けるWorkersに移動し、Deployをクリックする。

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の使用

コールインターフェイス

ChatNextWebのようなサードパーティのChatGPTアプリケーションを使ってインターフェースを呼び出してください:

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 現在サポートされているモデルを表示できます。

一般的な問題

  • ヴェルセル配備の制限無料版では、1回のAPIリクエストに60秒かかり、月間100,000回のAPIコールが必要です。
  • エラー 429 ERR_SERVICE_UNAVAILABLEDDG APIは単一IPの同時実行を制限しているので、同時実行を減らし、リクエストにプロキシプールを使うことを推奨します。

 

代替碁バージョン展開:無料サーバーserv00展開常駐サービス

プロジェクト・ソース

  1. serv00パネルに移動し、DNSゾーンをクリックし、新しいゾーンを追加をクリックして独自のカスタムドメイン名を追加します。
  2. Aレコードのパージングを追加するためにcfへ行く
  3. Additional servicesをクリックし、Run your own applicationsをクリックする。 Enabled
  4. ポートを開いてください。
  5. WWW Websitesをクリック Add website Domainをクリックして、自分のドメイン名を入力する。

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

  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"
}

 

ビルド後のnewapiへのアクセス

新 api/one api セレクトカスタムチャンネル
http://chat.xxl.serv00.net/v1/chat/completions

無断転載を禁じます:チーフAIシェアリングサークル " DDG-Chat:ワンクリックでChat2APIバックエンドをデプロイ、DuckDuckGoをAPIへ
ja日本語