firebase-ai-logic

安装量: 1.4K
排名: #1050

安装

npx skills add https://github.com/supercent-io/skills-template --skill firebase-ai-logic
Firebase AI Logic Integration
When to use this skill
Add AI features
integrate generative AI features into your app
Firebase projects
add AI to Firebase-based apps
Text generation
content generation, summarization, translation
Image analysis
image-based AI processing Instructions Step 1: Firebase Project Setup

Install Firebase CLI

npm install -g firebase-tools

Login

firebase login

Initialize project

firebase init
Step 2: Enable AI Logic
In Firebase Console:
Select
Build > AI Logic
Click
Get Started
Enable the Gemini API
Step 3: Install SDK
Web (JavaScript)
:
npm
install
firebase @anthropic-ai/sdk
Initialization code
:
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"
}
)
;
Step 4: Implement AI Features
Text generation
:
async
function
generateContent
(
prompt
:
string
)
{
const
result
=
await
model
.
generateContent
(
prompt
)
;
return
result
.
response
.
text
(
)
;
}
// Example usage
const
response
=
await
generateContent
(
"Explain the key features of Firebase."
)
;
console
.
log
(
response
)
;
Streaming 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
)
;
}
}
Multimodal (image + 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
(
)
;
}
Step 5: Configure Security Rules
Firebase Security Rules
:
rules_version
=
'2'
;
service cloud
.
firestore
{
match
/
databases
/
{
database
}
/
documents
{
// Protect AI request logs
match
/
ai_logs
/
{
logId
}
{
allow read
:
if
request
.
auth
!=
null
&&
request
.
auth
.
uid
==
resource
.
data
.
userId
;
allow create
:
if
request
.
auth
!=
null
;
}
}
}
Output format
Project structure
project/
├── src/
│ ├── ai/
│ │ ├── client.ts # Initialize AI client
│ │ ├── prompts.ts # Prompt templates
│ │ └── handlers.ts # AI handlers
│ └── firebase/
│ └── config.ts # Firebase config
├── firebase.json
└── .env.local # API key (gitignored)
Best practices
Prompt optimization
write clear, specific prompts
Error handling
implement a fallback when AI responses fail
Rate Limiting
limit usage and manage costs
Caching
cache responses for repeated requests
Security
manage API keys via environment variables
Constraints
Required Rules (MUST)
Do not hardcode API keys in code
Validate user input
Implement error handling
Prohibited (MUST NOT)
Do not send sensitive data to the AI
Do not allow unlimited API calls
References
Firebase AI Logic Docs
Gemini API
Firebase SDK
Metadata
Version
1.0.0
Last updated
2025-01-05
Supported platforms
Claude, ChatGPT, Gemini Examples Example 1: Basic usage Example 2: Advanced usage
返回排行榜