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

news/2024/10/5 9:31:47/

开发个人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


http://www.ppmy.cn/news/1473450.html

相关文章

Java项目:基于SSM框架实现的校园快递代取管理系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的校园快递代取管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

【每日一个Git命令: cherry-pick】

git cherry-pick 命令的作用是将指定的提交(commit)应用到其他分支上。这个命令允许你选择一个或多个已有的提交,并将它们作为新的提交引入到当前分支中。 这个过程不会改变项目的历史记录,因为它实际上是创建了这些提交的副本。…

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(二)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。 DHTMLX Gantt是一个高度可定制的工具,可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上…

FlutterUnit TolyUI | 布局游乐场

theme: cyanosis FlutterUnit 基于 TolyUI 大大简化了界面构建的代码复杂程度,因此之前想要实现的一些小功能,就可以轻松支持。布局游乐场是通过交互的方式来 直观体验 组件的布局特性,从而更易学和掌握。目前 FlutterUnit 已在 知识集录模块…

收银系统源码-营销活动-积分商城

1. 功能描述 营运抽奖:智慧新零售收银系统,线上商城的营销插件,由商户运营,用户通过多种渠道可以获取积分,不仅支持在收银端抵用,还可以在积分商城内兑换优惠券或者真实商品,提升会员活跃度&am…

Spring Boot + liteflow 居然这么好用!实战

在我们的日常开发中,经常会遇到一些需要串行或并行处理的复杂业务流程。 那我们该如何利用Spring Boot结合liteflow规则引擎来简化我们的业务流程 先看一个实战案例!! 在电商场景下,当订单完成后,我们需要同时进行积…

Ubuntu、CentOs更换源(阿里云的源)

ubuntu 备份当前的apt配置文件 sudo mv /etc/apt/sources.list /etc/apt/sources.list.backup编辑配置文件,将以下内容写到文件中sudo vi /etc/apt/sources.list deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src ht…

SQL窗口函数详解

详细说明在sql中窗口函数是什么,为什么需要窗口函数,有普通的聚合函数了那窗口函数的意义在哪,窗口函数的执行逻辑是什么,over中的字句是如何使用和理解的(是不是句句戳到你的痛点,哼哼~&#x…