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

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 (1)yum 包更新到最新 > 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 docker

Go项目打包到Linux服务器中

set CGO_ENABLED=0 set GOARCH=amd64 set GOOS=linux # 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"]

生成镜像

http://www.jsqmd.com/news/1093199/

相关文章:

  • 2026论文双降终极榜单:10款降AI率网站,查重降重+降AIGC一次通关
  • IntelliJ IDEA 之工程模块管理
  • Java的java.lang.foreign访问
  • Agent-Reach:命令行多模型AI对话与自动化集成工具实践指南
  • 2026新疆游首选指南:如何轻松甄别靠谱旅行社
  • 搭建Hermes+Obsidian,我搞定了这辈子最值的本地知识库,从安装到测试全流程讲解!你缺的不是好内容,是一个能帮你记住的AI
  • 全球高端健身房都在用什么跑步机?解析Precor必确的核心技术与产品优势
  • ARM Cortex-M内核单片机HardFault异常详解
  • 电路板质量出问题,怎么查源头?全流程追溯体系给出答案
  • 服务网格——让微服务“自动驾驶“的黑科技
  • 绘本培养孩子的表达力很有效
  • 实战!LangGraph Multi-Agent Supervisor 模式:手把手构建生产级多智能体系统
  • Playwright 自动化操控 X(Twitter) 发帖踩坑实录
  • 2026年适配维普降AI率软件横评:亲测8款工具,把AI率稳控在安全线内
  • SolidWorks_曲线与曲面设计19_曲面与实体混合建模
  • 2025轻松指南:零基础医疗会议转待办,包教包会避坑干货满满
  • ClickHouse:极速OLAP引擎解析
  • 3分钟快速上手:HS2-HF Patch终极安装与配置指南
  • 如何下载VirtualBox
  • 硬件工程师必读:评估板安全使用与合规指南
  • QuantConnect Lean算法交易引擎:从零构建专业量化交易系统的完整指南
  • 【大模型原理与微调实战01】普通人怎么真正学懂大模型?建立完整LLM学习思维
  • 可观测性三大支柱:日志、指标、链路追踪
  • 如何免费实现专业级显示器色彩校准:novideo_srgb终极指南
  • Sesame-TK:基于Xposed框架的蚂蚁森林自动化架构深度解析
  • 手把手教你用AI:QWen千问大模型快速上手与实战指南
  • 优质技术公众号-博客订阅列表(持续更新)
  • JMeter测试环境配置自动化备份实战:5步构建资产安全体系
  • 终极免费卡拉OK游戏指南:快速上手UltraStar Deluxe的完整教程 [特殊字符]
  • LLM | 学习笔记一