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

写了个gin+gorm加ai-agent 的小框架,希望和大家一起学习学习

https://gitee.com/dao_yi/ginchat

ginchat

介绍

golang 基于gin框架的web项目 ginchat

快速开始

项目启动:go run main.go 启动前先配置数据库、修改config文件夹下的config.yaml文件 需要用到 AI-Agent 组件,请先配置:docker-compose.yaml文件、.evn文件

软件架构

config:配置文件地址,mysql,redis等文件 controller文件夹:控制器业务逻辑 model文件夹:数据库model文件 router:路由地址 static:静态文件地址 tool:工具文件地址 view:若使用gin自带的前端渲染,前端文件存放地址(接口不使用此文件夹) commponents文件夹:ai-agent组件文件夹

安装教程

下载后请先配置数据库、修改config文件夹下的config.yaml文件,然后直接go run main.go运行即可 需要用到 AI-Agent 组件,请先配置:docker-compose.yaml文件、.evn文件

使用说明

  1. tool工具,中含有大量的常用工具,建议先阅读tool文件夹中文件,并理清用法

    里面封装了大量的工具,如:curl请求,数据库工具,文件导入导出,jwt,log,redis,封装好的response,md5加密,时间日期获取,随机数获取等等……用户登录微信小程序等等功能
  2. 数据库用的是gorm,使用查询方法:tool.Gdb如更具用户id查询用户名:

    tool.Gdb.Table("za_admin").Where("id = ?", models.Id).First() 具体使用方法请查看 gorm 文档
  3. 本web框架用的是jwt存放token,获取token中的存放的信息用法:

    如需要拿到用Id:首先Id需要存在token中 token, _ := tool.GetTokenFromRequest(c) uID := tool.GetValueFromTokenClaims("Id", token.Claims)
    1. 本web已集成的功能:

      用户登录 用户管理 用户权限分配 分类管理和token管理 微信登录 swagger自动生成接口文档等基础功能,其他功能需用户自行添加。
      1. swagger生成的接口文档地址:

        使用方法:如管理员列表: // List // // @Summary 管理员列表分页数据 // @Tags 后台-管理员 // @param page query int false "多少页" // @param limit query int false "每页多少条" // @param sort query string false "排序" // @param role_id query int false "角色id" // @param key query string false "搜索条件" // @param status query string false "状态(1:正常 2:禁用)" // @Success 200 {string} json{"code","message","data"} // @Router /admin/admins/list [GET] func (Admins) List(c *gin.Context) { page := controller.GetPageIndex(c) limit := controller.GetPageLimit(c) sort := controller.GetPageSort(c) key := controller.GetPageKey(c) status := controller.GetQueryToUint(c, "status") role_id := controller.GetQueryToUint(c, "role_id") } 上面注释的说明就是接口说明,请自行编写接口说明,具体使用发放请查看 go swagger文档 编写好接口文档后,使用swag init 命令生成接口文档,然后启动项目即可访问 访问地址: http://localhost:你的端口/swagger/index.html#/
  4. 本web框架集成了文件上传功能,文件上传后数据统一存放于file表中,若需特定功能请自行编写

    请查看admin/UploadController.go文件,admin文件夹下的UploadController.go 文件 如:单文件上传接口: /admin/upload/doUpload、多文件上传接口: /admin/upload/DuoUp、删除文件接口: /admin/upload/delFile 等等
  5. tool中包含的工具:

    配置文件,curl请求,数据库工具,文件导入导出,jwt,log,redis,封装好的response,md5加密,时间日期获取,随机数获取等等……
  6. ai-agent组件:

    此组件是一个用于处理智能助手的组件,它主要功能是,将用户输入的消息发送给语言模型,并获取模型的响应,然后将响应返回给用户。是个很简单的模型,若是需要更加详细的模型等需要自己调试这里的ai-agent组件 chatModel.go 文件:此组件是一个用于与大语言模型交互的组件,它的主要作用是将用户的输入消息发送给语言模型,并获取模型的响应 embedder.go 此组件是一个用于将文本转换为向量表示的组件,它的主要作用是将文本内容映射道向量空间,是的语义相似的文本在向量空间中的距离较近,这个组件在以下场景发挥重要作用。 indexer.go 此组件是用于存储和索引文档的组件,它的作用是将文档存储到后端存储系统中(如:Milvus向量数据库),并提供高效的检索能力。 retriever.go 此组件是用于从各种数据源检索文档的组件。它的主要作用是根据用户的查询条件,从各种数据源中检索出最相关的文档。 tramsformer.go 该组件时用于文档转换和处理的组件,它的主要作用是,对输入的文档进行各种转换操作,如分割、过滤、合并等,从而得到满足特定需求的文档。 上面的组件,在ai-agent中,请根据自己的需求自行修改添加,组件仅供参考
  7. ai-agent组件使用方法:

    请参照controller文件夹下的admin文件夹下的Agent Controller.go 文件,如何编排自己的ai-agent,请阅读ai-agent组件,具体使用
  8. ai-agent组件需要配置的参数:

    请看.env文件 和 docker-compose.yaml 文件中关于ai-agent的配置 ai-agent需要使用到:etcd + milvus + minio + attu 需要这些软件的支持 1、启动docker // docker启动 2、 第一次 docker compose up -d // docker-compose启动,这个过程中会安装你在docker-compose.yaml文件中配置的镜像 3、 启动成功后,请查看.env文件,修改ai-agent的配置参数 4、 以后启动 docker compose up -d // docker-compose启动
