Sommaire
- Référence du fichier de configuration
- Gestion des variables d’environnement
- Réponses en streaming
- Gestion des versions
- Contrôles d’intégrité
- Conversations multi-tours
- Projets d’exemple
Référence du fichier de configuration
Structure de .novita-agent.yaml
Le.novita-agent.yaml le fichier de configuration utilise le format YAML de style Kubernetes:
Modification de la configuration
Modification des paramètres de CPU et de mémoire
Modifiez la configuration des ressources sousspec.runtime in .novita-agent.yaml:
Modification des variables d’environnement
Lespec.envVars dans .novita-agent.yaml n’est utilisé que pour la CLI agent invoke commande et ne seront pas transmis au modèle de sandbox déployé.
Modifiez les variables d’environnement sous spec.envVars dans .novita-agent.yaml:
- ⚠️ Ne stockez pas d’informations sensibles (telles que des clés API) dans
.novita-agent.yaml - Vous pouvez également transmettre des variables d’environnement via le
--envparamètre lors de l’exécution deagent invokecommand
Redéployer pour appliquer les modifications de configuration
Après avoir modifié les spécifications des ressources dans.novita-agent.yaml, un redéploiement est requis:
Gestion des variables d’environnement
Il existe plusieurs façons de transmettre des variables d’environnement aux Agents s’exécutant dans des instances sandbox :Méthode 1 : définir dans le fichier de configuration (invocation CLI uniquement)
Définissez les variables d’environnement sousspec.envVars dans .novita-agent.yaml:
Méthode 2 : transmettre dynamiquement via le SDK
Lors de l’appel d’un Agent à l’aide du SDKinvoke_agent_runtime méthode, transmettez-les dynamiquement via le envVars paramètre:
Réponses en streaming
Implémenter le streaming avec des générateurs synchrones
Utilisez des générateurs Python pour implémenter des réponses en streaming :Implémenter le streaming avec des générateurs asynchrones
Utilisez les générateurs asynchrones Python :Exemple de réponse en streaming LangChain
Exemple complet utilisant LangChain pour les réponses en streaming:Invocation d’un Agent en streaming
Invoquez un Agent en streaming à l’aide du SDK :Gestion des versions
Déploiement d’une nouvelle version de l’agent
Modifiez le numéro de version et déployez une nouvelle version :agent_id est généré. Chaque déploiement génère un unique agent_id qui correspond à une version spécifique.
Contrôles de santé
Point de terminaison de contrôle de santé par défaut
AgentRuntimeApp fournit automatiquement un/ping point de terminaison de vérification de l’état:
Vérifications d’état personnalisées
Utilisez le@app.ping décorateur pour personnaliser la logique de contrôle d’intégrité:
Statuts de vérification d’état pris en charge
Les agents peuvent retourner les statuts d’état suivants : | Statut | Description | Code d’état HTTP | |--------|-------------|------------------|Healthy | L’agent est entièrement disponible | 200 | HealthyBusy | L’agent est partiellement disponible (p. ex., traitement d’une charge importante) | 200 | Unhealthy | L’agent est indisponible | 503 |
Conversations multi-tours
Utiliser l’ID de session pour les conversations multi-tours
Utilisez leruntimeSessionId paramètre permettant d’acheminer plusieurs requêtes vers la même instance de sandbox: