这是一个基于 Go 后端和 Vue3 前端的 AI 应用开发工具,集成了 LangChain、RAG、Prompt Engineering 等功能。
go/
├── api/ # Go 后端 API 服务
│ └── main.go
├── internal/ # 内部模块
│ ├── chain/ # 链式调用
│ ├── llm/ # LLM 集成
│ ├── prompt/ # Prompt 工程
│ ├── rag/ # RAG 检索增强生成
│ └── utils/ # 工具函数
├── ai-frontend/ # Vue3 前端
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── stores/ # 状态管理
│ │ └── router/ # 路由配置
│ └── package.json
└── README.md
- AI 聊天: 支持多种 LLM 模型的智能对话
- 模板管理: 创建和管理 Prompt 模板
- RAG 检索: 基于文档的检索增强生成
- 链式调用: 支持复杂的 AI 工作流
- 后端: Go + Gin + OpenAI API
- 前端: Vue3 + Element Plus + Vite
- 状态管理: Pinia
- 路由: Vue Router
- Go 1.19+
- Node.js 14+
- OpenAI API Key
# 在项目根目录
go mod tidy# 进入前端目录cd ai-frontend
npm install创建 .env 文件:
# 复制环境变量模板
cp env.example .env编辑 .env 文件:
OPENAI_API_KEY=your_openai_api_key_hereOPENAI_BASE_URL=https://api.openai.com/v1# Windows PowerShell
.\start-full.ps1
# 或者使用批处理文件
.\start-full.bat启动后端服务:
# 在项目根目录
go run api/main.go启动前端服务:
# 在 ai-frontend 目录
npm run dev- 前端界面: http://localhost:3005
- 后端 API: http://localhost:8080
- API 文档: http://localhost:8080/docs
- 点击导航栏的"AI 聊天"
- 在输入框中输入问题
- 选择模型和模板
- 点击发送或按 Ctrl+Enter
- 点击"模板管理"
- 创建新的 Prompt 模板
- 设置模板参数和内容
- 保存并应用到聊天中
- 点击"RAG 检索"
- 上传文档文件
- 配置检索参数
- 基于文档进行问答
POST /api/v1/chat
Content-Type: application/json
{
"query": "你的问题",
"template": "qa",
"model": "gpt-3.5-turbo"
}
{
"query": "你的问题",
"answer": "AI 的回答",
"template": "qa",
"model": "gpt-3.5-turbo"
}如果遇到网络连接错误,请检查:
- 网络连接是否正常
- OpenAI API Key 是否正确
- 防火墙设置是否阻止了连接
如果前端启动失败:
- 检查 Node.js 版本(建议 16+)
- 删除
node_modules重新安装 - 检查端口 3005 是否被占用
如果后端启动失败:
- 检查 Go 环境是否正确安装
- 确认
.env文件配置正确 - 检查端口 8080 是否被占用
- 在
internal/llm/目录下创建新的模型文件 - 实现
LLM接口 - 在配置中添加新模型
- 在
internal/prompt/目录下添加模板 - 在前端模板管理界面中创建对应模板
- 测试模板效果
- 在
internal/rag/目录下添加新的检索方法 - 实现文档处理和向量化
- 集成到聊天流程中
- Fork 项目
- 创建功能分支
- 提交更改
- 发起 Pull Request
MIT License
如有问题或建议,请提交 Issue 或联系开发团队。


