当前位置: 首页 > news >正文

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

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

个人Go-ChatGPT项目可拆分用户服务(user),AI模型服务(AiModel),…

每个服务都可以再分为 api 服务和 rpc 服务。api 服务对外,可提供给 app 调用。rpc 服务是对内的,可提供给内部 api 服务或者其他 rpc 服务调用。

3.1 用户服务(user)

api 服务端口:8000rpc 服务端口:9000
login用户登录接口login用户登录接口
register用户注册接口register用户注册接口
userinfo用户信息接口userinfo用户信息接口

3.2 AI模型服务(AiModel)

api 服务端口:8001rpc 服务端口:9001
/ollama/api/tagsollama modelstagsollama models
/ollama/api/chatollama chatchatollama 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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 羊大师:小暑至,热浪涌,三伏悠长防暑忙
  • 软考中级数据库系统工程师备考经验分享
  • 大模型日报 2024-07-06
  • Java实现图片的垂直方向拼接
  • 【51单片机入门】矩阵键盘
  • Streaming local LLM with FastAPI, Llama.cpp and Langchain
  • 【vueUse库Component模块各函数简介及使用方法--上篇】
  • 中英双语介绍英国伟大的作家:查尔斯·狄更斯(Charles Dickens)
  • A61 STM32_HAL库函数 之 TIM扩展驱动 -- C -- 所有函数的介绍及使用
  • ClickHouse 介绍:深度解析高性能列式数据库的核心优势
  • 微信小程序:图片转icon
  • Zabbix钉钉机器人告警
  • 微信小程序订单发货管理接入
  • 跨越语言的界限:Vue I18n 国际化指南
  • 在x86/amd64的机器上使用Docker运行arm64v8/ubuntu并安装ROS1
  • 深入了解以太坊
  • 2019.2.20 c++ 知识梳理
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • gcc介绍及安装
  • javascript面向对象之创建对象
  • php ci框架整合银盛支付
  • python docx文档转html页面
  • Shadow DOM 内部构造及如何构建独立组件
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 悄悄地说一个bug
  • 驱动程序原理
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 终端用户监控:真实用户监控还是模拟监控?
  • 回归生活:清理微信公众号
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (差分)胡桃爱原石
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (四)库存超卖案例实战——优化redis分布式锁
  • (循环依赖问题)学习spring的第九天
  • (一)u-boot-nand.bin的下载
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .Family_物联网
  • .net core Swagger 过滤部分Api
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net framework4与其client profile版本的区别
  • .Net mvc总结
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .net 反编译_.net反编译的相关问题
  • .Net 应用中使用dot trace进行性能诊断
  • .NET+WPF 桌面快速启动工具 GeekDesk
  • @Transient注解
  • @WebService和@WebMethod注解的用法
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [Android 数据通信] android cmwap接入点
  • [BUUCTF 2018]Online Tool
  • [C++]C++基础知识概述
  • [cb]UIGrid+UIStretch的自适应