💬 Chat Nio:下一代开源大模型渠道管理平台,一站式解决聊天与API中转

Chat Nio

🔌 简介

Chat Nio,下一代 AI 一站式解决方案,一站式 Chat + 中转 API 站点,支持 OpenAI,Midjourney,Claude,讯飞星火,Stable Diffusion,DALL·E,ChatGLM,通义千问,腾讯混元,360 智脑,百川 AI,火山方舟,新必应,Google Gemini (PaLM2),Moonshot,LocalAI 等模型,支持对话分享,自定义预设,云端同步,模型市场,支持弹性计费 / 订阅计划模式,支持图片解析,支持联网搜索,支持模型缓存,丰富美观的后台管理与仪表盘数据统计。

🎯 功能特性详解

Chat Nio

相对于 NextChat 等偏前端轻量部署的项目, Chat Nio 优势在于更便捷的云端同步、账号管理、更丰富的分享等功能, 以及计费管理系统;相对于 OneAPI 等偏后端轻量部署的项目, Chat Nio 优势在于更丰富的用户界面, 同时渠道管理体系功能更多, 更丰富的用户管理, 并推出偏向用户界面的订阅管理系统。以下是Chat Nio的核心功能特性:

  • SMTP发件与邮件后缀白名单:Chat Nio支持启用SMTP发件服务,并允许自定义邮件后缀白名单,增强通信的安全性与定制化程度。

  • 模型缓存机制:系统具备先进的模型缓存功能,可减少重复请求,降低计费成本。用户可根据需求自由设置最大缓存结果数、缓存模型类型以及缓存时间,一键操作即可实现全部或部分模型的缓存策略调整。

  • 渠道管理体系

    • 自写渠道分配算法:基于Adapter兼容层架构设计,以低耦合、高扩展性为核心,保证了不同渠道间的无缝切换与高效运作。

    • 多渠道优先级调配与权重负载:Chat Nio支持多渠道并行管理,通过优先级和权重设定,确保高优先级渠道优先响应且合理分配请求至各个权重通道中。

    • 渠道状态管理与兼容多种格式:提供全面的渠道状态监控及灵活的模型兼容层,可轻松处理各种模型请求,并支持一键添加、清空模型,以及使用模板模型。

    • 自定义模型与渠道重试:用户可以增加自定义模型,并配置渠道重试次数,当遇到故障时自动切换至优先级更低的渠道,有效提高服务可用性。

    • 同渠道均衡负载与密钥管理:单个渠道内支持多个密钥随机分配请求,搭配Retry机制,即使在故障场景下也能保持内部资源的有效利用。

    • 渠道模型映射与用户分组权限控制:提供精细化的模型映射规则,便于将目标模型适配至现有渠道支持列表中,并可针对不同用户分组设置模型访问权限。

  • 内置安全防护:报错时自动隐藏敏感信息,如上游地址和秘钥,确保信息安全,防止滥用,同时方便问题排查。

🐳 部署方法简述

Chat Nio

Chat Nio支持Docker部署,建议使用Docker Compose进行部署,方面维护管理。

1️⃣ 推荐:Docker Compose 部署

1、创建一个名为 docker-compose.yml 的文件,内容如下:

version: '3'
services:
  mysql:
    image: mysql:latest
    container_name: db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: chatnio
      MYSQL_USER: chatnio
      MYSQL_PASSWORD: chatnio123456!
    expose:
      - "3306"
    volumes:
        - ./db:/var/lib/mysql
    networks:
      - chatnio-network

  redis:
    image: redis:latest
    container_name: redis
    restart: always
    expose:
      - "6379"
    volumes:
      - ./redis:/data
    networks:
      - chatnio-network

  chatnio:
      image: programzmh/chatnio
      container_name: chatnio
      restart: always
      ports:
          - "8000:8094"
      depends_on:
          - mysql
          - redis
      links:
          - mysql
          - redis
      ulimits:
        nofile:
          soft: 65535
          hard: 65535
      environment:
          MYSQL_HOST: mysql
          MYSQL_USER: chatnio
          MYSQL_PASSWORD: chatnio123456!
          MYSQL_DATABASE: chatnio
          REDIS_HOST: redis
          REDIS_PORT: 6379
          REDIS_PASSWORD: ""
          REDIS_DB: 0
          SERVE_STATIC: "true"
      volumes:
        - ./config:/config
        - ./logs:/logs
      networks:
        - chatnio-network

networks:
  chatnio-network:
    driver: bridge
  • MySQL 数据库挂载目录项目 ~/db
  • Redis 数据库挂载目录项目 ~/redis
  • 配置文件挂载目录项目 ~/config

2、在终端中进入该文件所在的目录,运行以下命令启动 Chat Nio:

docker-compose up -d

3、运行成功后, 打开http://localhost:8000,默认的管理员账号为root, 密码 chatnio123456

2️⃣ Docker 部署

1、在终端中执行以下命令 (需先部署好Mysql和redis服务)

docker run -d --name chatnio:latest \
  --network host \
  -p 8000:8094 \
  -v ~/config:/config \
  -v ~/logs:/logs \
  -e MYSQL_HOST=localhost \
  -e MYSQL_PORT=3306 \
  -e MYSQL_DATABASE=chatnio \
  -e MYSQL_USER=root \
  -e MYSQL_PASSWORD=chatnio123456 \
  -e REDIS_HOST=localhost \
  -e REDIS_PORT=6379 \
  -e SECRET=secret \
  -e SERVE_STATIC=true \
  programzmh/chatnio:latest
  • --network host 指使用宿主机网络, 使 Docker 容器使用宿主机的网络, 可自行修改
  • -p 8000:8094 指映射宿主机端口为 8000, 可自行修改冒号前的端口号
  • SECRET: JWT 密钥, 自行生成随机字符串修改
  • SERVE_STATIC: 是否启用静态文件服务 (正常情况下不需要更改此项, 详见下方常见问题解答)
  • -v ~/config:/config 和 -v ~/logs:/logs 指挂载配置文件和日志文件的宿主机目录, 可自行修改
  • 需配置 MySQL 和 Redis 服务, 请自行参考上方信息修改环境变量
  • 如需使用 stable 版本, 请使用 programzmh/chatnio:stable 替代 programzmh/chatnio:latest

2、运行成功后, 打开http://localhost:8000,默认的管理员账号为root, 密码 chatnio123456

原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

高等精灵实验室

原创文章,作者:诺多,如若转载,请注明出处:https://www.huluohu.com/posts/991/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
🌟 揭秘FlowiseAI:低代码构建LLM应用的新星,直追FastGPT!
上一篇 2024年3月9日 06:13
🎨Excalidraw:一款颠覆传统白板的手绘风开源画板
下一篇 2024年3月11日 08:19

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1条)