> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Intégration de l'IA

> Configurer le chat IA, les suggestions pour les erreurs LaTeX, les quotas et les services de recherche sur un déploiement Kubernetes.

L'assistant IA et l'assistant d'erreurs LaTeX s'exécutent dans le service **web** (les modules `workbench` et `error-assistant`) de chaque pod Ayakaleaf Pro. Le rôle de chaque paramètre, l'accès des utilisateurs et les quotas sont décrits dans [Intégration de l'IA](https://ayakaleaf-pro.mintlify.site/fr/on-premises/configuration/overleaf-toolkit/integrations/ai-integration.md) ; cette page explique comment l'intégrer dans Kubernetes.

| | |
| - | - |
| Service | web, dans chaque pod Ayakaleaf Pro ; lu au démarrage de web. L'outil `web_fetch` passe par linked-url-proxy dans le même pod |
| Pod → extérieur | `AI_BASE_URL` ; `WEB_SEARCH_URL` (par défaut `https://api.tavily.com/search`) et `DOCS_MCP_URL` si la recherche est activée ; les pages que le modèle lit avec `web_fetch` |
| Extérieur → Overleaf | aucun |
| État | les compteurs de quota de jetons dans Redis, partagés par tous les réplicas ; l'historique du chat reste dans le navigateur |
| Tâches périodiques | aucune |

### Configuration

**1. ConfigMap**

```yaml title="30-config.yaml (additions)" wrap theme={null}
  AI_ENABLED: "true"
  AI_BASE_URL: https://ai-gateway.example.com/v1
  AI_MODEL: YOUR_TEXT_MODEL_ID
  # optional, see the Toolkit page
  # AI_IMAGE_MODEL: YOUR_IMAGE_CAPABLE_MODEL_ID
  # AI_PDF_MODEL: YOUR_PDF_CAPABLE_MODEL_ID
  # AI_TOKEN_QUOTA: "200000"
  # AI_TOKEN_QUOTA_PERIOD: month
  # AI_PROXY_URL: http://proxy.example.com:3128
```

`AI_ENABLED` doit valoir exactement `"true"`. L'assistant n'apparaît que lorsque `AI_ENABLED`, `AI_BASE_URL`, `AI_MODEL` et `AI_API_KEY` sont tous définis.

**2. Secret**

```bash theme={null}
kubectl -n overleaf patch secret overleaf-secrets --type merge -p '{"stringData":{
  "AI_API_KEY":"<gateway key>",
  "TAVILY_API_KEY":"<search key, optional>"}}'
```

**3. Appliquer, redémarrer et vérifier la passerelle depuis chaque pod**

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
for p in $(kubectl -n overleaf get pod -l app=overleaf -o name); do   # app=overleaf-ha for several replicas
  kubectl -n overleaf exec "$p" -- curl -sS -o /dev/null -w "$p %{http_code}\n" https://ai-gateway.example.com/v1/models
done
```

N'importe quel code HTTP signifie que la passerelle est joignable ; `000` signifie qu'elle ne l'est pas.

L'outil `web_fetch` récupère les pages via le même proxy que les fichiers [URL externe](https://ayakaleaf-pro.mintlify.site/fr/on-premises/configuration/kubernetes/external-url.md) ; les paramètres `OVERLEAF_LINKED_URL_*` limitent donc également ce que le modèle peut lire.

### Plusieurs réplicas

Rien de plus. Le quota de jetons est comptabilisé dans Redis ; la consommation d'un utilisateur est donc la même sur chaque réplica, et une réinitialisation effectuée par un administrateur s'applique partout.

### Testé sur Kubernetes

Face à une simulation d'une passerelle compatible OpenAI, de Tavily et du point de terminaison MCP de GitBook (approuvés via `NODE_EXTRA_CA_CERTS` depuis `overleaf-certs`), sur Kubernetes 1.37, nos tests de bout en bout réussissent : pour l'assistant IA sur trois réplicas derrière HAProxy (31 cas), les conversations avec appels d'outils et modifications suggérées, la recherche web et dans la documentation, la lecture de pages web via linked-url-proxy limitée par `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES`, les pièces jointes images et PDF, le consentement, le quota de jetons comptabilisé dans Redis, l'IA désactivée pour un utilisateur et pour l'instance, et les connexions lentes vers la passerelle ; pour l'assistant d'erreurs sur un réplica (15 cas), les corrections suggérées, le consentement, le quota de jetons partagé et l'IA désactivée.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.