开发个人Go-ChatGPT--3 服务拆分

开发个人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 文件目录

bash 复制代码
|-- 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

相关推荐
Wenweno0o15 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
咬_咬17 小时前
go语言学习(基本数据类型)
开发语言·学习·golang·数据类型
啦啦啦!18 小时前
ChatGPT和Gemini的接入和封装
人工智能·ios·chatgpt
贺小涛18 小时前
DeepSeek vs ChatGPT:技术架构深度解析与核心优势对比
chatgpt·架构
搜佛说18 小时前
01-第1章-概述与快速开始
物联网·golang·开源·软件工程·边缘计算·嵌入式实时数据库
yumgpkpm19 小时前
华为昇腾910B上用Kubernetes(K8s)部署LLM(Qwen3-32B)的详细步骤,保姆级命令及方法、下载链接等
运维·服务器·华为·stable diffusion·aigc·copilot·llama
LlNingyu20 小时前
什么是Go的接口(二)
golang
不会写DN20 小时前
如何设计应用层 ACK 来补充 TCP 的不足?
开发语言·网络·数据库·网络协议·tcp/ip·golang
不会写DN20 小时前
如何给 Go 语言的 TCP 聊天服务加上 ACK 可靠送达机制
开发语言·tcp/ip·golang
ZHENGZJM20 小时前
后端基石:Go 项目初始化与数据库模型设计
开发语言·数据库·golang