> ## 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.

# AI-integration

> Konfigurera AI-chatt, förslag för LaTeX-fel, kvoter och söktjänster i en Kubernetes-driftsättning.

AI-assistenten och assistenten för LaTeX-fel körs i tjänsten **web** (modulerna `workbench` och `error-assistant`) i varje Ayakaleaf Pro-pod. Vad varje inställning gör, användaråtkomst och kvoter beskrivs i [AI-integration](https://ayakaleaf-pro.mintlify.site/sv/on-premises/configuration/overleaf-toolkit/integrations/ai-integration.md); den här sidan för in det i Kubernetes.

| | |
| - | - |
| Tjänst | web, i varje Ayakaleaf Pro-pod; läses när web startar. Verktyget `web_fetch` går via linked-url-proxy i samma pod |
| Pod → utsidan | `AI_BASE_URL`; `WEB_SEARCH_URL` (standard `https://api.tavily.com/search`) och `DOCS_MCP_URL` om sökning är aktiverad; sidor som modellen läser med `web_fetch` |
| Utsidan → Overleaf | inget |
| Tillstånd | räknarna för tokenkvoten i Redis, delade av alla repliker; chatthistoriken stannar i webbläsaren |
| Periodiska jobb | inga |

### Konfiguration

**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` måste vara exakt `"true"`. Assistenten visas bara när `AI_ENABLED`, `AI_BASE_URL`, `AI_MODEL` och `AI_API_KEY` alla är satta.

**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. Tillämpa, starta om och kontrollera gatewayen från varje 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
```

Vilken HTTP-status som helst betyder att gatewayen går att nå; `000` betyder att den inte gör det.

Verktyget `web_fetch` hämtar sidor via samma proxy som filer från [Extern URL](https://ayakaleaf-pro.mintlify.site/sv/on-premises/configuration/kubernetes/external-url.md), så inställningarna `OVERLEAF_LINKED_URL_*` begränsar också vad modellen får läsa.

### Flera repliker

Inget extra. Tokenkvoten räknas i Redis, så en användares förbrukning är densamma på varje replik, och en administratörs nollställning gäller överallt.

### Testat på Kubernetes

Mot en attrapp av en OpenAI-kompatibel gateway, Tavily och GitBooks MCP-slutpunkt (betrodda via `NODE_EXTRA_CA_CERTS` från `overleaf-certs`), på Kubernetes 1.37, klarar våra end-to-end-tester sig: för AI-assistenten på tre repliker bakom HAProxy (31 fall), chattar med verktygsanrop och föreslagna ändringar, webb- och dokumentationssökning, läsning av webbsidor via linked-url-proxy begränsad av `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES`, bild- och PDF-bilagor, samtycke, tokenkvoten räknad i Redis, AI avstängd för en användare och för instansen samt långsamma anslutningar till gatewayen; för felassistenten på en replik (15 fall), föreslagna korrigeringar, samtycke, den delade tokenkvoten och AI avstängd.


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