> ## 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, přístupu uživatelů, kvót a volitelných vyhledávacích služeb.

<Info>
  Tuto funkci poskytuje [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/overleaf-pro) a je k dispozici od verze v6.3.0. Pokud narazíte na jakékoli problémy, uvítáme vaši zpětnou vazbu.
</Info>

## AI asistent a asistent pro chyby LaTeXu

Ayakaleaf Pro přináší funkce AI do editoru dvěma způsoby.

* AI asistent může jako kontext použít dokumenty vašeho projektu a aktuální výběr, odpovídat na otázky a navrhovat úpravy, které si můžete zkontrolovat.
* Asistent pro chyby navrhne cílenou opravu, když vyberete chybu kompilace LaTeXu.

<Frame>
  <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/image-48.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=107b27f8843a326269b5e3711ccf2616" alt="" width="2844" height="1710" data-path="images/on-premises/image-48.png" />
</Frame>

### Konfigurace Toolkitu

Přidejte do souboru `config/variables.env` ve svém nasazení Toolkitu následující nastavení a nahraďte ukázkovou URL, klíč a model hodnotami od svého poskytovatele:

```dotenv theme={null}
AI_ENABLED=true
AI_BASE_URL=https://ai-gateway.example.com/v1
AI_API_KEY=REPLACE_WITH_YOUR_GATEWAY_API_KEY
AI_MODEL=YOUR_TEXT_MODEL_ID
```

Skutečné API klíče uchovávejte v souboru prostředí nasazení a mimo správu verzí. Výše uvedené hodnoty jsou zástupné, nejde o funkční přihlašovací údaje.

<Info>
  Kvalita návrhů AI závisí na zvoleném modelu. Pokud již máte předplatné Codex nebo ChatGPT, můžete jej připojit přes endpoint kompatibilní s OpenAI v [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI).
</Info>

`AI_BASE_URL` je základní URL API kompatibilního s OpenAI, včetně prefixu verze poskytovatele, pokud je vyžadován. Nepřidávejte `/chat/completions`, protože tuto část připojujeme interně. Brána i model musí podporovat streamované chat completions a funkční nástroje (function tools). Obě funkce odesílají na tuto bránu kontext dokumentu; chat může při použití modelu podporujícího obrázky odesílat i nahrané obrázky.

Toolkit předává `config/variables.env` do aplikačního kontejneru. Ponechte zde uvedené názvy proměnných; nepřidávejte prefix `OVERLEAF_`. Po změně těchto proměnných znovu vytvořte aplikační kontejner z adresáře Toolkitu:

```sh theme={null}
bin/up -d
```

### Nastavení brány

| Proměnná | Výchozí | Účel |
| - | - | - |
| `AI_ENABLED` | `false` | Nastavte přesně na `true`, abyste pro instanci povolili chat a návrhy oprav chyb. Pokud není nastaveno nebo má jinou hodnotu, zůstanou zakázány. Je také vyžadována funkční konfigurace brány. |
| `AI_BASE_URL` | Žádná; povinné | Základní URL API kompatibilního s OpenAI. |
| `AI_API_KEY` | Žádná; povinné | API klíč pro tuto bránu, používaný serverem. |
| `AI_MODEL` | Žádná; povinné | Textový model používaný výchozí konfigurací chatu a návrhy oprav chyb LaTeXu. |
| `AI_IMAGE_MODEL` | Nenastaveno | Volitelný model podporující obrázky na stejné bráně, používající stejný API klíč. |
| `AI_MAX_STEPS` | `20` | Maximální počet volání nástrojů na jednu zprávu uživatele v AI chatu, včetně automatických pokračování. Použijte kladné celé číslo. |
| `AI_PROXY_URL` | Nenastaveno | Volitelná URL HTTP proxy pro volání AI brány. Nekonfiguruje klienty pro vyhledávání na webu ani v dokumentaci. |
| `AI_TOKEN_QUOTA` | `0` | Limit tokenů na uživatele za každé období, sdílený chatem a návrhy oprav chyb. Nenastaveno nebo `0` znamená bez omezení; pro limit použijte kladné celé číslo. |
| `AI_TOKEN_QUOTA_PERIOD` | `month` | `month` se resetuje první den v 00:00 UTC; `week` se resetuje v pondělí v 00:00 UTC. Ostatní hodnoty použijí `month`. |

Pro nahrávání obrázků nastavte `AI_IMAGE_MODEL` na model, který přijímá obrázkový vstup a podporuje nástroje používané chatem. Tento model použije každý požadavek chatu, jehož historie obsahuje obrázkovou přílohu, včetně pozdějších zpráv v dané konverzaci. Bez tohoto nastavení používají požadavky s obrázky běžný model chatu, který pak musí obrázky sám podporovat. Návrhy oprav chyb LaTeXu nadále používají `AI_MODEL`.

Například pro povolení obrázkového modelu a týdenního limitu AI:

```dotenv theme={null}
AI_IMAGE_MODEL=YOUR_IMAGE_CAPABLE_MODEL_ID
AI_TOKEN_QUOTA=100000
AI_TOKEN_QUOTA_PERIOD=week
```

### Přístup uživatelů a souhlas

Dostupnost pro instanci a oprávnění uživatele jsou oddělené. Dostupnost pro instanci řídí `AI_ENABLED` a konfigurace brány. Přihlášený uživatel musí navíc projít stávajícími kontrolami účtu:

* `aiFeatures.enabled` nesmí být `false`. Toto stávající databázové pole řídí jak chat, tak návrhy oprav chyb LaTeXu.
* Efektivní hodnota `features.aiUsageQuota` uživatele musí odpovídat nakonfigurované neomezené úrovni (ve výchozím nastavení `unlimited`), nebo musí být povoleno stávající starší oprávnění `features.aiErrorAssistant`. Efektivní funkce zahrnují příslušná přepsání funkcí účtu.

