Skip to main content
Den här funktionen tillhandahålls av ayaka-notes/ayakaleaf-pro och finns tillgänglig från och med v6.3.0. Vi välkomnar din återkoppling om du stöter på problem.

AI-assistent och assistent för LaTeX-fel

Ayakaleaf Pro för in AI-funktioner i redigeraren på två sätt.
  • AI-assistenten kan använda dina projektdokument och den aktuella markeringen som kontext för att besvara frågor och föreslå ändringar som du kan granska.
  • Felassistenten föreslår en riktad korrigering när du väljer ett LaTeX-kompileringsfel.

Toolkit-konfiguration

Lägg till följande i config/variables.env i din Toolkit-driftsättning och ersätt exempel-URL:en, nyckeln och modellen med värden från din leverantör:
Förvara riktiga API-nycklar i din driftsättnings miljöfil och håll dem utanför versionshanteringen. Värdena ovan är platshållare, inte fungerande inloggningsuppgifter.
Kvaliteten på AI-förslagen beror på vilken modell du väljer. Om du redan har en Codex- eller ChatGPT-prenumeration kan du ansluta den via den OpenAI-kompatibla slutpunkten i CLIProxyAPI.
AI_BASE_URL är bas-URL:en för det OpenAI-kompatibla API:et, inklusive leverantörens versionsprefix där det krävs. Lägg inte till /chat/completions, eftersom vi lägger till det internt. Gatewayen och modellen måste stödja strömmande chat completions och funktionsverktyg. Båda funktionerna skickar dokumentkontext till denna gateway; chatten kan även skicka uppladdade bilder och PDF-filer när en modell som tar emot dem används. Toolkit vidarebefordrar config/variables.env till applikationscontainern. Behåll variabelnamnen som visas här; lägg inte till något OVERLEAF_-prefix. Återskapa applikationscontainern från Toolkit-katalogen när du har ändrat dessa variabler:

Gateway-inställningar

För bilduppladdningar anger du AI_IMAGE_MODEL till en modell som tar emot bildindata och stöder de verktyg som chatten använder. Varje chattförfrågan vars historik innehåller en bifogad bild använder den här modellen, inklusive senare meddelanden i samma konversation. Utan den här inställningen använder bildförfrågningar den vanliga chattmodellen, som då själv måste stödja bilder. Förslagen för LaTeX-fel fortsätter att använda AI_MODEL. PDF-bilagor introduceras i v6.4.0 och senare. Användare kan bifoga PDF-filer på upp till 2 MB, precis som bilder. Chatten skickar varje PDF-fil som den är, som en Chat Completions-del av typen file, så gatewayen och modellen måste ta emot PDF-indata: OpenAI:s visionsmodeller gör det, medan många egenhostade gatewayer, som vLLM, tar emot bilder men avvisar PDF-filer. Ange AI_PDF_MODEL till en modell som kan läsa PDF-filer; varje chatt vars historik innehåller en PDF-fil använder den, inklusive senare meddelanden och eventuella bilder i den konversationen, så den bör även ta emot bilder. Utan den här inställningen använder PDF-chattar AI_MODEL. När modellen avvisar en PDF-fil uppmanar chatten användaren att be administratören att ange AI_PDF_MODEL. Så här aktiverar du till exempel en bildmodell och en veckovis AI-tilldelning:

Användaråtkomst och samtycke

Tillgänglighet på instansnivå och användarbehörighet är separata. AI_ENABLED och gateway-konfigurationen styr instansens tillgänglighet. En inloggad användare måste också klara den befintliga kontokontrollen: aiFeatures.enabled får inte vara false. Detta befintliga databasfält styr både chatt och förslag för LaTeX-fel. När fältet inte är satt är AI-funktionerna aktiverade för användaren. AI_TOKEN_QUOTA är en gräns som tillämpas lika för varje behörig användare; den nuvarande modulen erbjuder ingen individuell numerisk gräns per konto. I administratörens användarlista väljer du en användare och öppnar Update account info → AI features. Enable AI features uppdaterar aiFeatures.enabled när kontoändringarna sparas. Servern kontrollerar aktuella behörigheter vid nya AI-förfrågningar, inklusive förfrågningar från en redan öppen redigerare. En användare utan behörighet ser fortfarande AI-assistenten i redigeraren, men kan inte skicka meddelanden.

Användning och nollställning

