GoChatIAI -Go语言AI应用服务平台(1)

发布时间:2026/6/30 2:28:18

GoChatIAI -Go语言AI应用服务平台(1) 项目描述基于Go语言实现AI应用服务平台使用Gin框架构建Web服务实现了用户注册登录AI助手聊天主要功能。功能要点采用Vue.js开发用户界面实现登录注册、AI聊天、等功能提升用户体验。搭建基于Gin框架的高性能HTTP服务器支持并发请求处理提升系统响应速度和吞吐量。集成OpenAI模型接入阿里云百炼模型SDK调用实现本地部署。实现JWT令牌认证和会话管理支持用户登录状态维护和权限控制。集成MySQL数据库和Redis缓存使用连接池和ORM简化数据操作提高查询效率。采用RabbitMQ实现异步消息队列支持高并发场景下的消息存储和消费。采用zap记录操作日志方便调试排查问题。阿里云百炼大模型服务平台百炼控制台进入此链接获取自己本账号的api-key后续会用到大模型服务平台百炼控制台功能模块用户模块package router import ( GoChatAI/controller/user github.com/gin-gonic/gin ) func InitUserRouter(r *gin.RouterGroup) { var userController user.UserController{} // 注册 r.POST(/register, userController.Register) // 登录 r.POST(/login, userController.Login) // 发送邮箱验证码 r.POST(/captcha, userController.HandleCaptcha) }AI模块package router import ( GoChatAI/controller/session github.com/gin-gonic/gin ) func InitAIRouter(r *gin.RouterGroup) { var sessionController session.SessionController{} { // 获取用户所有的会话id和标题 r.GET(/chat/sessions, sessionController.GetUserSessionsByUserName) // 创建会话 r.POST(/chat/send-new-session, sessionController.CreateSessionAndSendMessage) // 发送消息 r.POST(/chat/send, sessionController.ChatSend) // 同步历史消息 r.POST(/chat/history, sessionController.ChatHistory) // r.POST(/chat/tts, AI.ChatSpeech) // ChatSpeechHandler // 创建会话--流式响应 r.POST(/chat/send-stream-new-session, sessionController.CreateStreamSessionAndSendMessage) // 发送消息--流式响应 r.POST(/chat/send-stream, sessionController.ChatStreamSend) } }项目部署Docker安装# 更新 yum update 1yum 包更新到最新 yum update 2安装需要的软件包 yum-util 提供yum-config-manager功能另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 3设置yum源为阿里云 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 4安装docker yum install docker-ce -y 5安装后查看docker版本 docker -v # 启动docker systemctl start docker # 停止docker systemctl stop docker # 重启docker systemctl restart docker # 查看docker状态 systemctl status docker # 开机启动 systemctl enable docker # 查看docker概要信息 docker info # 查看docker帮助文档 docker --help # 配置修改 sudo systemctl daemon-reexec # 重启docker sudo systemctl restart dockerGo项目打包到Linux服务器中set CGO_ENABLED0 set GOARCHamd64 set GOOSlinux # go build main.go # 指定名字打包 go build -o build/GoChatAI main.go文件传输到Linux服务器上Linux服务器赋予可执行权限chmod x ./GoChatAI编写Dockerfile# 依赖环境 FROM alpine:latest # 安装bash和必要工具 RUN sed -i s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g /etc/apk/repositories \ apk update \ apk add --no-cache \ bash \ vim \ nodejs \ npm \ curl \ # pnpm 需要通过 npm 安装 npm install -g pnpm \ rm -rf /var/cache/apk/* # 先创建目录结构 RUN mkdir -p /root/GoChatAI/conf # 复制执行文件到容器的根目录下 COPY GoChatAI ./root/GoChatAI/ COPY conf ./root/GoChatAI/conf/ COPY web ./root/GoChatAI/web # 置顶容器服务的端口 #EXPOSE 9090 # 赋予权限 RUN chmod x /root/GoChatAI/GoChatAI # 安装前端依赖 WORKDIR /root/GoChatAI/web RUN pnpm install # 创建启动脚本(前端和后端 一起启动) RUN echo #!/bin/sh /start.sh \ echo echo Starting GoChatAI backend... /start.sh \ echo /root/GoChatAI/GoChatAI /start.sh \ echo echo Starting frontend server... /start.sh \ echo cd /root/GoChatAI/web npm run serve /start.sh \ echo echo Services started. Waiting... /start.sh \ echo wait /start.sh \ chmod x /start.sh # 启动命令 WORKDIR /root/GoChatAI CMD [/start.sh]生成镜像

相关新闻