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

# Tekoälyintegraatio

> Määritä tekoälychat, LaTeX-virheehdotukset, käyttäjien käyttöoikeudet, kiintiöt ja valinnaiset hakupalvelut.

> [!NOTE]
>
> Tämän ominaisuuden tarjoaa [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro), ja se on saatavilla versiosta v6.3.0 alkaen. Otamme mielellämme vastaan palautetta, jos kohtaat ongelmia.

## Tekoälyavustaja ja LaTeX-virheavustaja

Ayakaleaf Pro tuo tekoälyominaisuudet editoriin kahdella tavalla.

* Tekoälyavustaja voi käyttää projektisi dokumentteja ja nykyistä valintaa kontekstina vastatessaan kysymyksiin ja ehdottaessaan muokkauksia, jotka voit tarkistaa.
* Virheavustaja ehdottaa kohdennettua korjausta, kun valitset LaTeX-käännösvirheen.

![](https://mintcdn.com/ayakaleaf-pro/UZ_4Jfz7cU6MnXtE/images/on-premises/image-49.png?fit=max\&auto=format\&n=UZ_4Jfz7cU6MnXtE\&q=85\&s=609d6a28104dfb16264790c00123eeb4)

### Toolkit-määritys

Lisää seuraavat rivit Toolkit-käyttöönottosi `config/variables.env`-tiedostoon ja korvaa esimerkin URL, avain ja malli palveluntarjoajasi arvoilla:

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

Säilytä oikeat API-avaimet käyttöönoton ympäristötiedostossa äläkä vie niitä versionhallintaan. Yllä olevat arvot ovat paikkamerkkejä, eivät toimivia tunnuksia.

> [!NOTE]
>
> Tekoälyehdotusten laatu riippuu valitsemastasi mallista. Jos sinulla on jo Codex- tai ChatGPT-tilaus, voit yhdistää sen [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI):n OpenAI-yhteensopivan päätepisteen kautta.

`AI_BASE_URL` on OpenAI-yhteensopivan API:n perus-URL, joka sisältää tarvittaessa palveluntarjoajan versioetuliitteen. Älä lisää loppuun `/chat/completions`, koska lisäämme sen sisäisesti. Yhdyskäytävän ja mallin on tuettava suoratoistettavia chat completion -vastauksia ja funktiotyökaluja. Molemmat ominaisuudet lähettävät dokumenttikontekstia tälle yhdyskäytävälle; chat voi lähettää myös ladattuja kuvia ja PDF-tiedostoja, kun käytetään mallia, joka hyväksyy ne.

Toolkit välittää `config/variables.env`-tiedoston sovelluskonttiin. Käytä tässä esitettyjä muuttujien nimiä; älä lisää `OVERLEAF_`-etuliitettä. Luo sovelluskontti uudelleen Toolkit-hakemistosta näiden muuttujien muuttamisen jälkeen:

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

### Yhdyskäytävän asetukset

| Muuttuja | Oletus | Tarkoitus |
| - | - | - |
| `AI_ENABLED` | `false` | Aseta täsmälleen arvoon `true` ottaaksesi chatin ja virheehdotukset käyttöön instanssissa. Jos arvoa ei ole asetettu tai se on jokin muu, ne pysyvät pois käytöstä. Lisäksi tarvitaan toimiva yhdyskäytävämääritys. |
| `AI_BASE_URL` | Ei mitään; pakollinen | OpenAI-yhteensopivan API:n perus-URL. |
| `AI_API_KEY` | Ei mitään; pakollinen | Kyseisen yhdyskäytävän API-avain, jota palvelin käyttää. |
| `AI_MODEL` | Ei mitään; pakollinen | Tekstimalli, jota oletusarvoinen chat-määritys ja LaTeX-virheehdotukset käyttävät. |
| `AI_IMAGE_MODEL` | Ei asetettu | Valinnainen kuvia tukeva malli samassa yhdyskäytävässä samalla API-avaimella. |
| `AI_PDF_MODEL` | Ei asetettu | Valinnainen malli samassa yhdyskäytävässä PDF-tiedostoja sisältäviin chatteihin samalla API-avaimella. Versiosta v6.4.0 alkaen. |
| `AI_MAX_STEPS` | `20` | Työkalukutsujen enimmäismäärä käyttäjän viestiä kohden tekoälychatissa, automaattiset jatkot mukaan lukien. Käytä positiivista kokonaislukua. |
| `AI_PROXY_URL` | Ei asetettu | Valinnainen HTTP-välityspalvelimen URL tekoälyyhdyskäytävän kutsuille. Se ei määritä verkko- tai dokumentaatiohaun asiakkaita. |
| `AI_TOKEN_QUOTA` | `0` | Käyttäjäkohtainen token-raja jaksoa kohden, yhteinen chatille ja virheehdotuksille. Asettamaton tai `0` tarkoittaa rajatonta; käytä rajalle positiivista kokonaislukua. |
| `AI_TOKEN_QUOTA_PERIOD` | `month` | `month` nollautuu kuukauden ensimmäisenä päivänä klo 00:00 UTC; `week` nollautuu maanantaina klo 00:00 UTC. Muut arvot käyttävät `month`-asetusta. |

Kuvien lataamista varten aseta `AI_IMAGE_MODEL` malliin, joka hyväksyy kuvasyötteen ja tukee chatin käyttämiä työkaluja. Jokainen chat-pyyntö, jonka historiassa on kuvaliite, käyttää tätä mallia, myös saman keskustelun myöhemmät viestit. Ilman tätä asetusta kuvapyynnöt käyttävät tavallista chat-mallia, jonka on itse tuettava kuvia. LaTeX-virheehdotukset käyttävät edelleen `AI_MODEL`-mallia.

PDF-liitteet ovat käytettävissä versiosta v6.4.0 alkaen. Käyttäjät voivat liittää enintään 2 Mt:n kokoisia PDF-tiedostoja kuvien tapaan. Chat lähettää jokaisen PDF-tiedoston sellaisenaan Chat Completions -rajapinnan `file`-osana, joten yhdyskäytävän ja mallin on hyväksyttävä PDF-syöte: OpenAI:n vision-mallit hyväksyvät sen, kun taas monet itse isännöidyt yhdyskäytävät, kuten vLLM, hyväksyvät kuvia mutta hylkäävät PDF-tiedostot. Aseta `AI_PDF_MODEL` malliin, joka lukee PDF-tiedostoja; jokainen chat, jonka historiassa on PDF-tiedosto, käyttää sitä, myös saman keskustelun myöhemmät viestit ja kuvat, joten sen kannattaa hyväksyä myös kuvia. Ilman tätä asetusta PDF-chatit käyttävät `AI_MODEL`-mallia. Kun malli hylkää PDF-tiedoston, chat kehottaa käyttäjää pyytämään ylläpitäjää asettamaan `AI_PDF_MODEL`-muuttujan.

Esimerkiksi kuvamallin ja viikoittaisen tekoälykiintiön käyttöönotto:

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

### Käyttäjien käyttöoikeudet ja suostumus

Instanssin saatavuus ja käyttäjän käyttöoikeus ovat erillisiä asioita. `AI_ENABLED` ja yhdyskäytävämääritys ohjaavat instanssin saatavuutta. Kirjautuneen käyttäjän on lisäksi läpäistävä olemassa oleva tilitarkistus: `aiFeatures.enabled` ei saa olla `false`. Tämä olemassa oleva tietokantakenttä ohjaa sekä chattia että LaTeX-virheehdotuksia. Kun kenttää ei ole asetettu, tekoälyominaisuudet ovat käyttäjällä käytössä.

`AI_TOKEN_QUOTA` on raja, jota sovelletaan tasapuolisesti jokaiseen oikeutettuun käyttäjään; nykyinen moduuli ei tarjoa tilikohtaista numeerista rajaa.

Valitse ylläpidon käyttäjäluettelosta käyttäjä ja avaa **Update account info → AI features**. **Enable AI features** päivittää `aiFeatures.enabled`-kentän, kun tilimuutokset tallennetaan. Palvelin tarkistaa nykyiset oikeudet uusien tekoälypyyntöjen yhteydessä, myös jo avoinna olevasta editorista tulevissa pyynnöissä. Käyttäjä, jolla ei ole oikeutta, näkee edelleen tekoälyavustajan editorissa, mutta ei voi lähettää viestejä.

### Käyttö ja nollaus

Ylläpidon AI features -välilehti näyttää nykyisen jakson **Usage**-, **Limit**- ja **Reset**-painikkeen yhdellä rivillä. Käyttö luetaan, kun välilehti avataan; sitä ei päivitetä jatkuvasti. Avaa välilehti uudelleen chatin tai virheehdotuksen valmistuttua nähdäksesi viimeisimmän määrän. Nollaus tulee voimaan välittömästi ja tyhjentää vain kyseisen käyttäjän nykyisen jakson laskurin, minkä jälkeen näytetty käyttö ladataan uudelleen. Se ei edellytä muun tililomakkeen tallentamista.

![](https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/img-2f5a5399.png?fit=max\&auto=format\&n=x9kfDjtWlyyhG_mR\&q=85\&s=3c52c12aa1551cda22f218ec2dfda63b)

Chat ja virheehdotukset jakavat yhden Redis-laskurin, joka päivitetään mallin tarjoajan ilmoittamalla tokenien kokonaismäärällä pyynnön valmistuttua. Tähän sisältyvät syöte- ja tulostetokenit kaikista mallin vaiheista. Syöte voi sisältää keskusteluhistorian, dokumenttikontekstin ja työkalujen tulokset, joten jatkokysymys voi kuluttaa enemmän tokeneita kuin pelkkä uusi viesti. Käyttö kirjataan, vaikka raja olisi **Unlimited**. Pyynnöt, joille ei ilmoiteta tokenien kokonaismäärää, eivät kasvata laskuria; moduuli ei pysty jälkikäteen rekonstruoimaan kirjaamatonta historiallista käyttöä.

Kiintiötarkistukset tehdään ennen suoratoistoa. Yksi pyyntö tai useampi samanaikainen pyyntö voi ylittää jäljellä olevan kiintiön ennen kuin myöhemmät pyynnöt estetään. Kyseessä on käyttökiintiö eikä palveluntarjoajan tiukka kulukatto. Jos kiintiön haku epäonnistuu, pyyntö sallitaan ja virhe kirjataan lokiin.

Molemmat ominaisuudet käyttävät `AI_TOKEN_QUOTA`-arvoa; virheehdotuksilla ei ole erillistä pyyntömäärärajaa. Laskurin nollaaminen ei muuta käyttöoikeutta, suostumusta, määritettyä rajaa tai palveluntarjoajan omia laskutustietoja. Laskurit käyttävät UTC-jaksoavaimia ja vanhenevat 40 päivän kuluttua; Redis-datan säilyttäminen säilyttää nykyisen käytön sovelluksen uudelleenkäynnistysten yli.

### Valinnaiset hakupalvelut

Verkkohaku käyttää Tavily-yhteensopivaa API:a. Se on käytettävissä, kun haun API-avain on määritetty. Nämä asetukset ovat riippumattomia tekoälyyhdyskäytävästä:

| Muuttuja | Oletus | Tarkoitus |
| - | - | - |
| `TAVILY_API_KEY` | Ei asetettu | Haun API-avain. Menee `WEB_SEARCH_API_KEY`-arvon edelle. |
| `WEB_SEARCH_API_KEY` | Ei asetettu | Vaihtoehtoinen nimi haun API-avaimelle. |
| `WEB_SEARCH_URL` | `https://api.tavily.com/search` | Haun päätepiste; mukautettujen päätepisteiden on hyväksyttävä Tavilyn pyyntö- ja vastausmuoto. |
| `WEB_SEARCH_MAX_RESULTS` | `5` | Hakua kohden pyydettyjen tulosten määrä; käytä palvelun tukemaa positiivista kokonaislukua. |
| `WEB_SEARCH_DEPTH` | `basic` | Haun syvyys, tavallisesti `basic` tai `advanced`. |
| `WEB_SEARCH_PROVIDER` | `tavily` | Nykyinen toteutus tukee vain Tavily-yhteensopivaa protokollaa; tämän arvon muuttaminen ei valitse toista sovitinta. |
| `DOCS_MCP_URL` | `https://docs.overleaf.com/~gitbook/mcp` | Dokumentaatiohaun päätepiste. Aseta tyhjäksi merkkijonoksi poistaaksesi dokumentaatiohaun käytöstä. |

Esimerkiksi:

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

Dokumentaatiohaku kutsuu määritetyn GitBook MCP -päätepisteen `searchDocumentation`-työkalua ja hyväksyy JSON- tai SSE-vastaukset. Kyseessä on MCP-asiakas dokumentaatiohakua varten. Jos haluat antaa Ayakaleafin ulkopuolisten AI-asiakkaiden työskennellä projektin parissa, katso [MCP-palvelin](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/overleaf-toolkit/integrations/mcp-server.md).

Verkkosivujen lukeminen on käytettävissä versiosta v6.4.0 alkaen. Chat voi lukea sivun sen URL-osoitteen perusteella, esimerkiksi käyttäjän antaman linkin tai hakutuloksen. Se hakee sivun linkitettyjen URL-osoitteiden välityspalvelun kautta, eli saman palvelun, joka hakee tiedostoja ulkoisista URL-osoitteista, joten [External URL](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/overleaf-toolkit/external-url.md) -sivulla kuvatut verkkorajoitukset koskevat myös sitä. Muita asetuksia ei tarvita.

Hakukyselyt lähetetään määritettyyn hakupalveluun. Hakutuloksia voidaan sitten sisällyttää tekoälyyhdyskäytävälle lähetettäviin pyyntöihin. Chatin **Tools**-valikosta käyttäjät voivat ottaa **Web**- ja **Documentation**-työkalut käyttöön tai poistaa ne käytöstä pyynnöissään; työkalu on myös määritettävä palvelimella, jotta se on mallin käytettävissä.

### Q\&A

> [accordion] Tekoälyavustaja ei näy editorissa
>
> **Vastaus:** Tekoälyavustaja näkyy editorin vasemmassa palkissa vain, kun `AI_ENABLED=true` ja `AI_BASE_URL`, `AI_API_KEY` sekä `AI_MODEL` on kaikki asetettu. Jos jokin niistä puuttuu, tekoälyavustaja on piilotettu kaikilta käyttäjiltä.
>
> Kun olet muuttanut `config/variables.env`-tiedostoa, luo kontti uudelleen komennolla `bin/up -d`. Pelkkä selaimen päivittäminen ei ota uusia muuttujia käyttöön. Ylläpitopaneelin **Enable AI features** -kytkin ei näytä eikä piilota tekoälyavustajaa; se ratkaisee vain, voiko käyttäjä lähettää viestejä.

> [accordion] Lähetän viestin, mutta tekoälyavustaja ei vastaa
>
> **Vastaus:** Tarkista ensin, että käyttäjä on hyväksynyt tekoälyavustajassa näytettävän tekoälysuostumuskortin. Viestejä ei voi lähettää ennen sitä.
>
> Etsi sitten virheitä web-palvelun lokista:
>
> ```sh theme={null}
> bin/logs web
> ```
>
> | Lokiviesti | Merkitys |
> | - | - |
> | `workbench AI chat requested but no AI gateway is configured` | Jokin muuttujista `AI_ENABLED`, `AI_BASE_URL`, `AI_API_KEY` tai `AI_MODEL` puuttuu käynnissä olevasta kontista. Luo se uudelleen komennolla `bin/up -d`. |
> | `workbench chat stream error` | Yhdyskäytävä palautti virheen. Käyttäjä näkee viestin "The AI service returned an error". Lokiin kirjattu virhe näyttää yhdyskäytävän tilakoodin ja viestin. |
> | `workbench chat failed` | Pyyntö epäonnistui ennen suoratoistoa tai sen aikana, esimerkiksi koska yhdyskäytävään ei saada yhteyttä. |
>
> Jos palveluntarjoajasi hallintapaneeli ei näytä käyttöä, pyyntö ei saavuttanut palveluntarjoajaa. Yleisiä syitä ovat:
>
> * `AI_BASE_URL` on väärin, esimerkiksi `/v1` puuttuu tai on ylimääräinen, tai sen perään on lisätty `/chat/completions`.
> * Palvelin ei tavoita yhdyskäytävää. Jos lähtevän liikenteen on kuljettava välityspalvelimen kautta, aseta `AI_PROXY_URL`.
> * `AI_MODEL` ei ole yhdyskäytävän tuntema mallitunniste.
>
> Jos palveluntarjoaja näyttää pyyntöjä mutta chat epäonnistuu silti, tarkista, että malli tukee suoratoistettavia chat completion -vastauksia ja funktiotyökaluja.

> [accordion] Säilytetäänkö chat-historia?
>
> **Vastaus:** Ei. Chat säilyy vain avoimessa selainvälilehdessä. Sivun päivittäminen tai sulkeminen tyhjentää sen, ja **Start new chat** korvaa nykyisen chatin. Aiempien chattien luetteloa ei ole, ja kukin projekti näyttää yhden chatin kerrallaan.


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