标签: 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
    

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

  • 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 网页应用 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 按钮来开始你的部署!