响应式模板网站模板住房和城乡建设部
开发个人Go-ChatGPT–3 服务拆分
个人Go-ChatGPT项目可拆分用户服务(user),AI模型服务(AiModel),…
每个服务都可以再分为 api 服务和 rpc 服务。api 服务对外,可提供给 app 调用。rpc 服务是对内的,可提供给内部 api 服务或者其他 rpc 服务调用。
3.1 用户服务(user)
api 服务 | 端口:8000 | rpc 服务 | 端口:9000 | 
|---|---|---|---|
| login | 用户登录接口 | login | 用户登录接口 | 
| register | 用户注册接口 | register | 用户注册接口 | 
| userinfo | 用户信息接口 | userinfo | 用户信息接口 | 
| … | … | … | … | 
3.2 AI模型服务(AiModel)
api 服务 | 端口:8001 | rpc 服务 | 端口:9001 | 
|---|---|---|---|
| /ollama/api/tags | ollama models | tags | ollama models | 
| /ollama/api/chat | ollama chat | chat | ollama chat | 
| chats | 聊天管理 | chats | 聊天管理 | 
| … | … | … | … | 
3.3 文件目录
|-- Dockerfile
|-- LICENSE
|-- common
|   |-- callmodel
|   |   |-- gemma.go
|   |   `-- models.go
|   |-- consts
|   |   |-- code.go
|   |   |-- common.go
|   |   |-- config.go
|   |   `-- consts.go
|   |-- cryptx
|   |   `-- crypt.go
|   |-- curlhttp
|   |   `-- curl.go
|   |-- database
|   |   |-- common.go
|   |   |-- connect.go
|   |   |-- dao.go
|   |   |-- ormLogx.go
|   |   |-- redisClient.go
|   |   `-- redisDao.go
|   |-- go.mod
|   |-- go.sum
|   |-- jwtx
|   |   `-- jwt.go
|   |-- middleware
|   |   `-- static.go
|   |-- model
|   |   |-- chat.sql
|   |   |-- chatmodel.go
|   |   |-- chatmodel_client.go
|   |   |-- prompt.sql
|   |   |-- promptmodel.go
|   |   |-- promptmodel_client.go
|   |   |-- readMe.md
|   |   |-- user.sql
|   |   |-- usermodel.go
|   |   `-- usermodel_client.go
|   `-- utils
|       `-- utils.go
|-- docker-compose.yaml
|-- nginx
|   `-- conf.d
|       `-- default.conf
|-- readme.md
`-- service|-- chat|   |-- api|   `-- rpc`-- user|-- api`-- rpc
 
项目地址
jackwillsmith/openui-svelte-build (github.com)
GitHub - jackwillsmith/openui-backend-go: openui-backend-go
