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]生成镜像

相关新闻

健康管理助手:基于 HarmonyOS ArkTS 的 AI 健康顾问开发实践

健康管理助手:基于 HarmonyOS ArkTS 的 AI 健康顾问开发实践

健康管理助手:基于 HarmonyOS ArkTS 的 AI 健康顾问开发实践本文基于 HarmonyOS 6.0 ArkTS DevEco Studio,从零构建一个覆盖六大健康场景的 AI 对话应用。涵盖 Entry/Component/Builder 声明式 UI、State 响应式状态管理、router 多页面导航、三层架构…

2026/6/30 2:23:10阅读更多 →
华为MetaERP 《Oracle EBS vs 华为 MetaERP 会计科目 COA 架构深度对比》50 页 PPT 完整目录 + 每页内容大纲适配:财务解决方案架构师对外宣讲、客户选型汇报、内

华为MetaERP 《Oracle EBS vs 华为 MetaERP 会计科目 COA 架构深度对比》50 页 PPT 完整目录 + 每页内容大纲适配:财务解决方案架构师对外宣讲、客户选型汇报、内

《Oracle EBS vs 华为 MetaERP 会计科目 COA 架构深度对比》50 页 PPT 完整目录 每页内容大纲适配:财务解决方案架构师对外宣讲、客户选型汇报、内部技术培训、国产化替换项目方案材料 整体分 5 大模块,总计 50 页,每页独立完整内容&#xf…

2026/6/30 2:23:10阅读更多 →
什么是长效代理?适合哪些使用情况?

什么是长效代理?适合哪些使用情况?

长效代理指的是在较长时间内保持同一代理IP持续可用的一种方式。那么问题来了:为什么有些代理需要频繁更换,而长效代理可以持续使用?它的优势具体体现在哪?又适合在什么情况下使用?本文将从概念、优势和应用场景三个角…

2026/6/30 2:23:10阅读更多 →
人工智能如何影响工作:软件工程、开发者体验与平台工程的变革

人工智能如何影响工作:软件工程、开发者体验与平台工程的变革

人工智能正在迅速重塑工作方式,尤其正在深刻影响软件工程的未来。越来越多的组织开始借助 AI缩短交付周期、提升生产力,并让团队把更多精力投入高价值创新。一份海外行业报告也捕捉到了这一趋势:采用人工智能的企业,在个人效率、交…

2026/6/30 3:28:14阅读更多 →
AI文档翻译技术深度解析:从OCR到版面还原的工程实现

AI文档翻译技术深度解析:从OCR到版面还原的工程实现

作为一个做过文档处理相关项目的开发者,我对“PDF翻译”这件事一开始有很深的误解。我以为是把文本抽出来,调用翻译API,再塞回去。直到真正动手做过一个多语言文档系统,才发现这完全是一个“文档结构保持”问题,而不是…

2026/6/30 3:28:14阅读更多 →
存储芯片产业链供需企业名录查询,哪家电子媒体分类整理更清晰?

存储芯片产业链供需企业名录查询,哪家电子媒体分类整理更清晰?

做硬件选型、供应链寻源,或者单纯想摸清存储芯片的产业格局,常常会卡在第一步:到哪儿找一份按上中下游分好类的供应商名录。通用搜索引擎出来的结果太泛,企业官网又分散。实际上,不少电子工程师常逛的技术社区和行业媒…

2026/6/30 3:28:14阅读更多 →
为什么同样是十字星形态,有人抓住反转,有人却连续止损?

为什么同样是十字星形态,有人抓住反转,有人却连续止损?

在技术分析中,十字星(Doji)是许多交易员最早接触的K线形态之一。有人将它视为行情反转的信号,只要盘面出现十字星便急于进场;也有人发现,同样都是十字星,有时价格确实迎来反转,有时却…

2026/6/30 3:28:14阅读更多 →
嵌入式高手都在偷偷用的“第13条”:用 __attribute__((alias)) 给函数做“分身”,让旧接口悄悄变成新实现

嵌入式高手都在偷偷用的“第13条”:用 __attribute__((alias)) 给函数做“分身”,让旧接口悄悄变成新实现

该文章同步至OneChan 你有没有遇到过:升级了驱动库,改了函数名,所有调用老函数的地方都得批量替换,否则链接报错一大堆?或者想为中断服务函数起个更通用的名字,可硬件向量表只认原函数名? 这是资…

2026/6/30 3:28:14阅读更多 →
冰合试剂分享┃敌草畏 - D3 / 氘代麦草畏 / CAS 349553-95-3 / Dicamba-d3 / 稳定同位素氘代内标

冰合试剂分享┃敌草畏 - D3 / 氘代麦草畏 / CAS 349553-95-3 / Dicamba-d3 / 稳定同位素氘代内标

环境水体、果蔬谷物、土壤样本中敌草畏残留定量检测是环境分析常规实验,普通外标法受基质效应干扰严重,质谱检测回收率波动大,定量数据准确度偏低;普通敌草畏标准品不具备同位素特征碎片,无法校正样本前处理、色谱质谱…

2026/6/30 3:23:14阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/29 3:27:55阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/29 2:19:08阅读更多 →
为什么你需要Destiny 2 Solo Enabler:技术原理与实战指南

为什么你需要Destiny 2 Solo Enabler:技术原理与实战指南

为什么你需要Destiny 2 Solo Enabler:技术原理与实战指南 【免费下载链接】Destiny-2-Solo-Enabler Repo containing the C# and XAML code for the D2SE program. Included is also the dependency for the program, and image asset. 项目地址: https://gitcode…

2026/6/30 0:02:58阅读更多 →
第六章:PowerPoint 2010 核心功能与实战应用 —— 从入门到精通

第六章:PowerPoint 2010 核心功能与实战应用 —— 从入门到精通

1. PowerPoint 2010基础操作全攻略 刚接触PowerPoint 2010时,很多人会被它复杂的界面吓到。其实只要掌握几个核心区域,就能快速上手。我最开始用PPT时,经常找不到功能按钮在哪,后来发现主要操作都集中在顶部功能区。 工作窗口主要…

2026/6/30 0:02:58阅读更多 →
XGBoost超参数实战:从理论到调优策略

XGBoost超参数实战:从理论到调优策略

1. XGBoost超参数基础认知 第一次接触XGBoost时,我被它那密密麻麻的参数列表吓到了。这感觉就像面对一架波音747的驾驶舱——每个按钮都可能有神奇的效果,但按错了就可能坠机。经过多年实战,我发现其实掌握十几个核心参数就能解决90%的问题。…

2026/6/30 0:02:59阅读更多 →