技术选型列表
原创大约 2 分钟
技术框架
技术组件
lumberjack:日志文件切割组件。
开源组件
Ip2region:离线IP地址定位库和IP定位数据管理框架。
resize:图片大小调整工具。
go-qrcode:二维码生成工具。
alibaba-cloud-sdk-go:Go 阿里云
SDK
,主要用的是阿里大于短信服务。openwechat:Go语言的微信
SDK
。xxl-job-executor-go:Go语言的xxl-job执行器。
base64Captcha:
base64
人机验证码生成工具。tiktoken-go:OpenAI的
tiktoken
Go语言版,将文本转换成模型可以识别的token
。
代码结构
api
│
├--core/:各种系统级别的结构体(例如,配置、任务定义、错误码等)的定义、全局异常处理、跨域中间件设置、用户授权验证、路由拦截、统一参数处理、静态资源中间件、默认配置等
│
├--handler/:对应Controller,封装对所有AI应用的调用,对外暴露业务功能接口
│
├--logger/:定义日志生成方法
│
├--res/:资源文件,主要是图片和支付证书,以及IP地址库
│
├--service/:各种服务的实现类,包括dalle、midjourney、sd、oss、支付、短信、微信等
│
├--store/:各种业务实体对应的model和vo,以及Dao层对象
│
├--test/:测试方法
│
├--utils/:各种工具类,例如,加密、字符串、上传等
│
├--config.sample.toml:toml配置文件
│
├--fresh.conf:热部署配置
│
└--main.go:应用启动类,实现服务注入及路由注册
geekai属于典型的单体应用,没有任何和分布式相关的东西。
感谢支持
更多内容,请移步《超级个体》。