Samotné zaškrtnutí políčka tarif uživatele nemění. Pole `aiUsageQuota` je úroveň oprávnění, nikoli číselný limit tokenů. `AI_TOKEN_QUOTA` je samostatný limit uplatňovaný stejně na každého oprávněného uživatele; současný modul neposkytuje individuální číselný limit pro jednotlivé účty.

V seznamu uživatelů v administraci vyberte uživatele a otevřete **Update account info → AI features**. **Enable AI features** aktualizuje `aiFeatures.enabled` při uložení změn účtu. Server kontroluje aktuální oprávnění u nových požadavků AI, včetně požadavků z již otevřeného editoru. Po změně oprávnění obnovte editor, aby se aktualizovaly jeho viditelné ovládací prvky.

### Využití a reset

Karta AI features v administraci zobrazuje na jednom řádku **Usage**, **Limit** a tlačítko **Reset** pro aktuální období. Využití se načte při otevření karty; průběžně se neobnovuje. Chcete-li vidět nejnovější počet, otevřete kartu znovu po dokončení chatu nebo návrhu opravy chyby. Reset se projeví okamžitě, vymaže pouze počítadlo daného uživatele pro aktuální období a poté znovu načte zobrazené využití. Nevyžaduje uložení zbytku formuláře účtu.

<Frame>
  <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/img-2f5a5399.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=3c52c12aa1551cda22f218ec2dfda63b" alt="" width="563" data-path="images/on-premises/img-2f5a5399.png" />
</Frame>

Využití chatu a návrhů oprav chyb sdílí jedno počítadlo v Redisu, které se po dokončení požadavku aktualizuje podle celkového počtu tokenů nahlášeného poskytovatelem modelu. To zahrnuje vstupní i výstupní tokeny napříč kroky modelu. Vstup může zahrnovat historii konverzace, kontext dokumentu a výsledky nástrojů, takže navazující dotaz může spotřebovat více tokenů než samotná nová zpráva. Využití se zaznamenává i tehdy, když je limit **Unlimited**. Požadavky bez nahlášeného celkového počtu tokenů se do počítadla nepřičítají; historické nezaznamenané využití modul nedokáže zpětně zrekonstruovat.

Kontroly kvóty probíhají před zahájením streamování. Jeden požadavek nebo několik souběžných požadavků může zbývající limit překročit dříve, než jsou další požadavky zablokovány. Jde tedy o limit využití, nikoli o striktní strop výdajů u poskytovatele. Pokud se dotaz na kvótu nezdaří, požadavek je povolen a chyba se zaznamená do logu.

Obě funkce používají `AI_TOKEN_QUOTA`; návrhy oprav chyb nemají samostatný limit počtu požadavků. Reset počítadla nemění oprávnění, souhlas, nakonfigurovaný limit ani vlastní záznamy o účtování u poskytovatele. Počítadla používají klíče období v UTC a vyprší po 40 dnech; zachování dat v Redisu uchová aktuální využití i po restartu aplikace.

### Volitelné vyhledávací služby

Vyhledávání na webu používá API kompatibilní s Tavily. Je k dispozici, pokud je nakonfigurován API klíč pro vyhledávání. Tato nastavení jsou nezávislá na AI bráně:

| Proměnná | Výchozí | Účel |
| - | - | - |
| `TAVILY_API_KEY` | Nenastaveno | API klíč pro vyhledávání. Má přednost před `WEB_SEARCH_API_KEY`. |
| `WEB_SEARCH_API_KEY` | Nenastaveno | Alternativní název API klíče pro vyhledávání. |
| `WEB_SEARCH_URL` | `https://api.tavily.com/search` | Endpoint vyhledávání; vlastní endpointy musí přijímat formát požadavků a odpovědí Tavily. |
| `WEB_SEARCH_MAX_RESULTS` | `5` | Počet požadovaných výsledků na jedno vyhledávání; použijte kladné celé číslo podporované službou. |
| `WEB_SEARCH_DEPTH` | `basic` | Hloubka vyhledávání, obvykle `basic` nebo `advanced`. |
| `WEB_SEARCH_PROVIDER` | `tavily` | Současná implementace podporuje pouze protokol kompatibilní s Tavily; změna této hodnoty nevybere jiný adaptér. |
| `DOCS_MCP_URL` | `https://docs.overleaf.com/~gitbook/mcp` | Endpoint pro vyhledávání v dokumentaci. Nastavením na prázdný řetězec vyhledávání v dokumentaci zakážete. |

Například:

```dotenv theme={null}
TAVILY_API_KEY=REPLACE_WITH_YOUR_SEARCH_API_KEY
WEB_SEARCH_MAX_RESULTS=5
WEB_SEARCH_DEPTH=basic
DOCS_MCP_URL=https://docs.overleaf.com/~gitbook/mcp
```

Vyhledávání v dokumentaci volá nástroj `searchDocumentation` nakonfigurovaného endpointu GitBook MCP a přijímá odpovědi ve formátu JSON nebo SSE. Jde o MCP klienta pro vyhledávání v dokumentaci; tyto moduly nezpřístupňují soubory projektu jako MCP server ani neposkytují obecný registr MCP serverů.

Vyhledávací dotazy se odesílají do nakonfigurované vyhledávací služby. Výsledky vyhledávání pak mohou být zahrnuty do požadavků na AI bránu. Nabídka **Tools** v chatu umožňuje uživatelům pro své požadavky povolit nebo zakázat **Web** a **Documentation**; aby byl nástroj modelu k dispozici, musí být také nakonfigurován na serveru.


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