Giter Club home page Giter Club logo

amyflash / chatgpt-on-wechat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zhayujie/chatgpt-on-wechat

0.0 1.0 0.0 3.66 MB

基于大模型搭建的微信聊天机器人,同时支持微信、企业微信、公众号、飞书、钉钉接入,可选择GPT3.5/GPT4.0/Claude/文心一言/讯飞星火/通义千问/Gemini/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。

License: MIT License

Shell 0.52% Python 99.47% Dockerfile 0.01%

chatgpt-on-wechat's Introduction

基于这个做了些更付合自己需求的修改,我主要是在自己的服务器上进行docker部署,主要修改了docker-compose.yml文件

Docker部署

使用docker部署无需下载源码和安装依赖,只需要获取 docker-compose.yml 配置文件并启动容器即可。

前提是需要安装好 dockerdocker-compose,安装成功的表现是执行 docker -vdocker-compose version (或 docker compose version) 可以查看到版本号,可前往 docker官网 进行下载。

(1) 下载 docker-compose.yml 文件

wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml

下载完成后打开 docker-compose.yml 修改所需配置,如 OPEN_AI_API_KEYGROUP_NAME_WHITE_LIST 等,默认是一个微信机器人。

如果需要启动多个机器人就写多个容器配置即可,这里是例子:

version: '2.0'
services:
  qwen-on-wechat:
    image: zhayujie/chatgpt-on-wechat
    container_name: qwen-on-wechat
    security_opt:
      - seccomp:unconfined
    environment:
      OPEN_AI_API_KEY: ''
      MODEL: 'qwen'
      PROXY: ''
      SINGLE_CHAT_PREFIX: '[""]'
      SINGLE_CHAT_REPLY_PREFIX: ""
      GROUP_CHAT_PREFIX: '["@bot"]'
      GROUP_NAME_WHITE_LIST: '["分身大集合"]'
      IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
      CONVERSATION_MAX_TOKENS: 1000
      SPEECH_RECOGNITION: 'False'
      CHARACTER_DESC: '你是通义千问, 一个由阿里训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
      EXPIRES_IN_SECONDS: 3600
      USE_GLOBAL_PLUGIN_CONFIG: 'True'
      QWEN_ACCESS_KEY_ID: "your ak id"
      QWEN_ACCESS_KEY_SECRET: "your aks"
      QWEN_AGENT_KEY: "your agent key"
      QWEN_APP_ID: "your app id"
      QWEN_NODE_ID: ""
  linkai-on-wechat:
    image: zhayujie/chatgpt-on-wechat
    container_name: linkai-on-wechat
    security_opt:
      - seccomp:unconfined
    environment:
      OPEN_AI_API_KEY: ''
      MODEL: ''
      PROXY: ''
      SINGLE_CHAT_PREFIX: '[""]'
      SINGLE_CHAT_REPLY_PREFIX: ""
      GROUP_CHAT_PREFIX: '["@bot"]'
      GROUP_NAME_WHITE_LIST: '["分身大集合"]'
      IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
      CONVERSATION_MAX_TOKENS: 1000
      SPEECH_RECOGNITION: 'False'
      CHARACTER_DESC: '你是linkai, 一个由linkAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
      EXPIRES_IN_SECONDS: 3600
      USE_GLOBAL_PLUGIN_CONFIG: 'True'
      USE_LINKAI: 'True'
      LINKAI_API_KEY: 'your api key'
      LINKAI_APP_CODE: 'your app code'

上面这段docker-compose.yml 里定义了两个service,既两个微信机器人:qwen-on-wechat和linkai-on-wechat,具体参数内容,参考config.py

(2) 启动容器

docker-compose.yml 所在目录下执行以下命令启动容器:

sudo docker compose up -d

运行 sudo docker ps 能查看到 NAMES 为 chatgpt-on-wechat 的容器即表示运行成功。多个是多个机器人的,就能看到qwen-on-wechat和linkai-on-wechat这两个容器

注意:

  • 如果 docker-compose 是 1.X 版本 则需要执行 sudo docker-compose up -d 来启动容器
  • 该命令会自动去 docker hub 拉取 latest 版本的镜像,latest 镜像会在每次项目 release 新的版本时生成

最后运行以下命令可查看容器运行日志,扫描日志中的二维码即可完成登录:

sudo docker logs -f chatgpt-on-wechat

如果中间有报错,可以进入容器重新执行:

sudo docker exec -it container /bin/bash
python app.py

(3) 关闭容器,如果需要关闭容器,执行这个命令:

sudo docker compose down

这样对应的微信机器人也停止收发消息了,避免token浪费

chatgpt-on-wechat's People

Contributors

6vision avatar a5225662 avatar amyflash avatar bachery avatar befantasy avatar cheungchazz avatar chiaki-chan avatar dividduang avatar erayyym avatar goldfishh avatar hanfangyuan4396 avatar huiwentt avatar iredscarf avatar js00000 avatar lanvent avatar lichengzhe avatar lihuaiyu0131 avatar limccn avatar mari1995 avatar poseidonli0514 avatar resphinas avatar saboteur7 avatar scut-chenzk avatar uezhenxiang2023 avatar wanggang1987 avatar wqh0109663 avatar xyc0123456789 avatar zhaoyi-yan avatar zhayujie avatar zwssunny avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.