http://www.cnnetsun.cn/news/2662983.html

相关文章:

  • 神经可塑性:AI如何“像人一样学习“
  • 告别虚拟机!在老旧Dell/HP服务器上实战安装CentOS 7.9全记录
  • 从零开始的Linux#1命令入门
  • TDengine IDMP 1.0.18 上线:MCP、CLI、过程分析与可视化能力持续升级
  • OpenClaw 入门
  • 【AI+房地产实战指南】:2024年最值得落地的7大智能整合场景与避坑清单
  • Win11重装后,你的声卡控制面板和显卡控制中心去哪了?搞定那些烦人的APPX驱动安装
  • XPD977 支持 XPD-LINK™互联 USB 三端口控制器
  • 避坑指南:在LabVIEW 2023中设计波形发生器UI时,如何优雅管理控件状态与数据流?
  • 《OpenClaw边缘轻量化部署的核心技术与实践》
  • FanControl深度解析:Windows风扇控制从入门到精通的完整指南
  • 保姆级教程:用西门子博途V15+TIA Portal为S7-1500 PLC搭建ModbusTCP服务器(含DB块配置详解)
  • 别再死记硬背L1、L2了!用Python+NumPy手把手带你画图理解Lp范数(附代码)
  • 联想Y7000P装Ubuntu20.04没WIFI?别急着换系统,试试这个内核驱动的‘版本锁定’大法
  • 抖音无水印视频下载:3种专业方案解决你的视频保存难题
  • 如何告别图片格式烦恼?Save Image as Type让网页图片一键转换
  • 英雄联盟R3nzSkin换肤工具实战指南:国服安全自定义皮肤完整方案
  • 187、运动控制中的行业应用:机械臂力控打磨
  • 3步掌握AMD Ryzen终极调校:SMU Debug Tool完整指南
  • 2026年小红书营销:如何用AI降CPA?
  • 如何快速掌握COM3D2实时编辑器:3步安装完整指南
  • 别只盯着CS20操作!SAP BOM批量变更前,业务顾问必须搞懂的3件事
  • 3步快速上手AutoMdxBuilder:零基础制作专业MDX电子词典的终极指南
  • 解放双手的暗黑3智能助手:D3KeyHelper实战指南
  • 告别GD库限制!用PHPStudy+ImageMagick打造高性能图片处理环境(Windows实战篇)
  • 别只懂cat /proc/cmdline:5个Linux内核启动参数的实战调试技巧与避坑指南
  • 【独家首发】Google内部未公开的Gemini商用准入清单:金融/医疗/政务三大高合规场景准入红线解析
  • Python 爬虫实战:今日头条热点新闻爬取与资讯热度分析
  • 3步搞定C盘爆红!Windows Cleaner终极清理指南:让电脑重获新生
  • 深度解析开源项目的智能管理方案:Scarab《空洞骑士》模组管理器实战指南