AI部署指南

embedded/2024/9/23 1:02:29/

部署指南
建议大家尽可能的自己去部署,如果实在懒得搞,可以找我来帮你部署,详情参考 服务器代部署说明。

由于时间仓促,文档可能尚未详尽,我将在后续逐步补充详细的说明文档。

架构草图
image

项目依赖
在这里插入图片描述

必选依赖

MySQL 5.7+

Redis 7.0+ (低版本兼容性未知)

OpenAI Key

七牛云对象存储 Kodo 服务 (需要配置以下图片样式)

名称 接口

avatar	imageView2/1/w/400/h/400/format/webp/q/75
thumb	imageView2/2/w/1280/h/1280/format/webp/interlace/1/q/80|imageslim
thumb_500	imageView2/2/w/500/h/500/format/webp/q/75
square_500	imageView2/1/w/500/h/500/format/jpg/q/75
fix_square_1024	imageMogr2/auto-orient/thumbnail/!1024x1024r/gravity/Center/crop/1024x1024/blur/1x0/quality/75
resize1024x576	imageView2/1/w/1024/h/576/format/png/q/75
resize576x1024	imageView2/1/w/576/h/1024/format/png/q/75
resize768x768	imageView2/1/w/768/h/768/format/png/q/75

可选依赖

邮件服务器(邮箱登录、注册功能暂未开放)
短信服务(如需注册功能,则以下至少有一个)
阿里云短信服务
腾讯云短信服务
内容安全检测(使用阿里云的内容安全服务,用于检测提示语中是否包含敏感词汇)
有道翻译 API 接口(翻译功能、文生图及图生图提示语中文转英文)
百度文心千帆大模型 Keys,支持以下模型 【开通指南】
model_ernie_bot_turbo
model_ernie_bot
阿里灵积平台模型 Keys,支持以下模型
qwen-v1
讯飞星火大语言模型 Keys,支持以下模型
general
generalv2
Anthropic API Keys,支持以下模型
claude-instant
cluade-2.0
DeepAI 平台 Keys,用于图片超分辨率、上色
Stability AI Stable Diffusion 官方提供的 API,用于 SDXL 1.0 模型文生图、图生图
Leap 平台 Keys,用于 Leap 平台提供的文生图、图生图模型
Fromston 国内 6pen 团队提供的 Keys,用于文生图、图生图模型
getimg.ai 平台 Keys,用于文生图、图生图模型
支付宝在线支付

部署步骤

  1. 初始化 MySQL 数据库
    创建数据库

CREATE DATABASE aidea_server CHARSET utf8mb4;
自 2023 年 11 月 29 日起,新装用户不需要执行下面的步骤,数据库迁移将自动完成,无需人为干预。

老用户依然需要将这里面所有的 sql 依次执行,直到 2023112901-mix.sql 文件为止,然后在配置文件 config.yaml 中,增加配置 enable-migrate: true,此后版本升级不在需要手动执行 SQL。

请注意:老用户一定要先执行完所有的 SQL 后再修改配置文件增加 enable-migrate: true!