Administratörsfliken AI features visar den aktuella periodens Usage, Limit och knappen Reset på en rad. Användningen läses in när fliken öppnas; den uppdateras inte kontinuerligt. Öppna fliken igen när en chatt eller ett felförslag har slutförts för att se det senaste värdet. Nollställningen träder i kraft omedelbart och rensar endast den användarens räknare för den aktuella perioden, varefter den visade användningen läses in på nytt. Du behöver inte spara resten av kontoformuläret.
Användningen av chatt och felförslag delar en Redis-räknare, som uppdateras utifrån det totala antal tokens som modellleverantören rapporterar när en förfrågan har slutförts. Detta omfattar in- och utdatatokens över alla modellsteg. Indata kan omfatta konversationshistorik, dokumentkontext och verktygsresultat, så en uppföljningsfråga kan förbruka fler tokens än bara det nya meddelandet. Användningen registreras även när gränsen är Unlimited. Förfrågningar utan rapporterat tokenantal läggs inte till i räknaren; historisk oregistrerad användning kan inte rekonstrueras av modulen. Kvotkontroller görs innan strömningen börjar. En förfrågan, eller flera samtidiga förfrågningar, kan överskrida den återstående tilldelningen innan senare förfrågningar blockeras. Detta är en användningstilldelning snarare än ett strikt utgiftstak hos leverantören. Om kvotuppslaget misslyckas tillåts förfrågan och felet loggas. Båda funktionerna använder AI_TOKEN_QUOTA; felförslag har ingen separat gräns för antal förfrågningar. Att nollställa räknaren ändrar inte behörighet, samtycke, den konfigurerade gränsen eller leverantörens egna faktureringsuppgifter. Räknarna använder periodnycklar i UTC och upphör efter 40 dagar; om Redis-data behålls bevaras aktuell användning när applikationen startas om.

Valfria söktjänster

Webbsökning använder ett Tavily-kompatibelt API. Den är tillgänglig när en API-nyckel för sökning har konfigurerats. Dessa inställningar är oberoende av AI-gatewayen: Till exempel:
Dokumentationssökningen anropar verktyget searchDocumentation på den konfigurerade GitBook MCP-slutpunkten och accepterar JSON- eller SSE-svar. Detta är en MCP-klient för dokumentationssökning. Om du vill låta AI-klienter utanför Ayakaleaf arbeta med ett projekt, se MCP-server. Läsning av webbsidor introduceras i v6.4.0 och senare. Chatten kan läsa en sida utifrån dess URL, till exempel en länk som användaren anger eller ett sökresultat. Den hämtar sidan via linked URL-proxyn, samma tjänst som hämtar filer från externa URL:er, så nätverksbegränsningarna som beskrivs i External URL gäller även för den. Ingen ytterligare inställning behövs. Sökfrågor skickas till den konfigurerade söktjänsten. Sökresultaten kan sedan inkluderas i förfrågningar till AI-gatewayen. Chattens meny Tools låter användarna aktivera eller inaktivera Web och Documentation för sina förfrågningar; ett verktyg måste också vara konfigurerat på servern för att vara tillgängligt för modellen.

Frågor och svar

Svar: AI-assistenten visas i redigerarens vänstra list endast när AI_ENABLED=true och AI_BASE_URL, AI_API_KEY och AI_MODEL alla är satta. Om någon av dem saknas döljs AI-assistenten för alla användare.När du har ändrat config/variables.env återskapar du containern med bin/up -d. Att bara uppdatera webbläsaren tillämpar inte nya variabler. Reglaget Enable AI features i adminpanelen visar eller döljer inte AI-assistenten; det avgör bara om användaren kan skicka meddelanden.
Svar: Kontrollera först att användaren har godkänt samtyckeskortet för AI som visas i AI-assistenten. Meddelanden kan inte skickas innan dess.Leta sedan efter fel i webbtjänstens logg:
Om din leverantörs instrumentpanel inte visar någon användning nådde förfrågan aldrig leverantören. Vanliga orsaker är:
  • AI_BASE_URL är fel, till exempel ett saknat eller extra /v1, eller /chat/completions tillagt i slutet.
  • Servern kan inte nå gatewayen. Om utgående trafik måste gå via en proxy anger du AI_PROXY_URL.
  • AI_MODEL är inte ett modell-ID som gatewayen känner till.
Om leverantören visar förfrågningar men chatten ändå misslyckas kontrollerar du att modellen stöder strömmande chat completions och funktionsverktyg.
Svar: Nej. En chatt sparas bara i den öppna webbläsarfliken. Om du uppdaterar eller stänger sidan rensas den, och Start new chat ersätter den aktuella chatten. Det finns ingen lista över tidigare chattar, och varje projekt visar en chatt åt gången.
Senast ändrad 2 november 2026