Home

Awesome

AIdea 服务端 - AI 聊天、协作、图像生成

<a href="https://trendshift.io/repositories/855" target="_blank"><img src="https://trendshift.io/api/badge/repositories/855" alt="mylxsw%2Faidea-server | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>

一款集成了主流大语言模型以及绘图模型的 APP 服务端,使用 Golang 开发,代码完全开源。

下载体验地址:

https://aidea.aicode.cc

开源代码:

私有化部署

如果你不想使用托管的云服务,可以自己部署服务端,部署请看这里

不想自己折腾,可以找我来帮你部署,详情参考 服务器代部署说明

技术交流

关于代码

目前代码注释、技术文档还比较少,后续有时间会进行补充,敬请见谅。另外以下几点请大家注意,以免造成困扰:

项目所用的框架

代码结构如下

目录说明
apiOpenAI兼容的 API,这里的接口可供第三方支持 OpenAI API 协议的软件直接使用
server为 AIdea 客户端软件提供的的 API 接口
config配置定义、管理
migrate数据库迁移文件,SQL 文件
cmd程序入口
pkg对外公开的包,其它项目可以直接引用
⌞ ai不同厂商的 AI 模型接口实现
⌞ ai/chat聊天模型抽象接口,所有聊天模型都在这里封装为兼容 OpenAI Chat Stream 协议的实现
⌞ aliyun阿里云短信、内容安全服务实现
⌞ dingding钉钉通知机器人
⌞ misc部分助手函数
⌞ jobs定时任务,用户每日智慧果消耗额度统计等
⌞ mail邮件发送
⌞ proxySocks5 代理实现
⌞ rate流控实现
⌞ redisRedis 实例
⌞ repo数据模型层,封装了对数据库的操作
⌞ repo/model数据模型定义,使用了 mylxsw/eloquent 来创建数据模型
⌞ serviceService 层,部分不适合放在 Controller 和 Repo 层的代码,在这里进行封装
⌞ sms统一的短信服务封装,对上层业务屏蔽了底层的短信服务商实现
⌞ tencent腾讯语音转文本、短信服务实现
⌞ tokenJWT Token
⌞ uploader基于七牛云存储实现的文件上传下载
⌞ voice基于七牛云的文本转语音实现,暂时未启用
⌞ youdao有道翻译服务 API 实现
internal内部包,只有本项目可用
⌞ queue任务队列实现,所有异步处理的任务都在这里定义
⌞ queue/consumer任务队列消费者
⌞ payment在线支付服务实现,如支付宝,Apple
⌞ coins服务定价、收费策略
config.yaml配置文件示例
coins-table.yaml价格表配置示例
nginx.confNginx 配置示例
systemd.serviceSystemd 服务配置示例

项目编译:

go build -o build/debug/aidea-server cmd/main.go

APP 预览图

亮色系

image

暗色系

image

Star History

<a href="https://star-history.com/#mylxsw/aidea-server"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=mylxsw/aidea-server&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=mylxsw/aidea-server&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=mylxsw/aidea-server&type=Date" /> </picture> </a>

License

MIT

Copyright (c) 2023, mylxsw