分类: ChatGPT

  • ChatAIT AI聊天对话程序,支持GPT3.5、GPT4、Midjourney 全源码下载

    ChatAIT AI聊天对话程序,支持GPT3.5、GPT4、Midjourney 全源码下载

    ChatAIT是用golang+vue开发的AI对话网站,对话模式模仿ChatGPT(GPT3.5、GPT4)和Midjourney的形式。

    支持:

    •  GPT4
    •  GPT3.5
    •  Midjourney
    •  充值和购买次数
    •  openai接口循环调用
    •  midjourney接口循环调用
    •  midjourney接口多进程
    •  midjourney U V Zoom Vary(strong) Vary(Subtle) ⬅️ ➡️ ⬆️ ⬇️ 等操作
    •  midjourney 支持文生图和图生图 以及各种参数
    •  midjourney 生成的图片可选是否本地保存
    •  管理员及角色管理
    •  会员管理
    •  会员等级
    •  对接微免签
    •  midjourney提问支持百度翻译
    •  midjourney图片本地保存缩略图,以便前台快速打开
    •  敏感词过滤
    •  站内公告文章系统
    •  百度文心一言
    •  I18n 多语言
    •  更多实用功能

    演示地址

    ChaiAIT

    截图

    导入mysql数据库及初始数据

    本地浏览器打开网址:http://xxx.xxx.xxx.xxx/phpmyadmin 其中的xxx.xxx.xxx.xxx为服务器的ip地址,打开页面后左侧菜单New

    数据库名称: chatait_db, 编码格式: utf8mb4_general_ci

    创建完成后,点击左侧菜单 chatait_db , 点击顶部菜单SQL,把下载的程序包内 db目录下的chatait_db.sql文件的内容粘贴到浏览器页面输入框内。点击Go按钮执行初始化数据库命令。

    上传ChatAIT程序

    下面利用winscp、lrzsz命令、scp命令,这些其一上传至服务器就好,如果是winscp直接拖拽到对应目录即可,如果是lrzsz命令的话,输入rz命令弹出提示框上传。
    将下载的程序包内 frontendServer backendServer frontendVue backendVue tmp files 这几个目录全部上传至服务器的/home/wwwroot/chat/ 目录下。

    配置文件

    打开本地程序包内config目录下的config.toml文件,把最下面的数据库配置部分按照你的服务器实际用户名密码来修改,如果其他步骤都和我的流程一致,则其他部分无需修改。
    修改完成后,将config目录上传至/home/wwwroot/chat/下。

    配置nginx

    nginx是会员能访问到网站的关键步骤,一定要按照你的真实域名修改。打开本地程序包内的nginx目录下的chatait.conf文件,找到所有的chatait.demo替换为你的主域名,如果按照我的流程部署,其他位置无需修改。
    修改完成后,将chatait.conf文件上传至/usr/local/nginx/conf/vhost/下。

    注:如果你的网站想要启用ssl即https,需要注释掉监听的80端口,取消443端口监听前面的注释。并把ssl相关的注释打开,配置好你的ssl证书的key和crt文件路径。

    配置完成后,执行重启nginx命令

    lnmp nginx restart
    

    修改程序目录的权限

    把程序目录的权限全部改成chatait的权限,防止root启动程序带来安全隐患。执行以下命令:

    chown -R chatait:chatait /home/wwwroot/chatait
    chmod -R 755 /home/wwwroot/chatait
    

    检查网站部署情况

    chatait用户登录ssh终端,执行以下命令来检查前端部署情况:

    /home/wwwroot/chatait/frontendServer/chatait-frontend-server --gf.gcfg.path=/home/wwwroot/chatait/config
    

    执行该命令后,打开浏览器,打开网址 http://www.chatait.demo ,如果网站能正常访问,点击登录按钮有反应(提示用户名和密码错误也是反应),则证明前台部署成功,按ctrl+C 按键打断命令。

    接下来执行以下命令来检查后台部署情况:

    /home/wwwroot/chatait/backendServer/chatait-backend-server --gf.gcfg.path=/home/wwwroot/chatait/config
    

    执行该命令后,打开浏览器,打开网址 http://backend.chatait.demo ,如果网站能正常访问,点击登录按钮有反应(提示用户名和密码错误也是反应),则证明后台部署成功,按ctrl+C 按键打断命令。

    注:默认管理员账户: admin, 密码: admin111

    配置服务项并设置开机启动

    上面的步骤执行完成后,如果ssh客户端一旦退出,程序就会中断,网站服务端接口将无法访问。因为我们需要将前台服务端和后台服务端加入到系统项里,并配置开机启动。
    首先,以root用户登录ssh客户端,将程序包内的system目录内的 chataitBackend.service 和 chataitFrontend.service 两个文件上传至服务器 /etc/systemd/system 目录下,然后依次执行以下命令:

    systemctl daemon-reload
    systemctl enable chataitBackend.service
    systemctl enable chataitFrontend.service
    systemctl start chataitBackend.service
    systemctl start chataitFrontend.service
    

    上述命令执行完成后,再次浏览器打开前台和后台网址,看看是否能正常访问,并且点击登录按钮都有反应(提示用户名和密码错误也是反应),则全部部署完毕。

  • 使用Azure低价Piao每个月20刀的Chatgpt 4全过程

    使用Azure低价Piao每个月20刀的Chatgpt 4全过程

    Chatgpt4 官方价格每个月20刀,使用Azure 100开通GPT每个月可以使用100万次。买一个开通过GPT的Az账号大概是55-60的样子,相当于白嫖了。

    这个教程部分原创,部分是整理自其它教程,算是融合怪吧。

    整个过程不需要自己有服务器,不需要自己有域名,当然如果不想使用cf被墙的域名,也可以使用自己的域名。

    步骤以下:

    • 购买一个AZ号,然后开通OPENAI权限并部署。
    • 使用cf-openai-azure-proxy来使用cf worker处理请求。
    • 使用ChatGPT-Next-Web来建立客户端。当然你也可以使用其它客户端

    整个过程看起来复杂,实际操作下来几分钟就可以了。

    AZ相关操作

    步骤

    创建OpenAI

    1,搜索资源 OpenAI 可找到Azure OpenAI。点击创建!

    填写信息!名称随意!定价选S0

    区域,可选美国东部(法国和欧洲,看你使用情况可选)

    微软Azure申请OpenAI以及部署使用教程

    2,网络选择所有网络 即可。

    微软Azure申请OpenAI以及部署使用教程

    3,标记。没有啥标记的直接下一步!

    微软Azure申请OpenAI以及部署使用教程

    4,验证相关信息,验证通过后,直接点击创建即可!

    微软Azure申请OpenAI以及部署使用教程

    5,稍等几分钟,部署完成!

    微软Azure申请OpenAI以及部署使用教程

    记录关键信息

    打开新建的OpenAI 有几个关键的内容,保存好后面会使用!

    1,终结点 ,如图就是我们专属的接口域名地址

    2,密钥,点击管理密钥可看见密钥内容

    微软Azure申请OpenAI以及部署使用教程

    模型部署

    1,点击 模型部署,点击 【管理部署】按钮。浏览器会在当前页面打开模型管理的另一个平台。

    微软Azure申请OpenAI以及部署使用教程

    2,在Azure AI 平台中,点击【新建部署】

    微软Azure申请OpenAI以及部署使用教程

    3,这里需要选择模型,以及填写部署名称。

    模型,选择 gpt-35-turbo(如果你有gpt-4.0,选择这个也行)

    部署名,填写即可。这个部署名后面也会用到!

    高级选项, 可设置Token上限,最高支持240K(酌情选择设置)

    自定义过滤器,按需设置即可

    微软Azure申请OpenAI以及部署使用教程
    微软Azure申请OpenAI以及部署使用教程

    4,分分钟创建成功!Azure AI中也提供了和可以直接聊天的功能,操场设置各类参数。

    微软Azure申请OpenAI以及部署使用教程
    微软Azure申请OpenAI以及部署使用教程

    5,体验自带的会话功能。

    微软Azure申请OpenAI以及部署使用教程

    好了,az的操作到此完成,在这个步骤中我们主要得到了

    1,终结点 ,如图就是我们专属的接口域名地址

    2,密钥,点击管理密钥可看见密钥内容,有两个密钥,任选其一即可。

    使用CF Worker来代理

    由于大多数互联网产品暂不支持 Azure OpenAI 的调用接口,我们可以使用 CloudFlare Workers 进行代理设置。

    首先注册该网站的账户,然后按以下步骤操作:

    1. 创建一个 Workers
    Snipaste_2023-04-20_10-40-15.jpg

    代理 OpenAI 的请求到 Azure OpenAI Serivce,代码部署步骤:

    1. 注册并登录到 Cloudflare 账户
    2. 创建一个新的 Cloudflare Worker
    3. 将 cf-openai-azure-proxy.js 复制并粘贴到 Cloudflare Worker 编辑器中
    4. 通过修改或环境变量调整 resourceName 和 deployment mapper 的值
    5. 保存并部署 Cloudflare Worker
    6. #3 可选绑定自定义域名: 在 Worker 详情页 -> Trigger -> Custom Domains 中为这个 Worker 添加一个自定义域名

    使用说明

    先得到 resourceName 和 deployment mapper, 登录到Azure的后台:

    env

    这里有两种做法:

    • 直接修改他们的值, 如:

    // The name of your Azure OpenAI Resource. const resourceName=”codegpt” // deployment model mapper const mapper = { ‘gpt-3.5-turbo’: ‘gpt3’, ‘gpt-4’: ‘gpt4’ }; 其他的map规则直接按这样的格式续写即可

    • 或者通过 cloudflare worker 控制台, 进入 Workers script > Settings > Add variable under Environment Variables.

    好的,这个步骤完成,这个时候就有了api接口域名。这个域名可以在大多数支持chatgpt的程序中使用,而且不需要key了。

    使用ChatGPT-Next-Web+Vercel来实际免服务器部署

    开始使用

    1. 准备好你的 api接口域名,也就是我们上一个步骤cf worker的域名。
    2. Fork一份源码,必须要Fork,到自己的账号。
    3. 点击右侧按钮开始部署,直接使用 Github 账号登录即可,记得在环境变量页填入 API Urk和页面访问密码 CODE;Key不用填。访问密码设置一下,这样每次访问的时候输入密码就可以,不然还得每次手动设置API url。
    4. 部署完毕后,即可开始使用;
    5. (可选)绑定自定义域名:Vercel 分配的域名 DNS 在某些区域被污染了,绑定自定义域名即可直连。

    到此全部完成。 只需要自己提供下域名就可以了。

  • uniapp、hyperf MineAdmin 实现的 chatgpt应用,支持小程序、H5、App!

    uniapp、hyperf MineAdmin 实现的 chatgpt应用,支持小程序、H5、App!

    效果图

    App

    后台系统

    线上体验

    注册时账号密码随便填, 邀请码填: 1,这个邀请码就是上级用户ID而已,1为顶级!

    H5 http://ai.putyy.com

    技术栈 具体依赖看项目代码吧!

    前端

    uniapp vue3 pug scss 等

    后端

    swoole hyperf MineAdmin 等

    功能说明

    客户端: 问答上下文、快捷提问、角色自定义、历史会话、公开频道、模型设置、VIP系统、邀请好友、分佣系统、联系客服、钱包系统、提现、订单、好友管理等

    后台:chatgpt角色自定义、快捷提问管理、聊天数据管理、个人中心菜单管理、订单管理、用户管理、卡密管理、设置(openai地址、客服信息、用户协议等设置)、图片素材(个人中心banner)、openai_key管理(自动轮训)

    开始安装

    下载本项目

    git clone https://github.com/putyy/chatgpt.git

    安装 MineAdmin

    1. 按照官方文档进行安装 安装文档

    2. 安装好后,打开后台: 工具->模块管理->新增,模块名称: Ai 其他随意, 添加完成后需要启用

    3. 安装本项目mineadmin-php

    复制本项目 ./MineAdmin/php/app/ai 下所有子文件夹,粘贴到到mineadmin-php app/ai目录下

    cp -r ./MineAdmin/php/app/ai/ ./you-mineadmin-php/app/ai

    执行以下命令添加本项目需要的数据表及初始化数据

    php bin/hyperf.php mine:migrate-run ai

    php bin/hyperf.php mine:seeder-run ai

    php bin/hyperf.php ai:init-menu

    生成Ai api需要的jwt key

    php bin/hyperf.php mine:jwt-gen –jwtSecret=JWT_AI_SECRET

    修改mineadmin后端 jwt 配置文件,位置: config/autoload/jwt.php,新增如下内容:

    return [
        // ......
        'scene' => [
             // 新增如下
             'ai' => [
                'secret' => env('JWT_AI_SECRET', ''), // 非对称加密使用字符串,请使用自己加密的字符串
                'login_type' => 'sso',
                'sso_key' => 'id',
                'ttl' => 86400,
                'blacklist_cache_ttl' => 86400, 
             ],
             // ......
        ]
        // ......
    ]

    修改mineadmin后端 route 配置文件,位置: config/routes.php,新增如下内容:

    Router::addServer('message', function () {
       // ......
       // 新增如下内容
       Router::get('/ws-chat', 'App\Ai\Api\Websocket', [
           'middleware' => [  ]
       ]);
       // ......
    })

    安装composer依赖包

    composer require easyswoole/oss putyy/php-constants orhanerday/open-ai –ignore-platform-reqs

    修改mineadmin后端 file 配置文件,位置: config/autoload/file.php,新增如下内容:

    return [
      'storage'=>[
          'qiniu'=>[
              // ......
              'accessKey' => '七牛云accessKey',   
              'secretKey' => '七牛云secretKey',   
              'host' => env('QINIU_HOST', '你的七牛云访问主域名,例: baidu.com'),
              // 具体查看 https://developer.qiniu.com/kodo/1671/region-endpoint-fq
              'upload_domain' => env('QINIU_UPLOAD_DOMAIN', 'https://up-cn-east-2.qiniup.com'),
              'image_bucket' => env('QINIU_IMAGE_BUCKET', '七牛云图片空间'),
              'image_domain' => env('QINIU_IMAGE_DOMAIN', '七牛云图片域名'),
              // 以下未用到 不用配置
              'audio_bucket' => env('QINIU_AUDIO_BUCKET'),
              'video_bucket' => env('QINIU_VIDEO_BUCKET'),
              'audio_domain' => env('QINIU_AUDIO_DOMAIN'),
              'video_domain' => env('QINIU_VIDEO_DOMAIN'),
              // ......
          ]
      ]
    ]
    1. 安装本项目mineadmin-vue

    复制本项目 ./MineAdmin/vue/src 下所有子文件夹,粘贴到到mineadmin-vue src目录下

    cp -r ./MineAdmin/vue/src/ ./you-mineadmin-vue/src

    安装 qiniu-js

    yarn add qiniu-js –save

    运行

    yarn run dev

    打开后台系统

    添加openai api key: Ai系统->openai_key->新增, 返回列表点击顶部刷新缓存

    设置站点相关信息: Ai系统->设置

    大功告成,其他功能自行探索!

    .

    安装 uniapp

    1. 按照uniapp官方文档安装好环境

    2. 用HBuilderX打开本项目UniApp文件夹

    3. 按照以下说明修改配置文件(相关文件都在UniApp文件夹内)

    uniapp开发者中心 点击获取appid

    # 修改 ./manifest.json 文件中的appid
    {
        "name" : "应用名称",
        "appid" : "你的应用ID",
        "description" : "",
        ......
    }
    
    # 复制 ./config.example.ts => ./common/config.ts 文件, 修改对应配置
    let config = [
        {
            wsUrl: 'ws://开发环境的域名ws/ws-chat',
            baseURL: 'https://开发环境的域名/api/ai/api/'
        },
         {
             wsUrl: 'ws://线上域名/ws/ws-chat',
             baseURL: 'https://线上域名/api/ai/api/'
        }
    ]

    .

    4. 安装以下插件(点击打开,页面最右侧导入HBuilderX),已安装过则忽略

    uni-ui

    compile-typescript

    compile-node-sass

    pug-language

    compile-pug-cli

    6. HBuilderX最顶部: 运行->运行到浏览器

    大功告成!

    其他

    uniapp打包app、h5、小程序参考uniapp官方文档,使用HBuilderX配置manifest.json 之后进行打包操作!

    .

    nginx配置文件可以参考如下

    # 前端
    location / {
      index  index.html index.htm;
      try_files $uri $uri/ /index.html;
    }
    
     # PHP后端代理,这里的 /prod/ 要跟前端 .env.production 的 VITE_APP_PROXY_PREFIX 值一致
    location /api/ {
      
      if ($request_method = 'OPTIONS') {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, DELETE';
        add_header Access-Control-Allow-Headers 'DNT,Keep-Alive,User-Agent,Cache-Control,Content-Type,Authorization,X-Token';
        return 204;
      }
      
      # 将客户端的 Host 和 IP 信息一并转发到对应节点
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      # 将协议架构转发到对应节点,如果使用非https请改为http
      proxy_set_header X-scheme https;
    
      # 执行代理访问真实服务器
      proxy_pass http://127.0.0.1:9501/;
    }
    
    location /ws/ {
        # WebSocket Header
        proxy_http_version 1.1;
        proxy_set_header Upgrade websocket;
        proxy_set_header Connection "Upgrade";
    
        # 将客户端的 Host 和 IP 信息一并转发到对应节点
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
    
        # 客户端与服务端无交互 60s 后自动断开连接,请根据实际业务场景设置
        proxy_read_timeout 60s ;
    
        # 执行代理访问真实服务器
        proxy_pass http://127.0.0.1:9502/;
    }
      
    # ^~ 不能去掉,/upload/ 中的 upload 可以改成其他名称
    location ^~ /upload/ {
        # 将客户端的 Host 和 IP 信息一并转发到对应节点
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 将协议架构转发到对应节点,如果使用非https请改为http
        proxy_set_header X-scheme https;
    
        # 执行代理访问真实服务器
        proxy_pass http://127.0.0.1:9501/;
    }

    MineAdmin-vue下的.env.development文件如下

    VITE_APP_BASE_URL = http://you.domain.com/api
    
    VITE_APP_UPLOAD_URL = http://you.domain.com/upload
    
    VITE_APP_WS_URL = ws://you.domain.com/ws/message.io

    uniapp下的./common/config.ts文件如下

    let config = [
        {
            wsUrl: 'ws://you.domain.com/ws/ws-chat',
            baseURL: 'https://you.domain.com/api/ai/api/'
        },
         {
             wsUrl: 'ws://you.domain.com/ws/ws-chat',
             baseURL: 'https://you.domain.com/api/ai/api/'
        }
    ]
    

    免责声明

    使用本软件不得用于开发违反国家有关政策的相关软件和应用,若因使用本软件造成的一切法律责任均与本人无关!

  • ChatGPT API接口 PHP版本

    ChatGPT API接口 PHP版本

    一个简单的php实现的chatgpt接口的实例,传入wd关键字,直接在页面返回chatgpt的结果。

    需要注意的是要把key写到代码的key里边。其实现在这样的代码,基本都可以用chatgpt来实现。

    <?php
    set_time_limit(0);
    // ChatGPT API endpoint
    // $url = 'https://api.openai.com/v1/engines/davinci-codex/completions';
    $url = 'https://api.openai.com/v1/chat/completions'; //聊天接口
    // $url = 'https://api.openai.com/v1/completions';
    
    // Your API key
    $api_key = 'sk-****************************';
    
    
    
    // Request headers
    $headers = array(
    'Content-Type: application/json',
    'Authorization: Bearer ' . $api_key,
    );
    
    $wd= $_POST['wd'];
    if($wd!=null)
    {
    // Request data
    $data = array(
    // 'model' => 'text-davinci-003',
    'model' => 'gpt-3.5-turbo', //聊天模型
    // 'model' => 'text-curie-001',
    'temperature' => 0.8,
    // 'prompt' => '如何用php使用chatgpt的聊天接口', //聊天不用
    'max_tokens' => 3000,
    'messages' => [
    ["role" => "user", "content" => $wd]
    ]
    );
    // Send request
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    $response = curl_exec($ch);
    curl_close($ch);
    $json_array = json_decode($response, true);
    // Print response
    echo $json_array['choices'][0]['message']['content'];
    }?>
    
    
    
  • 无错ChatGPT升级 gpt-3.5-turbo-16k 模型

    无错ChatGPT升级 gpt-3.5-turbo-16k 模型

    第一步
    修改slice.ts文件 文件地址:/src/store/config/slice.ts
    ooLphHv8

    第二步
    修改index.tsx文件 文件地址:/src/pages/admin/token/index.tsx
    IAzxl6HC

    第三步
    修改package.json 文件地址:根目录
    FXUW4puc

    无错ChatGPT下载地址:

    [b2_insert_post id=”3301″]

  • 可部署商业化的 ChatGpt 网页应用 1.31版

    可部署商业化的 ChatGpt 网页应用 1.31版

    ChatGPT Web

    A commercially-viable ChatGpt web application built with React.

    可部署商业化的 ChatGpt 网页应用。

    ? 演示

    页面链接

    Web 演示: https://www.aizj.top/

    演示地址:https://www.aizj.top
    后台地址:https://www.aizj.top/admin
    管理账号:admin@c.om
    管理密码:admin123
    

    如需帮助请提交 Issues 或赞赏时留下联系方式。

    页面截图

    68747470733a2f2f66696c65732e636174626f782e6d6f652f7470393633652e706e67 68747470733a2f2f66696c65732e636174626f782e6d6f652f7935617662782e706e67 68747470733a2f2f66696c65732e636174626f782e6d6f652f6b31366a737a2e706e67 68747470733a2f2f66696c65732e636174626f782e6d6f652f386f356f6a612e706e67

    ? 主要功能

    • 后台管理系统,可对用户,Token,商品,卡密等进行管理
    • 精心设计的 UI,响应式设计
    • 极快的首屏加载速度(~100kb)
    • 支持Midjourney绘画和DALL·E模型绘画,GPT4等应用
    • 海量的内置 prompt 列表,来自中文英文
    • 一键导出聊天记录,完整的 Markdown 支持
    • 支持自定义API地址(如:openAI / API2D

    ? 开始使用

    Node 环境

    node 需要 ^16 || ^18 || ^19 版本(node >= 16.19.0),可以使用 nvm 管理本地多个 node 版本。

    # 查看 node 版本
    node -v
    
    # 查看 npm 版本
    npm -v
    
    # 查看 yarn 版本
    yarn -v
    
    

    1.先 Fork 本项目,然后克隆到本地。

    git clone https://github.com/79E/ChatGpt-Web.git
    

    2.安装依赖

    yarn install
    

    3.运行

    # web项目启动
    yarn dev:web
    

    4.打包

    yarn build
    

    ⛺️ 环境变量

    如果是前后端分离模式部署项目则需要填以下配置

    VITE_APP_REQUEST_HOST

    请求服务端的Host地址。

    ? 开发

    强烈不建议在本地进行开发或者部署,由于一些技术原因,很难在本地配置好 OpenAI API 代理,除非你能保证可以直连 OpenAI 服务器。

    本地开发

    1. 安装 nodejs 和 yarn具体细节请询问 ChatGPT
    2. 执行 yarn install 即可
    3. web项目开发 yarn dev:web
    4. 服务端项目开发 yarn dev
    5. 打包项目 yarn build

    服务端

    1. 前端请求服务端的 接口文档 你们可以按照这个接口文档进行开发
    2. 如需帮助请提交 Issues 或赞赏时留下联系方式。

    ? 部署

    直接将WEB项目打包好的 dist 目录上传到服务器即可。注意服务器IP地址位置!

    Vercel

    如果你将其托管在自己的 Vercel 服务器上,可点击 deploy 按钮来开始你的部署!