Model Details:
- Model Name: framer_overrides
- Endpoint Name: framer_custom_code
- Endpoint ID: 3736911268833918976
- Base Model: gemini-2.0-flash-lite-001
- Tuning Method: Supervised
- Deployment Platform: Google Cloud Vertex AI.
- Region: us-central1
- API Endpoint: fra
- Infrastructure: Google-managed.
- Model Status: Active
- Original Model: Gemini 2.5 pr
How to use:
Install the Vertex AI SDK: Open a terminal window and enter the command below. You can also install it in a virtualenv
pip install --upgrade google-genaigcloud auth application-default login
Use the following code in your application to request a model response
from google.genai import types
import base64def
generate(): client = genai.Client( vertexai=True, project="903806786624", location="us-central1", )
model = "projects/903806786624/locations/us-central1/endpoints/2455637174847012864"
contents = [ types.Content( role="user", parts=[ ] ) ]
generate_content_config = types.GenerateContentConfig(
temperature = 1,
top_p = 0.95,
max_output_tokens = 8192,
safety_settings = [types.SafetySetting(
category="HARM_CATEGORY_HATE_SPEECH",
threshold="OFF" ),
types.SafetySetting(
category="HARM_CATEGORY_DANGEROUS_CONTENT",
threshold="OFF"
),types.SafetySettin
category="HARM_CATEGORY_SEXUALLY_EXPLICIT"
threshold="O
),types.SafetySetting(
category="HARM_CATEGORY_HARASSMENT",
threshold="OFF"
)]
)
Ensure live Framer Docs are checked with function calling:
FunctionCallingConfigMode,
FunctionDeclaration,
GoogleGenAI,
Type,
GenerateContentResponse,
} from '@google/genai';
// --- Configuration and Function Declaration ---
const API_KEY = process.env.API_KEY;
const getFramerUpdateInfoFunctionDeclaration: FunctionDeclaration = {
name: 'getFramerUpdateInfo',
description: `Retrieves update information or code examples from specific sections of the Framer developer documentation or the Motion animation library documentation.
This function helps to check for the latest information on Framer Components, Overrides, and the Motion animation library.
Relevant documentation sections include:
- Framer Components:
- https://www.framer.com/developers/component-examples
- https://www.framer.com/developers/auto-sizing
- https://www.framer.com/developers/property-controls
- https://www.framer.com/developers/components-reference
- Framer Overrides:
- https://www.framer.com/developers/overrides-introduction
- https://www.framer.com/developers/overrides-examples
- Motion Animation Library:
- https://motion.dev/docs/
Use this function to find out about recent changes, validate against training data, or to get code snippets.`,
parameters: {
type: Type.OBJECT,
properties: {
documentationArea: {
type: Type.STRING,
description: "The primary area of documentation to query. Supported areas: 'Components', 'Overrides', 'Motion'.",
},
specificTopic: {
type: Type.STRING,
description: "Optional. A more specific topic or sub-section within the documentation area. Examples: 'auto-sizing', 'property-controls', 'overrides-introduction', 'animation types', 'component-examples'.",
},
query: {
type: Type.STRING,
description: "The specific question about updates, conflicts with training data, or the code example being sought. E.g., 'latest changes to property controls', 'example for tap gesture animation', 'any new override examples'.",
},
},
required: ['documentationArea', 'query'],
},
};
// --- The Core Function for Calling the AI ---
async function generateContentWithFunctions(prompt: string) {
if (!API_KEY) {
console.error('API_KEY is not configured. Please set the environment variable.');
return;
}
try {
const ai = new GoogleGenAI({ apiKey: API_KEY });
const response: GenerateContentResponse = await ai.models.generateContent({
model: 'projects/903806786624/locations/us-central1/endpoints/2455637174847012864',
contents: [{role: "user", parts: [{text: prompt}]}],
config: {
tools: [
{ functionDeclarations: [getFramerUpdateInfoFunctionDeclaration] }
],
toolConfig: {
functionCallingConfig: {
mode: FunctionCallingConfigMode.ANY,
allowedFunctionNames: ['getFramerUpdateInfo'],
},
},
},
});
// log response
if (response.functionCalls && response.functionCalls.length > 0) {
console.log('Function call(s) requested:');
response.functionCalls.forEach(fc => {
console.log(`Function: ${fc.name}\nArguments: ${JSON.stringify(fc.args, null, 2)}`);
});
} else if (response.text) {
console.log(response.text);
} else {
console.log('Received a response, but it contained no text or function calls.');
}
} catch (e) {
console.error(e);
}
}
Tuning Information:
- Number of Epochs: 25
- Default Checkpoint: 8
- Learning Rate Multiplier: 0.004
- Adapter Size: 4
Performance and Status:
- Status: Succeeded
- Region: us-central1
- Created: June 10, 2025, 7:52:44 AM
- Ended: June 10, 2025, 8:09:47
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
๐
Ask for provider support