AnythingLLM-il on REST API, millega saad automatiseerida kõike – artiklite üleslaadimist, küsimuste esitamist, tööruumide haldamist. API võtit on sul tegelikult kaks võimalust kasutada, aga kõige puhtam on luua eraldi API key. --- ## 1. API võtme hankimine - Ava oma AnythingLLM liides (`http://100.87.1.24:3002`). - Mine **Settings** (hammasratta ikoon) → **API Keys**. - Vajuta **Generate New API Key**. - Kopeeri tekkinud pikk string (näit. `sk-1234abcd...`). See ongi sinu API key. Kui sa API võtit ei loo, võid päringutes kasutada ka oma `AUTH_TOKEN`-i (`dwNs55RkiwSEC3TxQG0P`), aga API key on turvalisem ja lubab piirata õigusi. --- ## 2. Autentimine Kõigis API päringutes lisa päis: ``` Authorization: Bearer AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q Content-Type: application/json ``` Kui kasutad `AUTH_TOKEN`-i, siis päis on sama, aga võtme asemel on token. --- ## 3. Kõige olulisemad endpoint'id Allpool on toodud põhilised käsud sinu seadistuse põhjal (pordiks on `3002`, kui kasutad compose-failis määratud porti). ### a) Tööruumide nimekiri ja info ```bash # Kõik tööruumid curl -H "Authorization: Bearer AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q" \ http://100.87.1.24:3002/api/v1/workspaces # Konkreetse tööruumi detailid (asenda liiklussagedus nimega, nt "liiklussagedus") curl -H "Authorization: Bearer AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q" \ http://100.87.1.24:3002/api/v1/workspace/liiklussagedus ``` ### b) Dokumendi lisamine (URL või fail) Tööruumi slug'i leiad eelmisest vastusest. ```bash # Lisa veebileht või PDF URL curl -X POST \ -H "Authorization: Bearer AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q" \ -H "Content-Type: application/json" \ -d '{"url":"https://arxiv.org/pdf/xxxx.xxxxx.pdf"}' \ http://100.87.1.24:3002/api/v1/workspace/liiklussagedus/document/upload-url # Lisa kohalik fail (Markdown või PDF) curl -X POST \ -H "Authorization: Bearer AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q" \ -F "file=@/path/to/artikkel.md" \ http://100.87.1.24:3002/api/v1/workspace/liiklussagedus/document/upload ``` ### c) Küsimuse esitamine (RAG-päring) ```bash curl -X POST \ -H "Authorization: Bearer AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q" \ -H "Content-Type: application/json" \ -d '{"message":"Kokkuvõte liiklussageduse mõõtmismeetoditest", "mode":"chat"}' \ http://100.87.1.24:3002/api/v1/workspace/liiklussagedus/chat ``` Vastuses on `textResponse` ja `sources` (viited allikatele). ### d) Küsimus ilma tööruumita (ainult LLM, ilma RAG-ita) ```bash curl -X POST \ -H "Authorization: Bearer AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q" \ -H "Content-Type: application/json" \ -d '{"message":"What is traffic frequency?", "mode":"chat"}' \ http://100.87.1.24:3002/api/v1/chat ``` --- ## 4. Kiirtest oma seadistusega Kuna sul on juba `AUTH_TOKEN`, proovi kohe (asenda `WORKSPACE_SLUG` oma tööruumi nimega): ```bash curl -X GET \ -H "Authorization: Bearer dwNs55RkiwSEC3TxQG0P" \ http://100.87.1.24:3002/api/v1/workspaces ``` Kui see tagastab JSON-i tööruumide nimekirjaga, on API töökorras. --- ## 5. Automatiseerimine Pythoniga Teadustöö jaoks on mugav kirjutada väike Pythoni skript, mis loeb kataloogist kõik `.md` failid ja saadab need API kaudu tööruumi. Saan sulle sellise skripti kavandi anda, kui oled API võtme valmis saanud. Kas loome API võtme ja teeme esimese testpäringu? ### Seotud mõisted [[Qdrant]]