• Stars
    star
    1,518
  • Rank 30,867 (Top 0.7 %)
  • Language
    Go
  • Created about 1 year ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。

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

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

  • 支持 OpenAI 的 GPT-3.5,GPT-4 大语言模型
  • 支持 Anthropic 的 Claude instant,Claude 2.0 大语言模型
  • 支持 Google 的 Gemini Pro 以及视觉大语言模型
  • 支持国产模型:通义千问,文心一言,讯飞星火,商汤日日新,腾讯混元,百川53B,360智脑,天工等
  • 支持开源大模型:Yi 34B,Llama2,ChatGLM2,AquilaChat 7B,Bloomz 7B 等,后续还将开放更多
  • 支持文生图、图生图、超分辨率、黑白图片上色、艺术字、艺术二维码等功能,支持 SDXL 1.0、Dall·E 3 等

下载体验地址:

https://aidea.aicode.cc

开源代码:

私有化部署

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

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

技术交流

  • 微信技术交流群:3 个群都已满员,添加微信号 x-prometheus 为好友,拉你进群

  • 微信公众号

  • 电报群:点此加入

关于代码

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

  • 代码中 Room顾问团 均代表 数字人,因项目经过多次改版和迭代,经历了 房间 -> 顾问团 -> 数字人 的名称调整
  • 代码中 v1 版本的 创作岛 与 v2 版本截然不同,其中 v1 版本服务于 App 1.0.1 及之前版本,从 1.0.2 开始,这部分不再使用,所以就有了 v2 版本

项目所用的框架

  • Glacier Framework: 自研的一款支持依赖注入的模块化的应用开发框架,它以 go-ioc 依赖注入容器核心,为 Go 应用开发解决了依赖传递和模块化的问题
  • Eloquent ORM 自研的一款基于代码生成的数据库 ORM 框架,它的设计灵感来源于著名的 PHP 开发框架 Laravel,支持 MySQL 等数据库

代码结构如下

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

项目编译:

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

APP 预览图

亮色系

image

暗色系

image

Star History

Star History Chart

License

MIT

Copyright (c) 2023, mylxsw

More Repositories

1

aidea

AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
Dart
6,381
star
2

growing-up

程序猿成长计划
2,302
star
3

wizard

Wizard是一款开源的文档管理工具,支持Markdown/Swagger/Table类型的文档。
PHP
2,170
star
4

redis-tui

A Redis Text-based UI client in CLI
Go
895
star
5

remote-tail

RemoteTail用于同步监控多台服务器日志文件变更,一句话说就是多主机的远程tail。
Go
195
star
6

aidea-docker

本项目为 AIdea 项目的一键部署安装包,基于 docker compose。
Shell
85
star
7

heimdall

Heimdall is a tool to perform import, export, direct SQL query and format conversion on excel files. Currently supports json, yaml, markdown, csv, xlsx, html, sql ...
Go
70
star
8

glacier

glacier is a app framework for rapid service development
Go
47
star
9

go-ioc

Go-IOC is a runtime dependency injection library for Go
Go
42
star
10

rabbitmq-pubsub-php

“RabbitMQ发布订阅实战-实现延时重试队列”一文的php代码示例
PHP
35
star
11

Excel2Entity

该项目实现批量导入Excel记录时,自动转换行为Java实体对象
Java
31
star
12

coyotes

非常简单的异步命令执行队列
Go
26
star
13

go-toolkit

Golang 工具集,平时在开发中常用的一些库或者封装的函数
Go
22
star
14

vagrant-lnmp

Cent OS 7, Nginx 1.6, PHP 5.6, MySQL 5.6开发环境搭建,源码编译安装
Shell
20
star
15

eloquent

Eloquent is a ORM framework for golang
Go
20
star
16

rabbitmq-pubsub-java

“RabbitMQ发布订阅实战-实现延时重试队列”一文的java代码示例
Java
20
star
17

adanos-alert

adanos-alert is a alert manager with multi alert channel support
Go
16
star
18

sed-demo

《三十分钟学会SED》测试文件
C++
11
star
19

gemini-proxy

TypeScript
9
star
20

date-filter

用于筛选当前时间到之前指定的范围内的日志内容的小工具,支持对php慢查询日志等多行日志文件的筛选
Go
8
star
21

tuna

Tuna是使用Go开发的一款短网址服务器,支持redis和mysql作为后端存储以及网址过期
Go
7
star
22

FileWatcher

文件变动监控,在目录下的文件发生变动的时候,自动触发配置的命令,比如编译等
Go
6
star
23

FocusPHP

FocusPHP is a micro php framework
PHP
5
star
24

redis-ha

主备模式的Redis高可用配置,配合Keepalived实现
Shell
4
star
25

asteria

Asteria is a logging library for go.
Go
4
star
26

aidea-homepage

AIdea 项目主页
HTML
4
star
27

consul-kv-migrate

一个简单的小工具,用于在两个独立的 Consul 集群之间迁移 KV 数据和比较 KV 差异
Go
4
star
28

arsenals

Arsenals PHP开发框架,让PHP开发不在单调
JavaScript
4
star
29

extractor

extractor is an HTTP service used to convert PDF, Markdown, HTML, Docx, Xlsx, CSV and other files into plain text output. It is used in RAG implementation to read external documents for vectorization.
Python
3
star
30

aidea-server-v2

Go
3
star
31

mariadb-ha

Mariadb 10.4 + MaxScale + Keepalive HA
Shell
2
star
32

sync

Sync is a file sync server and client
Go
2
star
33

password-server

一个用于生成随机密码的 web 服务器
Go
2
star
34

go-utils

Some golang utils
Go
2
star
35

lua-study

学习lua写的例子,个人用
Lua
2
star
36

tinyhttpd-0.1.0-study

tinyhttpd-0.1.0 源码学习,全注释
C
2
star
37

file-lines-cal

用于统计不同文件的总行数,比如统计代码总行数
Go
1
star
38

mgosniff

Go
1
star
39

mylxsw

Config files for my GitHub profile.
1
star
40

reverse-proxy

反向代理
Go
1
star
41

healthcheck

Go
1
star
42

Focusman

基于SAE的Webdav Server
PHP
1
star
43

gitwebhook

gitwebhook项目实现了git提交hook事件的处理,可用于自动化部署项目。
Go
1
star
44

keepalived-example

Keepalived & LVS 实现高可用负载均衡示例
Shell
1
star
45

openai-dispatcher

openai-dispatcher 用于为多个 OpenAI 的 API 服务提供负载均衡以及故障转移。
Go
1
star
46

beike

贝壳找房
TSQL
1
star
47

FocusPHP-Blog

基于FocusPHP创建的个人博客系统
PHP
1
star
48

mq-customer

消息队列消费
Go
1
star
49

my-alfred-workflow

这是我的Alfred中使用到的工作流
1
star
50

lumen-swagger-demo

Lumen框架中整合Swagger示例
PHP
1
star
51

coll

Coll is a collection library for Go
Go
1
star
52

DockerDemo

Learning Docker
Nginx
1
star
53

anthropic-proxy

TypeScript
1
star
54

trojan-go-terraform

用于一键部署 Trojan-Go 到 Digital Ocean Droplet,并使用 Cloudflare 自动配置域名解析,Let's Encrypt 自动生成证书
HCL
1
star
55

maconfig

The configure files for my mac
Vim Script
1
star