🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install supercent-io/skills-template/firebase-ai-logic
💡 提示:需要 Node.js 和 NPM
Firebase AI 逻辑集成
何时使用此技能
- 添加AI功能:将生成式AI功能集成到您的应用中
- Firebase项目:为基于Firebase的应用添加AI能力
- 文本生成:内容创作、摘要总结、翻译等
- 图像分析:基于图像的AI处理
操作指南
步骤 1:Firebase 项目设置
# 安装 Firebase CLI
npm install -g firebase-tools
# 登录 Firebase
firebase login
# 初始化项目
firebase init
步骤 2:启用 AI Logic
在 Firebase 控制台中:
- 选择 构建 > AI Logic
- 点击 开始使用
- 启用 Gemini API
步骤 3:安装 SDK
Web (JavaScript):
npm install firebase @anthropic-ai/sdk
初始化代码:
import { initializeApp } from 'firebase/app';
import { getAI, getGenerativeModel } from 'firebase/ai';
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
};
const app = initializeApp(firebaseConfig);
const ai = getAI(app);
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });
步骤 4:实现 AI 功能
文本生成:
async function generateContent(prompt: string) {
const result = await model.generateContent(prompt);
return result.response.text();
}
// 使用示例
const response = await generateContent("解释 Firebase 的主要特性。");
console.log(response);
流式响应:
async function streamContent(prompt: string) {
const result = await model.generateContentStream(prompt);
for await (const chunk of result.stream) {
const text = chunk.text();
console.log(text);
}
}
多模态 (图像 + 文本):
async function analyzeImage(imageUrl: string, prompt: string) {
const imagePart = {
inlineData: {
data: await fetchImageAsBase64(imageUrl),
mimeType: "image/jpeg"
}
};
const result = await model.generateContent([prompt, imagePart]);
return result.response.text();
}
步骤 5:配置安全规则
Firebase 安全规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// 保护 AI 请求日志
match /ai_logs/{logId} {
allow read: if request.auth != null && request.auth.uid == resource.data.userId;
allow create: if request.auth != null;
}
}
}
输出格式
推荐的项目结构
project/
├── src/
│ ├── ai/
│ │ ├── client.ts # 初始化 AI 客户端
│ │ ├── prompts.ts # 提示词模板
│ │ └── handlers.ts # AI 请求处理逻辑
│ └── firebase/
│ └── config.ts # Firebase 配置
├── firebase.json
└── .env.local # API 密钥 (需添加到 .gitignore)
最佳实践
- 提示词优化:编写清晰、具体的提示词以获得更好的结果
- 错误处理:在 AI 响应失败时实现降级或备用方案
- 速率限制:限制使用频率以控制成本
- 缓存策略:对重复请求的响应进行缓存
- 安全措施:通过环境变量管理 API 密钥,避免硬编码
约束条件
强制性规则 (必须遵守)
- 切勿在代码中硬编码 API 密钥
- 必须验证用户输入
- 必须实现完善的错误处理
禁止事项 (绝不能做)
- 不要将敏感数据发送给 AI
- 不要允许无限制的 API 调用
参考链接
元数据
- 当前版本:1.0.0
- 最后更新:2025-01-05
- 兼容平台:Claude, ChatGPT, Gemini
使用示例
示例 1:基础用法
示例 2:高级用法
📄 原始文档
完整文档(英文):
https://skills.sh/supercent-io/skills-template/firebase-ai-logic
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)