AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
English | 简体中文
A fully open-source APP server built with Golang that integrates mainstream large language models and image generation models.
Try it out:
Open-source repositories:
If you prefer not to use the managed cloud service, you can deploy the server yourself. See the deployment guide here.
If you'd rather have someone else handle the setup, feel free to reach out for assisted deployment. See Assisted Server Deployment for details.
WeChat tech discussion group:
If you cannot join, add WeChat ID x-prometheus as a friend and you'll be invited to the group.
WeChat Official Account
Code comments and technical documentation are currently limited and will be supplemented over time. Please note the following points to avoid confusion:
RoomandAdvisory Groupin the code both refer toDigital Persona. Due to multiple revisions, the naming evolved:Room→Advisory Group→Digital Persona.- The v1 version of
Creation Islandis entirely different from v2. v1 served App versions up to 1.0.1; starting from 1.0.2 it is no longer used, hence the v2 version.
Frameworks used in this project:
Code structure:
Directory Description api OpenAI-compatible API; endpoints here can be used directly by any third-party software that supports the OpenAI API protocol server API endpoints provided for the AIdea client application config Configuration definitions and management migrate Database migration files (SQL) cmd Application entry point pkg Public packages that can be imported by other projects ⌞ ai AI model interface implementations for various providers ⌞ ai/chat Abstract chat model interface; all chat models are wrapped here to be compatible with the OpenAI Chat Stream protocol ⌞ aliyun Alibaba Cloud SMS and content-safety service implementations ⌞ dingding DingTalk notification bot ⌞ misc Miscellaneous helper functions ⌞ jobs Scheduled tasks, e.g. daily user token-consumption statistics ⌞ mail Email sending ⌞ proxy SOCKS5 proxy implementation ⌞ rate Rate-limiting implementation ⌞ redis Redis instance ⌞ repo Data model layer; encapsulates all database operations ⌞ repo/model Data model definitions using mylxsw/eloquent ⌞ service Service layer for logic that doesn't belong in the Controller or Repo layers ⌞ sms Unified SMS service abstraction that hides the underlying SMS provider implementation from business logic ⌞ tencent Tencent speech-to-text and SMS service implementations ⌞ token JWT Token ⌞ uploader File upload/download backed by Qiniu Cloud Storage ⌞ voice Text-to-speech backed by Qiniu Cloud (currently disabled) ⌞ youdao Youdao Translation API implementation internal Internal packages; only available within this project ⌞ queue Task queue implementation; all asynchronously processed tasks are defined here ⌞ queue/consumer Task queue consumers ⌞ payment Online payment service implementations (e.g. Alipay, Apple) ⌞ coins Service pricing and billing policies config.yaml Example configuration file coins-table.yaml Example pricing table configuration nginx.conf Example Nginx configuration systemd.service Example Systemd service configurationBuild the project:
go build -o build/debug/aidea-server cmd/main.go
Light theme
Dark theme
MIT
Copyright (c) 2023, mylxsw
No open issues yet, or sync has not completed.