Le service API de Devana est une API REST+GraphQL qui permet de gérer l'ensemble des fonctionnalités de l'application.
Pour installer le service API de Devana, vous devez disposer des éléments suivants :
Avant de procéder à l'installation de Devana, assurez-vous que votre infrastructure remplit ces conditions et que vous disposez des accès et autorisations nécessaires pour créer et gérer les ressources sur votre plateforme de cloud.
Pour garantir des performances optimales de l'application Devana, il est important de dimensionner correctement les ressources allouées à chaque pod.
Nous recommandons d'utiliser un réplica set de minimum 2 pods pour garantir la haute disponibilité.
Pour pouvoir récupérer l'image Docker de l'API de Devana, vous devez disposer d'un compte sur le registre Docker de Devana. Pour obtenir vos identifiants, contactez le support technique de Devana (support-it@devana.ai).
Le service API de Devana peut être configuré via les variables d'environnement suivantes :
API_PORT : Port d'écoute de l'API (par défaut : 3000)API_HOST : Adresse d'écoute de l'API (par défaut : 0.0.0.0)DATABASE_URL : URL de connexion à la base de données PostgreSQL (format : postgresql://user:password@host:port/database)REDIS_URL : URL de connexion au serveur Redis (format : redis://user:password@host:port)S3_ENDPOINT : URL du serveur S3 compatible (par exemple : https://s3.amazonaws.com)S3_ACCESS_KEY : Clé d'accès au serveur S3S3_SECRET_KEY : Clé secrète d'accès au serveur S3S3_BUCKET : Nom du bucket S3 à utiliser pour le stockage des fichiersJWT_SECRET : Clé secrète utilisée pour signer les tokens JWT (JSON Web Tokens)OPENAI_API_KEY : Clé d'API OpenAI (nécessaire pour utiliser les fonctionnalités d'IA)OPENAI_API_URL : URL de l'API OpenAI (par défaut : https://api.openai.com)OPENAI_MODEL : Modèle d'IA OpenAI à utiliser (par défaut : gpt-3.5-turbo)Pour déployer le service API de Devana sur votre cluster Kubernetes, suivez les étapes ci-dessous :
kubectl create namespace devana
kubectl create secret docker-registry devana-registry \
--docker-server=registry.devana.ai \
--docker-username=<votre-nom-utilisateur> \
--docker-password=<votre-mot-de-passe> \
--namespace=devana
kubectl apply -f ./kube/devana/devana-api.yml
kubectl get pods -n devana-production
Vous avez maintenant déployé le service API de Devana sur votre cluster Kubernetes. Les pods sont configurés avec les ressources recommandées et le service est exposé pour être accessible depuis l'extérieur du cluster.
N'oubliez pas de configurer correctement les secrets Kubernetes pour stocker les informations sensibles telles que les identifiants de base de données, les clés d'API, etc.
Si vous rencontrez des problèmes lors du déploiement ou de l'utilisation du service API de Devana, n'hésitez pas à contacter notre équipe de support technique à l'adresse support-it@devana.ai.
ENABLE_PROXY : Activer ou désactiver l'utilisation d'un proxy pour les requêtes sortantes (par défaut : false)HTTP_PROXY: Proxy HTTP à utiliser pour les requêtes sortantesHTTPS_PROXY: Proxy HTTPS à utiliser pour les requêtes sortantesNO_PROXY: Liste des adresses IP ou noms de domaine à exclure des proxies (séparés par des virgules)PROXY_FORCE_HTTP: Forcer l'utilisation du proxy HTTP pour toutes les requêtes sortantes qui sont normalement en HTTPS (par défaut : false)MAX_TOKENS_TOOLS_CALLBACK : Nombre maximum de tokens à retourner lors de l'appel aux outils ajoutés par l'utilisateur (par défaut : 20 000 tokens)TOOLMODEL_MODEL : Modèle LLM à utiliser pour l'appel des outilsTOOLMODEL_API_KEY : Clé d'API pour le LLM d'appel aux outilsTOOLMODEL_BASE_URL : URL de base pour le LLM qui s'occupe des appels d'outilsDEVANA_EMBEDDINGS_INDEX_MODEL : Modèle LLM à utiliser pour l'indexation des embeddingsDEVANA_EMBEDDINGS_INDEX_APIKEY : Clé d'API pour le LLM d'indexation des embeddingsDEVANA_EMBEDDINGS_INDEX_HOST : URL de base pour le LLM qui s'occupe de l'indexation des embeddingsSCALEWAY_API_KEY : Clé d'API Scaleway pour l'inférence LLMENCRYPTION_KEY : [On-Prem] Permet le chiffrement des identifiants pour les configurations Sharepoint On-Premises
SKIP_LIBRARY : [On-Prem & Cloud] Tableau de bibliothèque Sharepoint à scopé pour les sites Sharepoint. Exemple: ["Documents", "Site Pages", "Pages"]GOOGLE_CLIENT_ID : [Cloud] L'identifiant client de votre application Google DriveGOOGLE_CLIENT_SECRET : [Cloud] Le secret client de votre application Google DriveDROPBOX_CLIENT_ID : [Cloud] L'identifiant client de votre application DropboxDROPBOX_CLIENT_SECRET : [Cloud] Le secret client de votre application DropboxMICROSOFT_CLIENT_ID : [Cloud] L'identifiant client de votre application Microsoft OneDriveMICROSOFT_CLIENT_SECRET : [Cloud] Le secret client de votre application Microsoft OneDriveOAUTH_CALLBACK_URI : [Cloud] L'URL de redirection pour gérer l'authentificationJIRA_CLIENT_ID : [Cloud] L'identifiant client de votre application JiraJIRA_CLIENT_SECRET : [Cloud] Le secret client de votre application Jira