For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/ai-machine-learning/ai-endpoints-pydantic-ai-integration.md.

AI Endpoints - Intégration avec Pydantic AI

Voir en Markdown

Découvrez comment créer des applications IA prêtes pour la production avec Pydantic AI et les AI Endpoints OVHcloud

Info

AI Endpoints est couvert par les Conditions particulières OVHcloud Public Cloud (voir l’Annexe 10 – « Conditions spécifiques – AI Endpoints »).

Nouvelle intégration disponible : nous sommes ravis d'annoncer une nouvelle intégration pour AI Endpoints avec Pydantic AI. Cette intégration vous permet de créer des applications de niveau production avec de l'IA générative, en utilisant la validation de données et la sécurité typée de Pydantic, et poursuit notre engagement à intégrer AI Endpoints dans un maximum d'outils open source afin d'en simplifier l'usage.

Objectif

OVHcloud AI Endpoints permet aux développeurs d'ajouter facilement des fonctionnalités d'IA à leurs développements au quotidien.

Dans ce guide, nous allons vous montrer comment utiliser Pydantic AI pour intégrer OVHcloud AI Endpoints dans vos applications Python afin de créer des agents IA typés et prêts pour la production.

Grâce au framework d'agents de Pydantic AI et à l'infrastructure IA évolutive d'OVHcloud, vous pouvez rapidement créer des applications fiables qui exploitent les capacités de validation de Pydantic pour garantir des interactions structurées et typées avec les LLM.

Pydantic AI

Définition

  • Pydantic AI : un framework d'agents Python conçu pour créer des applications de niveau production avec de l'IA générative. Il s'appuie sur Pydantic pour la validation des données et la sécurité typée, garantissant des interactions structurées et fiables avec les LLM. Pydantic AI propose une API simple mais puissante pour créer des agents IA avec validation, gestion des erreurs et vérification de type intégrées.
  • AI Endpoints : une plateforme serverless d'OVHcloud offrant un accès simplifié à une variété de modèles d'IA reconnus mondialement, dont Mistral, LLaMA, et bien d'autres. Cette plateforme est conçue pour être simple, sécurisée et intuitive, avec la confidentialité des données comme priorité absolue.

Pourquoi cette intégration est-elle importante ?

Cette nouvelle intégration vous offre plusieurs avantages :

  • Sécurité typée : tirez parti de la validation de Pydantic pour garantir des sorties structurées et validées des LLM.
  • Prêt pour la production : gestion des erreurs, logique de nouvelle tentative et validation intégrées pour des applications fiables.
  • Simplicité : créez des agents IA en quelques lignes de code seulement.
  • Flexibilité : utilisez n'importe quel modèle IA OVHcloud dans vos applications Pydantic AI.
  • Modèles : tous nos modèles sont disponibles via Pydantic AI.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un compte OVHcloud avec un accès à AI Endpoints.
  • Python 3.8 ou une version ultérieure installé.
  • Une clé API générée depuis l', dans la section Public Cloud > AI Endpoints > Clés API.
Générer une clé API

En pratique

Installation

Installez Pydantic AI avec pip :

pip install pydantic-ai

Ou avec uv :

uv add pydantic-ai

Vous êtes maintenant prêt à commencer.

Configuration de base

Variables d'environnement

La méthode recommandée pour configurer votre clé API consiste à utiliser des variables d'environnement :

export OVHCLOUD_API_KEY="your-api-key"

Ou utilisez un fichier .env :

OVHCLOUD_API_KEY=your-api-key

Utilisation de base

Voici un exemple d'utilisation simple : vous êtes prêt en moins de 5 lignes de code :

from pydantic_ai import Agent

agent = Agent('ovhcloud:gpt-oss-120b')
result = agent.run_sync('What is the capital of France?')
print(result.output)

Utiliser une configuration de fournisseur personnalisée

Si vous devez configurer le fournisseur explicitement, vous pouvez utiliser la classe OVHcloudProvider :

from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.ovhcloud import OVHcloudProvider

model = OpenAIChatModel(
    'gpt-oss-120b',
    provider=OVHcloudProvider(api_key='your-api-key'),
)
agent = Agent(model)
result = agent.run_sync('What is the capital of France?')
print(result.output)

Fonctionnalités avancées

Sortie structurée avec les modèles Pydantic

Utilisez les modèles Pydantic pour obtenir des sorties validées et structurées :

from pydantic import BaseModel
from pydantic_ai import Agent

class LocationInfo(BaseModel):
    city: str
    country: str
    population: int
    capital: bool

agent = Agent('ovhcloud:gpt-oss-120b', result_type=LocationInfo)

result = agent.run_sync(
    'Extract information about Paris: it is the capital of France with a population of about 2.1 million.'
)

print(result.data)
# LocationInfo(city='Paris', country='France', population=2100000, capital=True)

Prompts système et contexte

Ajoutez des prompts système et du contexte pour guider votre agent :

from pydantic_ai import Agent

agent = Agent(
    'ovhcloud:gpt-oss-120b',
    system_prompt='You are a helpful assistant specialized in geography.',
)

result = agent.run_sync(
    'What are the three largest cities in France?',
    message_history=[
        {'role': 'user', 'content': 'Tell me about France'},
        {'role': 'assistant', 'content': 'France is a country in Western Europe...'},
    ],
)

print(result.output)

Opérations asynchrones

Utilisez async/await pour de meilleures performances dans les applications concurrentes :

import asyncio
from pydantic_ai import Agent

async def main():
    agent = Agent('ovhcloud:gpt-oss-120b')
    
    result = await agent.run('What is the capital of France?')
    print(result.output)
    
    # Run multiple queries concurrently
    results = await asyncio.gather(
        agent.run('What is the capital of France?'),
        agent.run('What is the capital of Germany?'),
        agent.run('What is the capital of Italy?'),
    )
    
    for result in results:
        print(result.output)

asyncio.run(main())

Appel de fonctions / utilisation d'outils

Permettez à vos agents d'appeler des fonctions pour étendre leurs capacités :

from pydantic import BaseModel
from pydantic_ai import Agent
from pydantic_ai.tools import tool

class WeatherRequest(BaseModel):
    location: str
    unit: str = "celsius"

@tool
def get_weather(request: WeatherRequest) -> str:
    """Get the current weather for a location."""
    # Simulated weather function
    if request.unit == "celsius":
        return f"The weather in {request.location} is sunny, 22°C"
    else:
        return f"The weather in {request.location} is sunny, 72°F"

agent = Agent(
    'ovhcloud:gpt-oss-120b',
    tools=[get_weather],
)

result = agent.run_sync('What is the weather like in Paris?')
print(result.output)

Réponses en streaming

Diffusez les réponses en streaming pour une expérience utilisateur en temps réel :

from pydantic_ai import Agent

agent = Agent('ovhcloud:gpt-oss-120b')

for event in agent.run_stream('Write a short story about a robot learning to cook.'):
    if event.event == 'result':
        print(event.data.output)
    elif event.event == 'stream_token':
        print(event.data, end='', flush=True)

Gestion des erreurs et nouvelles tentatives

Configurez la gestion des erreurs et la logique de nouvelle tentative :

from pydantic_ai import Agent
from pydantic_ai.exceptions import PydanticAIError

agent = Agent(
    'ovhcloud:gpt-oss-120b',
    retries=3,
    retry_delay=1.0,
)

try:
    result = agent.run_sync('What is the capital of France?')
    print(result.output)
except PydanticAIError as e:
    print(f"Error: {e}")

Configuration de modèle personnalisée

Configurez les paramètres du modèle pour un comportement affiné :

from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.ovhcloud import OVHcloudProvider

model = OpenAIChatModel(
    'gpt-oss-120b',
    provider=OVHcloudProvider(api_key='your-api-key'),
    temperature=0.7,
    max_tokens=500,
    top_p=0.9,
)

agent = Agent(model)

result = agent.run_sync('Generate three creative business ideas for sustainable fashion.')
print(result.output)

Modèles disponibles

AI Endpoints d'OVHcloud propose un large éventail de modèles accessibles via Pydantic AI. Pour la liste complète et à jour, consultez notre catalogue de modèles.

Aller plus loin

Vous trouverez plus d'informations sur Pydantic AI dans leur documentation officielle. Vous pouvez également parcourir le catalogue AI Endpoints pour découvrir les modèles disponibles via Pydantic AI.

Pour des informations détaillées sur les fonctionnalités de Pydantic AI, y compris les modèles d'agents avancés et les bonnes pratiques, consultez la documentation Pydantic AI.

Parcourez la documentation AI Endpoints complète pour mieux comprendre les concepts principaux et démarrer.

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Votre avis nous intéresse !

N’hésitez pas à nous faire part de vos questions, retours et suggestions concernant AI Endpoints et ses fonctionnalités :

Cette page vous a-t-elle aidé ?