按顺序执行 migrate/sql/*.sql 文件,完成数据库的初始化。

这里以 MySQL 命令行的方式为例:

mysql> CREATE DATABASE aidea_server CHARSET utf8mb4;
mysql> USE aidea_server;
mysql> SOURCE /Users/mylxsw/Workspace/codes/ai/ai-server/migrate/sql/2023090801-ddl.sql;
mysql> SOURCE /Users/mylxsw/Workspace/codes/ai/ai-server/migrate/sql/2023090802-dml.sql;
mysql> SOURCE /Users/mylxsw/Workspace/codes/ai/ai-server/migrate/sql/2023092501-dml.sql;
...

注意:在 migrate/sql 目录中包含很多 .sql 的文件,你需要按照时间顺序依次执行所有的 SQL 文件,以完成数据库的初始化。

  1. 创建配置文件
    以 config.yaml 为范例,修改配置文件,放置在服务器的任意目录(建议目录 /etc/aidea-server.yaml)。

完整配置选项参考 config/flag.go 文件。

  1. 启动服务
    将编译好的软件包放置在服务器的任意目录(建议目录 /usr/local/bin/aidea-server),执行以下命令启动服务
/usr/local/bin/aidea-server --conf /etc/aidea-server.yaml

也可以使用 Docker 容器启动服务,该部分文档待补充。

常见问题
部署过程中遇到问题,不知道该如何解决

请在 GitHub Issues 提出你的问题,有时间的时候我会尽快回复。

部署文档不详细,什么时候补充?

有空的时候会补充,但是不保证时间,大家普遍遇到的问题会随时更新。

部署了服务端之后,客户端要怎么修改才能使用自己的服务端呢?

请 Fork 项目 mylxsw/aidea,然后修改 lib/helper/constant.dart 文件,找到 apiServerURL 常量,修改为自己服务器的地址,然后重新打包客户端即可。

// API 服务器地址

const apiServerURL = 'https://api.aidea.com';

有没有详细的数据库设计文档?

没有,但是有一份简要版的说明文档,参考 常用表结构

我不想自己安装,能否帮我部署一套?

建议大家尽可能的自己去部署,遇到问题在 GitHub Issues 提出,如果实在懒得搞,可以找我来帮你部署,详情参考 服务器代部署说明。

七牛云对象存储 Kodo 在哪里配置图片样式?

在这里插入图片描述

新用户没有智慧果,无法使用聊天功能

请在数据库中,参考 users 表和 quota 表,手动为用户添加智慧果。

常用表结构
用户表 users
常用字段 备注
phone 手机号
email 邮箱
password 密码(加密存储)
realname 昵称
status 用户状态: active-正常, deleted-已注销
created_at 账号注册时间
invited_by 邀请人 ID
invite_code 用户的邀请码
系统默认数字人 room_gallery
常用字段 备注
name 数字人名称
model 数字人模型:gpt-3.5-turbo、gpt-4
vendor 厂商,默认全部 openai
prompt 提示语
max_context 最大保持的上下文长度,默认全部写 6
init_message 初次进入数字人时,默认显示的欢迎信息
avatar_url 数字人头像 URL 地址
tags 数字人分类
root_type 数字人类型:system/default-默认数字人
用户智慧果余额 quota
常用字段 备注
user_id 用户 ID
quota 总额度
rest 剩余额度
period_end_at 有效期截止时间
note 备注,可不填写
用户聊天历史记录 chat_messages
常用字段 备注
user_id 用户 ID
room_id 数字人 ID,首页聊一聊发起的,这里为 0
message 聊天消息内容
role 角色:1-用户,2-机器人
created_at 创建时间


http://www.ppmy.cn/embedded/35641.html

相关文章

smardaten让原型不仅只有原型!

smardaten面向软件研发全流程,从设计、开发、测试、到运维人员均可以基于平台完成一体化的开发工作。 随着平台设计场景下功能与组件的不断完善,在面对招投标、售前演示、需求确认的诉求时,已经有不少企业将软件原型设计的主战场转移至smard…

Python量化炒股的统计数据图

Python量化炒股的统计数据图 单只股票的收益统计图 查看单只股票的收盘价信息 单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境”命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python3文件,输入如下代码如下&am…

vue如何在服务器端使用过滤器

Vue.js 是一个前端框架,主要用于构建用户界面。在 Vue.js 中,过滤器(filters)通常用于在模板中格式化文本。然而,过滤器在 Vue 3 中已经被移除,因为在 Vue 3 中更推荐使用计算属性(computed pro…

理解这些道理相当于在人生的航程上装备了一双智慧的翅膀

1. 走自己的路,因为只有你才能决定自己的命运。 2. 养育者亦会受反哺,掌灯人终会被照亮。 3. 如果心情不好,建议玩ARPG手机游戏[降龙猎手]放松自己,TapTap上就可以下载,不要 让不好的情绪一直持续下去,尽快…

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具)

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具) 场景来源 去年单位内部的一次素拓活动,分工负责策划设置其中的“你画我猜”环节,网络上搜集到题目文字后,想着如何快速做成对应一页一页的PPT。第一时间想…

leetcode-岛屿数量-99

题目要求 思路 1.使用广度优先遍历,将数组中所有为1的元素遍历一遍,遍历过程中使用递归,讲该元素的上下左右四个方向的元素值也置为0 2.统计一共执行过多少次,次数就是岛屿数量 代码实现 class Solution { public:int solve(vec…

ubuntu中的docker记录(3)——如何安装nvidia-docker以更好地支持GPU加速计算应用程序的运行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、nvidia-docker2的安装1. 安装docker2. 安装nvidia-docker2(1) 添加密钥(2) 更新软件列表(3) 安装nvidia-docker2(4) 测试nvidia-docker2 二、可能的报错及解…

MySQL基础_4.排序与分页

文章目录 一、排序二、分页 一、排序 使用 ORDER BY 子句排序: ASC(ascend): 升序DESC(descend):降序 二、分页 MySQL中使用 LIMIT 实现分页,格式: LIMIT [位置偏移量,] 行数第一个“位置偏…