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

# Integrace AI

> Konfigurace AI chatu, návrhů oprav chyb LaTeXu, kvót a vyhledávacích služeb v nasazení na Kubernetes.

Asistent AI a asistent pro chyby LaTeXu běží ve službě **web** (moduly `workbench` a `error-assistant`) každého podu Ayakaleaf Pro. Co jednotlivá nastavení dělají, přístup uživatelů a kvóty popisuje stránka [Integrace AI](https://ayakaleaf-pro.mintlify.site/cs/on-premises/configuration/overleaf-toolkit/integrations/ai-integration.md); tato stránka popisuje, jak to vložit do Kubernetes.

| | |
| - | - |
| Služba | web, v každém podu Ayakaleaf Pro; načítá se při spuštění služby web. Nástroj `web_fetch` jde přes linked-url-proxy ve stejném podu |
| Pod → ven | `AI_BASE_URL`; `WEB_SEARCH_URL` (výchozí `https://api.tavily.com/search`) a `DOCS_MCP_URL`, pokud je zapnuté vyhledávání; stránky, které model čte pomocí `web_fetch` |
| Zvenčí → Overleaf | nic |
| Stav | čítače kvót tokenů v Redisu, sdílené všemi replikami; historie chatu zůstává v prohlížeči |
| Periodické úlohy | žádné |

### Konfigurace

**1. ConfigMapa**

```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` musí být přesně `"true"`. Asistent se zobrazí pouze tehdy, když jsou nastaveny všechny proměnné `AI_ENABLED`, `AI_BASE_URL`, `AI_MODEL` a `AI_API_KEY`.

**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. Aplikujte, restartujte a ověřte bránu z každého podu**

```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
```

Jakýkoli stavový kód HTTP znamená, že brána je dostupná; `000` znamená, že dostupná není.

Nástroj `web_fetch` načítá stránky přes stejnou proxy jako soubory z [externí URL](https://ayakaleaf-pro.mintlify.site/cs/on-premises/configuration/kubernetes/external-url.md), takže nastavení `OVERLEAF_LINKED_URL_*` omezují i to, co smí model číst.

### Více replik

Nic dalšího není potřeba. Kvóta tokenů se počítá v Redisu, takže spotřeba uživatele je na každé replice stejná a vynulování administrátorem platí všude.

### Otestováno na Kubernetes

Proti simulaci brány kompatibilní s OpenAI, Tavily a MCP endpointu GitBooku (s důvěrou nastavenou přes `NODE_EXTRA_CA_CERTS` z `overleaf-certs`), na Kubernetes 1.37, procházejí naše end-to-end testy: pro asistenta AI na třech replikách za HAProxy (31 případů) chaty s voláním nástrojů a navrhovanými úpravami, vyhledávání na webu a v dokumentaci, čtení webových stránek přes linked-url-proxy omezené pomocí `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES`, přílohy s obrázky a PDF, souhlas, kvóta tokenů počítaná v Redisu, AI vypnutá pro uživatele a pro instanci a pomalá spojení s bránou; pro asistenta pro chyby na jedné replice (15 případů) navrhované opravy, souhlas, sdílená kvóta tokenů a vypnutá AI.


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