pingslayer/mr-nags-gpt-laravel
GitHub: pingslayer/mr-nags-gpt-laravel
这是一个基于 Laravel 13 构建的生产级多租户 AI 聊天后端,集成了语义 RAG 记忆与提示词注入防御机制。
Stars: 0 | Forks: 0
# Mr. Nags AI Chat Backend 🤖 Peas ✌️
一个为 "Mr. Nags" 角色打造的现代化、生产就绪的 AI 聊天后端,基于 **Laravel 13** 和 **官方 Laravel AI SDK** 构建。
## ✨ 功能
- **🤖 Agent 架构**:使用官方 Laravel `Agent` 模式实现,支持基于个性的交互。
- **🧠 自动记忆**:利用 `RemembersConversations` trait 无缝持久化和检索多轮聊天历史。
- **🔍 无限记忆 (RAG)**:集成 `pgvector` 进行语义搜索,允许 Agent 回忆之前对话的上下文。
- **🛡️ 注入防御**:在 `config/ai.php` 中内置多层防御提示词,以防止越狱和指令覆盖。
- **⚡ 交互式 CLI**:高级终端模式(`php artisan chat:interactive`),用于实时调试和测试。
- **🔐 多租户安全**:通过 Laravel Sanctum 进行安全的 API 身份验证,并严格隔离用户数据。
## 🛠️ 技术栈
- **框架**:Laravel 13
- **AI SDK**:`laravel/ai`(官方 SDK)
- **数据库**:PostgreSQL 搭配 `pgvector`
- **身份验证**:Laravel Sanctum
## 🚀 快速开始
### 1. 前置条件
确保已安装 PostgreSQL 并启用了 `pgvector` 扩展。
### 2. 配置
将你的 OpenAI(或首选提供商)密钥添加到 `.env` 文件中:
```
OPENAI_API_KEY=your-api-key
AI_CONNECTION=openai
```
### 3. 安装
```
composer install
php artisan migrate:fresh
```
### 4. 与 Mr. Nags 对话 (CLI)
填充一个测试用户并开始聊天:
```
php artisan chat:interactive test@example.com
```
## 🔌 API 使用
### 聊天端点
发起或继续对话:
`POST /api/chat`
```
{
"message": "Hey Mr. Nags, what's our meeting status?",
"conversation_id": "optional-uuid-here"
}
```
### 对话管理
- `GET /api/conversations`:列出所有进行中的 AI 线程。
- `GET /api/conversations/{id}`:查看特定对话及其消息历史。
- `DELETE /api/conversations/{id}`:永久删除一个线程。
## 🛡️ 安全与防御
Agent 受严格的系统提示词约束,将所有用户输入视为不可信。规则在 `config/ai.php` 中配置,以防止身份覆盖。
## 📜 许可证
Mr. Nags 项目是开源软件,遵循 [MIT 许可证](https://opensource.org/licenses/MIT)。
标签:Agent 架构, AI 助手, AI 后端, API 认证, CLI 工具, ffuf, Laravel, Laravel 13, Laravel AI SDK, Laravel Sanctum, Multi-tenant, OpenAI, OpenVAS, pgvector, PHP, PostgreSQL, Prompt 防护, RAG, Web 开发, 人工智能, 内存规避, 向量数据库, 命令行交互, 安全, 对话记忆, 提示词注入防御, 检索增强生成, 测试用例, 用户模式Hook绕过, 语义搜索, 超时处理, 长期记忆