Notre avis
Ce skill permet d'ajouter ou modifier des modèles d'IA dans le projet Motivia, en gérant les providers, les SDK, les icônes et les configurations Prisma.
Points forts
- Couvre plusieurs providers d'IA (OpenAI, Anthropic, Google, Mistral, xAI).
- Fournit des instructions pas à pas pour l'ajout de nouveaux modèles ou providers.
- Intègre les enums Prisma et les migrations de base de données.
- Inclut des exemples de code pour le registry SDK et les icônes des providers.
Limites
- Spécifique à la structure du projet Motivia.
- Nécessite une connaissance de TypeScript et Prisma.
- Ne couvre pas la gestion des erreurs ou la validation des entrées.
Lorsque vous devez ajouter un nouveau modèle IA d'un provider existant ou intégrer un nouveau provider d'IA dans l'application Motivia.
Lorsque vous travaillez sur une intégration IA générale en dehors du projet Motivia ou si vous devez modifier la logique de génération IA elle-même.
Analyse de sécurité
SûrThe skill only performs code modifications (Read, Write, Edit, Glob, Grep) and routine package installation via pnpm. It does not execute destructive commands, exfiltrate data, or disable security. No risky operations.
Aucun point d'attention détecté
Exemples
Add the GPT-5 Ultra model from OpenAI to the Motivia AI model list with cost 50 and free=false.Integrate Cohere as a new AI provider in the Motivia project. Install the SDK, add the Prisma enum, create the icon, and add models.Update the Mistral provider in Motivia to use the latest SDK version and add new models.name: ai-model description: Gère les modèles IA de Motivia. Utilise ce skill quand l'utilisateur demande d'ajouter un nouveau modèle IA, modifier un provider, ou configurer les options de génération. Supporte OpenAI, Anthropic, Google, Mistral et xAI. allowed-tools: Read, Write, Edit, Glob, Grep
Gestion des Modèles IA Motivia
Fichiers concernés
utils/ai-model.tsx # Registry des modèles et providers
prisma/schema.prisma # Enum ApiProvider
components/icons/ # Icônes des providers
app/api/create/route.ts # Endpoint de génération
Structure d'un modèle
export type AIModelOption = {
provider: ApiProvider; // Enum Prisma: OPENAI, ANTHROPIC, GOOGLE, MISTRAL, XAI
model: string; // ID du modèle (ex: "gpt-5-nano-2025-08-07")
label: string; // Nom affiché (ex: "GPT 5 nano")
free: boolean; // true = utilise les lettres gratuites
cost: number; // Coût relatif (pour affichage)
};
Providers actuels
| Provider | Enum | SDK |
|----------|------|-----|
| OpenAI | ApiProvider.OPENAI | @ai-sdk/openai |
| Anthropic | ApiProvider.ANTHROPIC | @ai-sdk/anthropic |
| Google | ApiProvider.GOOGLE | @ai-sdk/google |
| Mistral | ApiProvider.MISTRAL | @ai-sdk/mistral |
| xAI | ApiProvider.XAI | @ai-sdk/xai |
Ajouter un nouveau modèle (provider existant)
1. Ajouter à la liste des modèles
// utils/ai-model.tsx
export const OPENAI_MODELS = [
// ... existing models
{
provider: ApiProvider.OPENAI,
model: "gpt-5-ultra-2025-xx-xx", // ID exact du modèle
label: "GPT 5 Ultra", // Nom affiché
free: false, // false = nécessite clé API
cost: 50, // Coût relatif
},
];
2. Vérifier l'export dans modelOptions
export const modelOptions: AIModelOption[] = [
...OPENAI_MODELS,
...ANTHROPIC_MODELS,
...MISTRAL_MODELS,
...XAI_MODELS,
];
Ajouter un nouveau provider
1. Installer le SDK
pnpm add @ai-sdk/newprovider
2. Ajouter l'enum Prisma
// prisma/schema.prisma
enum ApiProvider {
OPENAI
ANTHROPIC
GOOGLE
MISTRAL
XAI
NEWPROVIDER // Ajouter ici
}
3. Exécuter la migration
pnpm prisma migrate dev --name add_newprovider
4. Créer l'icône du provider
// components/icons/newprovider-icon.tsx
export const NewProviderIcon = ({ className }: { className?: string }) => (
<svg className={className} viewBox="0 0 24 24">
{/* SVG path */}
</svg>
);
5. Ajouter au registry
// utils/ai-model.tsx
import { createNewProvider } from "@ai-sdk/newprovider";
import { NewProviderIcon } from "@/components/icons";
// Dans providersLabelAndIcon
{
label: "New Provider",
value: ApiProvider.NEWPROVIDER,
image: <NewProviderIcon className="size-6" />,
},
// Dans les modèles
export const NEWPROVIDER_MODELS = [
{
provider: ApiProvider.NEWPROVIDER,
model: "model-id",
label: "Model Name",
free: false,
cost: 10,
},
];
// Dans modelOptions
export const modelOptions: AIModelOption[] = [
...OPENAI_MODELS,
...ANTHROPIC_MODELS,
...MISTRAL_MODELS,
...XAI_MODELS,
...NEWPROVIDER_MODELS, // Ajouter ici
];
// Dans registry
export const registry = (apiKey?: string, provider?: ApiProvider) =>
createProviderRegistry({
// ... existing
NEWPROVIDER: createNewProvider({
apiKey:
provider === ApiProvider.NEWPROVIDER && apiKey
? apiKey
: process.env.NEWPROVIDER_API_KEY,
}),
});
6. Ajouter la variable d'environnement
NEWPROVIDER_API_KEY=sk-...
Règles métier
Modèles gratuits
- Un modèle
free: trueutilise les 5 lettres gratuites de l'utilisateur - Si
freeLetters === 0, l'utilisateur doit avoir sa propre clé API
Coût
Le champ cost est indicatif et sert à l'affichage. Valeurs suggérées:
| Gamme | Cost | Exemple | |-------|------|---------| | Économique | 0-1 | nano, small | | Standard | 2-5 | mini, medium | | Premium | 10-15 | sonnet, medium | | Ultra | 20+ | opus |
Génération de lettre
Le flow dans app/api/create/route.ts:
- Vérifier l'authentification
- Valider le modèle demandé
- Récupérer la clé API (user ou env)
- Si free: décrémenter
freeLetters - Streamer la génération via
streamObject - Retourner
{ title, content }
Checklist nouveau modèle
- [ ] ID du modèle correct (vérifier docs du provider)
- [ ] Label clair et cohérent
- [ ]
freebien défini (true/false) - [ ]
costrelatif défini - [ ] Ajouté à l'array
modelOptions - [ ] Testé avec une clé API valide
Ingénierie de Prompts
Data & IA
Bonnes pratiques et templates de prompt engineering pour maximiser les résultats IA.
Visualisation de Données
Data & IA
Génère des visualisations de données et graphiques adaptés à vos données.
Architecture RAG
Data & IA
Guide de configuration d'architectures RAG (Retrieval-Augmented Generation).