interactions: - request: headers: accept: - application/json accept-encoding: - gzip, deflate, zstd connection: - keep-alive content-length: - '96' content-type: - application/json host: - localhost:11434 method: POST parsed_body: encoding_format: base64 input: - First document about cats. model: qwen3-embedding:4b uri: http://localhost:11434/v1/embeddings response: headers: content-type: - application/json transfer-encoding: - chunked parsed_body: data: - embedding: BYGPuOToyTwjsR88ysBavEqD7LnBNg89rfklPYYaBrzRH/A8gJGvu5qEB73XseI8iZ88O9AlN73C2UA9gnszvcqr3Dme+jS9+/YrvIn1S7uunoi8bKWwu1rbiDzZZkg8hpm7PKssVruUTtu8Wp1PvUs4Mj1lqQG8thw0vMKXlb3/NRs9qQocvF7UkTtNk4C8UjLYvL6vlrvKCno789gkPMRCWLwo1+q7XV66PJ4wzDvortu8D7HuvBlkiTsSbA09ymI5vWmVq7zWpFM7Cc6EPA/UlrtqIzO8/ColPGC2C71BYIs8SWAIOhWuFb3CKFE8uj2cu48gPrthNdO8OuZJu85/Drzu4ni8DvqGvKBYF70arls8M0gkvAC6abxjdTk9ekDYu684XrxoaoS7SUQXvVHZqDtjxPU8A8oGvbJanTzL4Rc90TbdO3ryuDtvQoQ93N+qPKgh1jzIP407L26fPBLdDbwsCuu7LpABPA93ajyscSm8evUkPBewBLxdJCA7lrbvvM4ryLxj4aC7dpp4PI4GXbuXFZU6M2HgPP0XELxpKOC7MOKKvKt3ELyrwbC7O4NRu8p8WruFyyi8rtCaO0tHJrzz1wm7HZx7vOK7k7zn/dO6isijOzwuazwQlcM8WT12uz+bmzx2pT28G9XxO28fbDz5fw+9VAfzu939PrzWSbe7hrykPEmtJD3+2Zu8ee9zPLXE+ruJ6za8rmZBOxEsUDx+lri7TcStvGgzYjskLyq6ou8zvCnaiDubZPg8BmG1vKlzurwVZ468McKZN97Pejzb/ZO7oZeRPAiVjrxApR47DO0FPGAsgTxkR/s7etU8vBP3Tjs1Nxs81y8wPEE8YDw1YVU82jU7PFRhEDwiGOs8eI2DPPWcLb1690i8haWGOlmxeryEeB68BZM6u3WAMbyVyEe8q3WVvMg1YrkLMii9YGHxurA20jtKcGo8JTg/u4mWzjyKNr+8KM/UOzZACbj90Zk7FE9fvMUIITzDCiU8I0zgO/Ys5ry045Q8DRUguiKVirwmPzq8YXlXvGmVIL3EoiA786JiuemeBT1ViRa8r+uAObAzx7xxvsG7nTasOsx6GTqHqr45nKqbvGW3kTzMlfe6Q9H4PIiaB7x+eJu8pZ4QPOIW5zu5nBQ7rbKbvOpddbzAl608lZanPLJMSLtPj+K7Gh2cvKhHnrpy9ga95vA1PPBflTxtqUA756oRvFHCkLzpkQc8u4vTO5WY8rskwz+8+a4QvJoz6zvFlX88Ps3EO8QMoDxMyKW8ZG84vGY+iryHexa8snGaPIcPLjz8NAm8tkDZu8TIkbubQRq76nsAvUySfLxISgE8KUQkuz8Pk7yOLCa8EgD/O88tb7ypOTi9RY0Qu0OR/Tw03bg7hjmduaXVBrznF7+7N1PROfGKKzyawwW8DZhuvIAI0jza46y85ekJPdFrQTsAq3I8QAENPC3Wszw+PSi8Uzxhu881cDtJxI46I4QYPS/6wbwtC4u7fKBau5DwdDrpvQG8IxySu7LDzruJQto7Jji8vAwgw7kptZs87U2DvGLknzzOGNS8qjZmvLYdFDtqzkY8B15MvLUZFrthtWy8pHIYvKj2mzsOT6g7SdECPNFkBj1C7eQ78RGIOnkHwDyO0zY9VetMvHXWbbyUqNM7KNTfOz8mSrsZNXa6ZibEvEBihDzHqT07CaylO3H1GL2mGuE62uFkvRfJwby6hJ+62Z0nu/DhKDxowk08H7d0PJqovDzexqc8NWWgvL001zynmr+8gaq/u6AiATxmtLA7HBf2u/Sj+Tx+CiU9hzkJPBCngbw677g6QBwiPEd7hbxJJwS93fkAvN2YizvxN1g81bx9vI1SfL1fm3K8NTvfvNR1l7xd4Jq6L8jnPMOBtzy59RG8qZS5O5+QSzwaRxO8WF6pvIL4crr8t5A8CzzQPLwQxzxtgxK8n9OrOtWoCD0dgrC7D3msuw8lvLzCcPw6xDj2PM8DnbxW9Ly7647fvIIdvDvXgOW8nxv1vLWeOLzZvD47u7iaO7Zfq7x0xP88yIqyOxVtljvgcfs6YMXeux6IPby0tAM7Pmy+O1R3wDwQ3FE7ILaWO1m2E702QC28WKoGPIuxGz0C8PE84OQcusEkgbw0bLO8KI4VvS68I7uHQAO7GMeivDZ/Y7wHiV89Iy6nPMWdsDtY0QE7dGPQulcTgDxf7oi80IHRvIP/uDz9PKg8y10pvRhaE73fTjE83OKEuxMWVzxgk9C7mAzwu66zy7rY+Fy55eW7vGeuqjwFIcK8ZkXSO85FFLwrKro82owCPZgKFD33zF07ZpyEO/OZuLzAlTS8m3bDO7r+/rxm+7Y7RRvqvEowJzzO3wc8N249vPYNozyI9B482qkmPDtwLzwcroS9VeMCvQ5orjudXum7fuj9O719nLzGop47rrIZPKZmFr2jbCa91lDJvL45rr3R6xm8ewG2ufePqLy9ZcI7EMLzvLAX5bzQzOA7DZcqPeF4Pj1n+CC9ORDBuy3MNL29y3I8zUkovJuQJTy5S5c8u73EO61TxrvKmfI8jLMWPUv8p7s3geM8B381O10i6ryuW2o8c/9oPNehlDzGdZk8fJOivEsfPT3GOiK80xumu3ktyTvRZaG7eWWkOyJHATzfYcm7O6cnPJfbMzxzkmq8ejfvPBz2hzz/86e8wMQtvcykzTzHzxI8Cg9qPNDfT7vbufs83qCzPCByELzJeni7i4gXvYiOVLpHyD883hybvD8IfrzbV468tnYAOzr63rufe8S56rT0PO1ys7wx5Zi80JIpPH/nkjxsdUO8App2vAeNYbxzTm28XEtbPNtUBrs+BFw8Kf9nvQH4hLxKIyU6v9+LPG7+6Dwdheg3SN9Iu9tKsbyclLs8xOPiu/Bnzzu8SR87XT1FvFbvNjzRC1c8+xilu1HTubpseaC8pWyzPDDirrxM91a7a6i0PFoSJbzjIjc8M61MOBJhuDzLANs7GradPALuy7xQluk88tQdOw6EtLyV6qq3B2JtvKYsvLw3xDW8AXIUvC2ugzzuwnU8KMsOvKvQSL1Wkq67qpaVu0D2VzpktBm9SSYhOBpRsTysTOg7AMgdvCeNA7zMOus8O7DyO4CLAbyo8nQ7LTuvPLC0nrwKM/+7IBT5u+Pcz7xjRhe93asQPWj1FjyjGaE7PI4JvXUKQDvofJe7B5PEPHDZlbwsq767OtxOugoa9je/08g8r9zUPPfVvLvqzTe9C80/usQJOrusWqG87qcRvZx0PDzpydA8fMMgvRoxary1nri7G0NfvWmq5LzQwqG8bkhyPMkH6rwufEo8vGYju9vrhb0V5RC9BvcmPVGHqTxN/ds7Cp7GvJhSQrzaNiE9bhcGvQxHwjzBoo+8OBMXvWJu+zstBZe81TcZPErswzyQ/Yg8+6SiPGCSsDz+cj89Mn8BO7XcHbwqx5+8ZIctOxcVrTzK/bq7KYkuPCZCVryebKI8u4/2uJT9wzyY20o9z/1wOzSPkTzYnHo8+5KQvIoEUbvaKLw7Gn9APPKqAjwc+aS8+1Y1vZEYgLsFqhc9sBxLvB2qbDkkOpW7r0xKu55stztNpx08pmF0veujJDxYzII86lM4vFERVDyxyoe8J4SyO1QjED33Ew+9RymDPIQSwDp6g6c8CCbFuyeUYzxWuB09YVYxPXi/hrzFcr+7slHbPCgDQDx2MNI8+4obvDDb8znBETa99XzJvByeeLuIK4g6XaYaOySZkbxuQCW8SWbmPNjIlzzWZh+8ZGCcu0Fr2LrNp0M9n3tlvBxMU7wDMVK8VKG0vAJzkLy3MRy9U3i3O/ZQprzfTKq8+9XYO68hsLv2fs+87WmaO3jQyrxN30O8YVjmPBTpF7u01zy8AZzePEkKLLycWCU8mhYFvfnYBD0RU8m8+ELhuwG7/Dqw7kI7zU9hPEd8JD0ic5+5AkZ8uyUxUzwcy0I7q3ycve1Erzu3DQ+9P4oAPD5KYDzPbNO7YQ0kPEO8xDzQGZ68aL+FvE2ulrwh0cM7gpTAPLEZ9Tzfa5E8cP3ju1ZCgLzju4+5/zf8u7SUXbwbswe9q9l4PErc/TnoYZK8uTsQvaH0kTwvNiG8qqO0OzOYpTtQQq68oTFDPZIPDTwr9oa8gHfMu2b+oDz1A2e8G0G0PFLq2LvtzBw8fndzOgnLpLzcJjw8qQipvHSSTrrAiza8oi/avE7SvTtVAnA8Oqp3vEQwJbzINsY87goDva+6c7oEqWi8QHj6vJxmjbwnRn+8UtrvvBI/bzxYZiM9K7kAPHJrvzxFOSM8DRJaPFqKIjxQGoE8IENwPDzNnLzRT3G8EBqSuiSM8TuLVKq8B6ffPLVqDL0ngdg7WVCtPKmfTzxsP3o8fx0gvEAKVDxcFTc87FYuvLBsBD0p9M+6Kxutu1LRgjyoK7W8KVvzvItsLjzO6gS8y3KWvHYCarzkI9k8S12fvHaFJr2usRS93l4wvDY8vLvIpFa7D1FnPBz69rsLKj072dI2Orw2AT0zg/q7H3GKPLaSxjxlLio9XJVjPEVEfrzq5SY8PMGqPAJ49Lu0Mou6TH8rPNNtAL2/Scg8LlmhvKfwAbzLNxq9grTDOhNsrDyq8bk7PyDDvKXi47xnWha9w3O8O5BBTjwnvs87bgaPPHBv8Tw/8rO7/VW1OgopZ7ySuAq9wQjRO4T0l7tOkf27vy0OPUf1azz0oAu9ePkoPNoMDDzGUx28A/sGOpFp1LyFpQa8X51XPBB4u7xUkyQ8LxTguqW1B7sAbjO7DSADvUrVUjx7Tym9Bdgvu9pi3zylQZ880xI5Pbv8HTwxZNU8Bek+vWBKo7vlmTU8uriOPGXj1rzUg8Q7calPPOmosLxBJjO9s81ZOn1Ykbw3nRA9+3esvPppsrxR/QY97tgzPJA+rbzUVw69gndVPd43AbxKo1O8IOpMvKUKKL1R5Ya8lH+mvMEKQDxaIP06iJ6bPKJ4+LutoVI8kmqzu9V3JD06Idw8PTIPvVCdzbw3s5E8UKlSvCl8oTy+BOe8N1a6PDDQbzxsAJQ77/SbO95N57phsq66LtufuxRaTruXBsK7l6P/PJscBr38Y5u82/6iPJaLBzsKyGk7Bm6Vu1LTCjxGtiC8flI1vNOnCTzmlqg8JkcWPCsJxLsZyBA8v/BPvBkBdrw00IC8OpnVOj4BrDy/nGO8tNOaPPVV+Lq0aUE9hZklPUxUNT0oG7+8mHs1PJAshDz3OZG8gYqMvJXUUrzDu0w8nj0OvYORnDuXwYa7u4BQvK9qfLxzVGs8z1RxvP11lTtJ+Gs8lyDlvDfuPD3SKFw8yPJgPMDPybySy408y9wUPFp+OLzWMIc8t7GGvG7JaTyogVu8koHNPO5sjbzJxty8cQqOvPrKD72tn5K6wvl8vLCNZzsU3Cq8aoZPPO8kBL1HYKI8tLYuvWjkvrwbMvu7g8LLO3RDBT0HCo68q2x0Pc9vWjzwwJ+8bMz+u4z2RrtXnri8pKQ/vPq0mzv38Bm7UAnXvC1Ugbx4gys7bJ0CvYoTxLva/Wi87s0kvCA2dLxH9qI7kCyTvPLTbDzDIlU8WWSJPGBk3ryr99m8M/SYPDP7LT0n1Ao8hkdDPH7FgbzybA88wgC9PK4r37vyw9M7B6KwPLFDiTufHf+8d+R8O0O9GzuanyC8FdQFO5Y9YbxbZKE7PBS9uhICHjw9lLy8EMIHuquMBr3fVFY7j7SjPN9kELwzBM08JOfSvAgiwbywVKQ6VO83va5G37wfGLa8LwqJPHzejjsltCK8GQBBPSH3hDtO9Wg7pmAYPepevDzHPoK7TUVJu0+cdjyxjB49tav2O7Q/arzlXAM8ixLtO6qgcLy6tfI8JquRO1xdgDtEM3O8DLAhvBvb9LsT8py7RFZuPNWTgbyrOWc9PqW0vKIH0bsRHtG7qQibPPWtYrz5GB09knDbuwIdurs12dQ7Efz6u76Ez7uXqJE8QNMbPIl3AD3yrF+8PfWlu6vfiDxro7K8c1XMvCUcvLxF9ty7G3wiOwQHfLzPcgG8WXQgPdWdCTz+NY68167hO0/GYTxx9og8a9CDvDe63zscSWU7GjZZvANskTxbSIg91Vctu+J2Jz2YNUW7HiSRPNK93by33VQ8X/qUu092kbt64z87zCaIvKCNAz2PS9k8ZPdGPPZaODumcCc8ciJKO+6cubvJY6861T5Bvd29XjyaNZO8Rk59uqjsQbyzlre8dgmfOyQFL7zTxVs8d2VgPMjeNjxi89q7y3xhPdn8Obw3u6Q6uZa+vBeIDD3XrDG89XptPF+M5LtIfje9+AIrPNetizx99Yy7KjfouoBTODweRAI9OUDMupJdP7tXZT28BxZWPJx9yTsLEUm8dK/XvN83bjykoii9WaprO9hPE7zA8g08cCMqvD2kyDxtGq68LKZAO3aAfzyhizw8x6atPJKkhjwDG7E7YOSvuwVuBT0GYiY8JHj0O5yspTtsWmK8dejtPFlenzx7hyK8aXQpuxwfTjwNs36851rRu+GXbrvR6Im82Ji2O4Qxx7sH7F88PcHEPOCBJrncJEg8DFjNPCMIbryFFJq8Ljm+u8lJJ72piAo9H/j4PJTyEjv4Boe8QwyBu/B/uDzZg189WIq5udnHg7wrRQ28F2KWPMzTEbyrO/860PYMO3j3EL3WskI89sWyu26BhLo94wk9PdDCvJilzTotLFk9xHFrvDD4o7wxQOu8LG2cvBcxVTxzUeK8R6yzPMxu57uncoC5weSBup2Ujzya7009RZ+ZPFsVRbvwBRe8FjXwuzvrYbuNYnq8dUDevKirM7w4Lp88ieQJPQ2VA7zTLim8w0OvvIfWVb1WzYi8Dt6LPB5e0LsM7WC9idvzPPwtCz2xfo280TKpvFEn47s8k/O8ibE5POSam7x4lMs68dOVOzlh8rsVZI27VhEvvG3AszsQzRI8IETvvJkkFzxRbYk8LVPzvHcXKr2UTZo8LhhZvJsMqbv+Kok74gxYuBkX27vP0qG8E/y3vI3PrrtmTS67EN+EPBO8Q7zCAms7iIPTOyCGwTyI9RW9/XasuzULybxK0Uw8G6UjPP41oLtuVJY7B5swPPWGPTyFn408KZBNvM3uazyINE88wd4vPajEpLyQMb68SUhcuqKeu7xSUoE7SSCCPBHV+rmfaH69h5RNPMfKCj2OcVi8suWFPLx2XzxJOYE8UULJu7752DpxQks7Z+1zPFxJfDqLqeG70jkxOxG1DD2gaZC8nm9wOzfdzLvkIDc76Kh+u7CvBj0h6sk8zyKIu9+BnrtWVqQ8tlc6PaCW8bxT64q8kYbbO6vpdzp3oom7C0j+u0sSc7w51y+8vheEuwTe67svzNu78Uqmuv47Wzzn5VA892eJvJMQHDxIvts8YoOUPCB3prxEuGW8fiU3vPSw9zzcRoY83SyiO6z/FD1TydU8D4oMvNva4LxrXH07Rul6PFVQBL1N6cE6LXxuPMiXA70X/rg8z5UvPGT2/LtyYzi9r7rCO1uSMj3zQZi8pOu0vOUokrxclj286pCxPP8a7rxmVD286e+QOoKWST0awhC9DLk7vHZ1prvCr7c8n5AFveWdzzzijsA8w/YcPMDgezvPhCe7o00QvDa10jpI4RS9dFs4PPEqcjuNo+o8trgYPVFTzDzXg408+uDkunPurrwGQKc7WyiKvAw9QLyp38K8fftUOthvObxkV2i82/KhvN8P27xy84W8/19QPUi/pDjhX2I88+gKPN+JkDyc4Cu7jmuaO5tqlzqtW5U8K6wDPLTOqTqtQvc7gn87PScW47ztHYi7YiWgvOo5yrvFrzW9392zvMKUKTw/1sG88qmTvCom4DsBrSc9R68IPQzoRzuC33w75J+VvIHb2rqAiwU9ycGCPHpUFLr2gDC9eBvau5hBpbyywBU64VQVPa+DCzxovmm84XPqOw94AjzGe6G6zFjYPIscpLuJgca8xGMovJb+YLw7Moy9m+osPBNpizuZ0Om83/v/O0GZwDuvsha9bqcDPc6GaztX6Ws8eg4QPFjK8TwDoR07C11qPMIbOD3n6Gq8LxvCPFPoljxMeLY892yXPIPG0rwPs4m7Iw4MvbToR7xZe8K879GcPFtPiDz3wQk9yAtsuhPz7jsovRA7xUtUOpRqobwCfrM8sbCNO66K8rwiH5885XUkvAvopDyCwl889V5DvLCEUDtoqEY8d5IIvOpSOLycNE88KDOhumwF4bsjsno8VBTmuz2xczxT3gK8a4FCvLzIuDxvhxo8P9oCvZPPJz3Fpow8XEl8PL3OyTsts/U769VbvD1XCD2+CIA76ABIPKe/E7uwkZw811ZDOs27hjz3k6q8hZdouycZV73Ei9M8pO+qPHFnCj0q5qC88V8TvId0lrwSpQ0810Xau6xWYTzd9/k8sstbu7gaKTtQT3A76oREusXCJ7yZZTC8ak2VPEIlCrvu2v285u0cPOZDTTzF9p+7i0TbPAqy9rtQArO846EzvMg1fDyjIC084OgAun1Zobws9AE70TiVvOSslbujZhW90uwLvBL3Cjx4bQq97Vm9vK/yFDwrNOA6RXvTPKlcA7wJuPM7R0gNvMoF/7w+V/K7Qc4FPVnGHjxxSTc84AfTPKXe/rrdNMU73O/lvPlovDwnRGE9MbHIu/48HD11lIq7A8MZvKFpxbm8TkI5CZK2vA8ZYjuWjCC9V5fwOtHJobxELUI914AdvMHIAb13Gei7Sk4dvdpFNTxWDzW9ZsDAOoki6rxdkPo7MqN/uoFkxzzIaQg77az2PPl+W7rdLAc8Tg3wu19W4DyEecI7VVKEvDTJ77vorum8q1DZPGuqrryp7IC8tQctPcBRQrxTM5q8KcyhPNcXhDrpWyc8pZwzOpk/ETxFPp67HFSevHJ6aT3kqHI7VCDBO1HPWLsPbCK9qMIfPb7cTrz9fDC9fsxmuxjrXbwbUEI88L7XPMrGSrv4pFq9lPKSPJuFEjwCZ228ezTKvAfNlrzBxlG7buGYvA+sJj1vFCs8RVK6PG4Aujs4Z0i8DfefvISjEDxUsx+9TkrOO8YzkTsyWgc8yPCcPP8y9LsDCF28ErXCvH0G+LwtZYq7jlAJO/XW/jyk7d67qKsOvT4h7TwSMyQ7MVJ7vA0OGzxk7ow8TvNEvEFoYbxegcY8hyq1vFqMujw6FA27croIPcfmZzyW/p08cDF3OhTHnTy+qj486dJbvKkkNDvtYU+7QRImOyrqsbtbOLS84f0RvO03SLzyxIm8S76KPCy7AbwPl8y7cSVfPJZRgrwgDNg7k0IovDZG9rtaNNY8J3EAvB2K8jtSGzA8mO3zPCE69rzVKLK80tEfPbKIkDy2vXs7rnRQPAq0ZLyFBim8qROFvIEtzLwHUBm8+57wvG3S8zr9I168iD3Iueva37w1ooC7nrTCPM8s8zuc3Kq8zxfNPPhEjjy4Jz+8u+QXvN9XwTyFvWM8fJRYvDONtLsZqT28EIpSvD2ltjxmvpw6DHXSPG2yLTvHAcM65jm1PP+xYrmywiy8NzAzvD6AV7w69mC7XZ0pPO7H0zy8wxO9A6AAPV3KRrvQIz0846GEO7SbPrwUy3E8btuxvA4DAD2b2IU7kkE8PBXrO7yjC6C7+JZuvADG1TzgK6A8j14dPD9Z1rsAYYi8lRgyPNI1SrwTd8c76stxu5YESjwpC2W8iR3UvP+XG71ahZO6Pyy7vImsAL1BIyS8BmVkvLRJh7xXZY28h1vhvKdd5TtfOx+99IvZulLdWzxsRrw7D85xPBD7Gr2U5T88ZTzju7zogTxocmG85q0FvZSOMDxBw8K8gXqsO/JEyjti2Bi7L+33vNkNdTvty7s8+/DPvDUX57uCP1K8D36BO23RHLxuHt87QxyFO8BU1DrtaRa8BBg6vC1dCzw0tgU853EnPPQKRTqmrku8Qg/9u9f8dTxNkDy9OXdouRKkfjv9NZu5L6lSu7QoQ7szSf451FCSPBqc5jvkOqi8jpQvvD21Vrz/xlY74m2NPM6LS7xmSfE8ADQePaSYKrr+qZ88STLxO7iV0jvwk5q8VSkAvEHlJTxSfsQ8PjSpu+TsRzvqRxQ80D8aPUvvXDyEivk7ulEIPOr2vbxDzCG7GBarO8bIJrxd2Mu7Ar+HO+rJQTx7zje8UPBcvCQifTzTa+E4YM2tu/JhATwLEHS84FfQuSnzIDz0ZRG84vSIPJRs87t6zrM54HZzvJQGpjymRmE8X54burAP1Dzd2gc9SjJrPF8Ch7yyqI47kUVmOrG9ATx65/y8C4WyPLo8QbmU+vI6SQoIPCmV5TysASw8AiyjuvCkED2QGce88K5/PUjLfDv5wpQ8vHwSPS8yEL2Quay7DT/MO1OJpjyizqa82xQXu9Vxcbw9afc7Q8wzPFU7zbwg0tK7QwpnvLJRBrxzlcw7l2upPFPgnDxgfqI7WekqvWDWl7ztCWG6fuupPBvj3TzQxku8uDiBO3SkKL0kP1i5a/UEvFGk3Lu/pj28DUgAPbHoCzwwXNC8NqpoPLwSj7ykGAO9lrO2PGrI7rxGf3y8vI2Iu/wKxjt47re7OLeLPULjirzA6ZU8srYiPTOaDTxQeBg8+XvjvL+fajwo6Bc8O1XXvJn0djyem0E9rl2Gu6kzKzxk1iA8XeazOvhOPT0Z87u8DV6uvIJwFL1Yj9C8zq2QvPE7jbstGD68UsyJuqhpU713Zw88FGAMvWzqNb0OLIS8b23hOzyMhzunj+M7GV1fu6FzGrxPP4A8+P0NvJkQ6zsOC9s8BewTvf8qxTwy0Ei7kKt9ukplCjykY428oNEDvSpnQLuU5rQ8SWxBPNpnN7xe8Re91Hlou1HNrryLbrG79uiVO/SwcrpJHmW8crSMPEgtBDnqbsu8Dtpku5OWpDvnb3W8lMgLPDgTYrxsZ608rxH7ug0i1DxzNog5vx+ZvPGAID3qW1G87H0Vuc1/YDwxdd28DoHJPDDvMTx82gW9mGd4PHTsBbuiKEs7ndojvO7H1Tw8+Ie8PgPuvPMEVrxTLBK9fUEaPCjUIDyhSJE4vvNVPIicyztK1gQ876deOTfIATtMRXO8MJq9vNLxvzyw74y80aaruhdzA7t+hjo8BqSbPFzZmrzJFRK8dESDPCKGuTutOcc8cnmIPMGf0zq8c+s7dEsNPSYjiblQsIG8LwjFOscFIDyqraC8A7eePGeTBzryPaW7k7IvPHx+IjukjDS800SVvPpv17uILsK8krmePJeZFj2ckiu8TrsVPa3D3bxKaY28yYufPJ8l7jzrocU8otb4u4quNbv4SDc9WEBlPF/XfjoBPJ881IKfPEibKryLwue62M75uw3cG71WfuM7NtnnvDLk2DzY870760DWuljFDDsNdrO8cn6hPGwdkjvxxDO8/4l0OybeFj1rgwM79LFjO9PqgDxGR++7xSUSPFAiEj2lIsa7s0ucPIxy4Dt1m8e7pPqCuzWajLxhjdA8vc9NvKFRgDyGN4e7RooLOyATe7vG9Z08Dn8gvIS+8zxFq4y84p8/PMMvAb2FiFY6zblKuyYXZLyluhm8iPVJPEHjx7uIc628HeQcvMnIhLtbehy8/8SMPBEgnLuIWXi8UoK8OhvYVb1sXpY8Ch7yvB7cqLxpnQi6ZviqvAtOqTxsH6M8r2WwvNWna7zzb/q7j9/TuyK1NDuYqOI6vT4pPHwIyzoSc9K869KEvNJq8LxWAdE7zVpru6kQPzzFFgk8P30SO7iwJj2zTLm8rpDjOyBhcbxSi0O8/mVtPJxoU71KTVA9f/ELvL+0vTxW3zg8JW1avEKypzzlY3a8WokAPfbtszwPGFK75MekuecCCLt/Sgg8owsZPOdLEj0PrYG8zLyPPMpKKzyQxVQ7SdwAPc179rziuN88mduwOgAW9byZzAC8bELkO1pwkDzWO208X0agvMtA3bxa60q8k/ohvFudFbxGlcu83ltvucCgB72HnaS8IH+svB0mi7wuH7O8ml2MvD+VSTyzmoc75OEeOjeq9LvThh487uWFvNg0gbtS82c8eIsHu/zVOzz2Ziu8v+g8vJtrSzzRfyS9Qu7AvIVymryzQJ68wj8dvEDWhbwOaku7R3lqPGFCET0dBF68L/JDvCEUEbw+M4Q8HRguvGdVGzo+COs8JKt8PKBVBbzRyUG9n6EfPD8bATzSu2c7cwquPGMHsLxV20E8yb8+PAGhADzJ2eW6LMPOu08EubozZm888aUduz2blzz7E+w7MLAMOwy0uztwa4q72gEWOyAkh7zg2Sa880G1u31b6LzTUAs9mJLBPCdmxTkNKfQ8HRTZvLcljbzZur24uDdJvCD/7TulKyq820c9PJfXAb0Q9n886+IQOzxXAzyXcSI7Nc6zvK68mzyv+2s5NHtOuyN0kTxL+Ka8e0svvTeiWDutG4s7bibFutK3gjyb2H68mtisvNIxyzy1cNs7G9zFu2lLILyNjWA7P3wSvEgj9Lx+qey3nXcfvBtAgbkE3Vq9j9CfO29iaLvhLGC6lAsiPCTkED1ONQM88ArcvO+Ntzw8POK8mXsGvZbwWzxGTja92o/vu7d+hLzyoFS7RntnvP2kqbthPQy9db8IupENGr0LL+68kgGoPHmoQLsYId+8whTJPCZen7vproa7OslRvHLKHzy0Bc88THW+PFvJ2Lv5Hz48sU1HO96PhzxtJJi8l7nLvO/wsjvSXUs7K+RjPMMpmzt+Q188qVhTOwTT/7xV/+Y8FoyQPK1cUjyrMWs7O/YRvHOqFbxaMbi86oVBPSurQzyoSMq71ETFvJMlnrsveWs8T6YQvbQsszx2b0W8G04ju1XgZzwGXs67ZLmsOcy2PzsWWK28mcGcO4g/NDzn/JI7y7AYPKx5rDyeZIq7mOqeu2zCULuTW6c8UF0SvQOsBr1H1Ew8oawTvakmfjxWIlg8kZgHPMMIDbzf47c87R86OlL4rDyoS/a7fl83O//1MbziXJa8iqGoPOpRuLtWJ/W6IE0bPIFHqjubceA7j2HBPBtWgTsZIzY7X5e3OgvT5DuojBS8aqjhPCprzDx+qAw851o1PMTrpLs+mfM8nqx6O8YNYTsITro8pycsPHe/rrxd0nS8lBEXPVfecjwEH2y8uuyTOi94Jb3CM528oSqJvKd54bzxVUQ86sIPvPM+Dz3eSl28U54OvLzR6rueFDq9ZH/UugObFTyQcpe75kFBPVOFhTs7kvw6NdDoOp9Gn7sqLJE7yOjsvMASbDsFmLe8Z6+4PLQ3jLsFeU49c6vdPJ163Dy18U+8R7pMvEWHCztW4dW6XSfNu1PZVruF6xo81FyHPIbCYz1cmYq8sviEuywXKzyNPLe8cClcu9q1Bjz0gXY6hVunPE5ppjtSibk89vamOkVkET1TYpa6SROlu4hG+jx98n+8xzZ1PCQynjzxT5U6584yPCFEL7rbxww94RM8PHv36bxf++a63n2YPHw7xTv4BCQ8A/MEORfvEz0FD9G7BVyiO+SDgbwax7C8tZF5vP835rzWajU81geVPL7EsbylRyO8WWWcPBXlNjzx9Hu8+qJPOkTIpjvxa4q7/AwWvSCgUbyRYqY7mwMGvPvGgzxCOIw7ta9+vJHiSTwwJxq7P7m6OQ== index: 0 object: embedding model: qwen3-embedding:4b object: list usage: prompt_tokens: 6 total_tokens: 6 status: code: 200 message: OK - request: headers: accept: - application/json accept-encoding: - gzip, deflate, zstd connection: - keep-alive content-length: - '97' content-type: - application/json host: - localhost:11434 method: POST parsed_body: encoding_format: base64 input: - Second document about dogs. model: qwen3-embedding:4b uri: http://localhost:11434/v1/embeddings response: headers: content-type: - application/json transfer-encoding: - chunked parsed_body: data: - embedding: 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 index: 0 object: embedding model: qwen3-embedding:4b object: list usage: prompt_tokens: 6 total_tokens: 6 status: code: 200 message: OK - request: headers: accept: - application/json accept-encoding: - gzip, deflate, zstd connection: - keep-alive content-length: - '97' content-type: - application/json host: - localhost:11434 method: POST parsed_body: encoding_format: base64 input: - Third document about birds. model: qwen3-embedding:4b uri: http://localhost:11434/v1/embeddings response: headers: content-type: - application/json transfer-encoding: - chunked parsed_body: data: - embedding: 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 index: 0 object: embedding model: qwen3-embedding:4b object: list usage: prompt_tokens: 6 total_tokens: 6 status: code: 200 message: OK - request: headers: accept: - application/json accept-encoding: - gzip, deflate, zstd connection: - keep-alive content-length: - '7686' content-type: - application/json host: - localhost:11434 method: POST parsed_body: messages: - content: |- You are a Recursive Language Model (RLM) agent that solves complex research questions by writing and executing Python code. IMPORTANT: You MUST use the `execute_code` tool to run Python code. The functions described below are ONLY available inside the execute_code tool - you cannot access them any other way. Always execute code to answer questions; do not just describe what code would do. CRITICAL: Inside execute_code, these functions are ALREADY available in the namespace. Do NOT import them - just use them directly: - search("query") ✓ CORRECT - from haiku.rag import search ✗ WRONG - will fail You have access to a sandboxed Python environment with these haiku.rag functions (use them directly, no imports needed): ## Available Functions ### search(query, limit=10) -> list[dict] Search the knowledge base using hybrid search (vector + full-text). Returns list of dicts with keys: chunk_id, content, document_id, document_title, document_uri, score, page_numbers, headings ### list_documents(limit=10, offset=0) -> list[dict] List available documents in the knowledge base. Returns list of dicts with keys: id, title, uri, created_at ### get_document(id_or_title) -> str | None Get the full text content of a document by ID, title, or URI. Returns the document content as a string, or None if not found. ### get_docling_document(id_or_title) -> DoclingDocument | None Get the structured DoclingDocument object for advanced analysis. Returns a DoclingDocument object, or None if not found. See "DoclingDocument API" section below for how to use it. ### ask(question) -> str Ask a question using the QA agent with RAG. Returns the answer as a string. Use this for semantic analysis that benefits from LLM reasoning. ## Standard Library Modules You can import: json, re, collections, math, statistics, itertools, functools, datetime, typing ## Strategy Guide 1. **Explore First**: Start by listing documents or searching to understand what's available. Document names may differ from filenames (e.g., "tbmed593.pdf" might be stored as "TB MED 593" or similar). 2. **If get_document returns None**: Use `list_documents()` to see actual document titles, or `search()` to find relevant content. 3. **Iterative Refinement**: Run code, examine results, adjust your approach based on what you find. 4. **Use print() Liberally**: The REPL captures stdout - print intermediate results to see what you're working with. 5. **Aggregate with Code**: For counting, averaging, or comparing across documents, write loops and use collections. 6. **Use ask() for Semantic Analysis**: When you need to understand meaning or interpret content, use the ask() function. 7. **Cite Your Sources**: Track which documents/chunks informed your answer for citation. ## DoclingDocument API When you call `get_docling_document(id_or_title)`, you get a DoclingDocument object for structured document analysis. ### Properties - `doc.texts` - List of all text items (paragraphs, headings, etc.) - `doc.tables` - List of all tables - `doc.pictures` - List of all pictures/figures - `doc.name` - Document name ### Methods - `doc.iterate_items(with_groups=False)` - Iterate all items with hierarchy level Returns tuples of (item, level) where level is nesting depth - `doc.export_to_markdown()` - Export entire document as markdown string ### Text Item Properties - `item.text` - The text content - `item.label` - Type: TITLE, PARAGRAPH, SECTION_HEADER, LIST_ITEM, etc. - `item.prov` - Provenance (page numbers, bounding boxes) ### Table Access - `table.data.num_rows`, `table.data.num_cols` - Dimensions - `table.data.table_cells` - List of TableCell objects - `cell.text`, `cell.start_row_offset_idx`, `cell.start_col_offset_idx` ### Example Usage ```python doc = get_docling_document("My Document") # Get all headings headings = [t.text for t in doc.texts if "HEADER" in str(t.label)] # Iterate with structure for item, level in doc.iterate_items(): print(" " * level + item.text[:50]) # Extract table data for table in doc.tables: for cell in table.data.table_cells: print(f"Row {cell.start_row_offset_idx}, Col {cell.start_col_offset_idx}: {cell.text}") ``` ## Example Patterns ### Counting documents matching a condition ```python docs = list_documents(limit=100) count = 0 for doc in docs: content = get_document(doc['id']) if content and 'keyword' in content.lower(): count += 1 print(f"Found in: {doc['title']}") print(f"Total: {count}") ``` ### Aggregating data across documents ```python import re numbers = [] results = search("financial data", limit=20) for r in results: matches = re.findall(r'\$([\d,]+)', r['content']) for m in matches: numbers.append(int(m.replace(',', ''))) print(f"Average: ${sum(numbers)/len(numbers):,.2f}") ``` ### Using ask() for semantic analysis ```python # First search to find relevant content results = search("machine learning approaches") # Then use ask() to synthesize an answer summary = ask("What are the main machine learning approaches discussed?") print(summary) ``` ## Workflow 1. **ALWAYS start by using execute_code** to explore the knowledge base 2. Run multiple code blocks as needed to gather information 3. After collecting data, provide your final answer ## Output Format After executing code and gathering information, provide: 1. A clear answer to the user's question 2. Key findings from your analysis 3. References to specific documents/chunks that informed your answer CRITICAL: You MUST call execute_code at least once before providing your answer. Never give up without trying to execute code first. role: system - content: How many documents are in the database? role: user model: gpt-oss reasoning_effort: low stream: false tool_choice: auto tools: - function: description: |- Execute Python code in the sandboxed environment. The code has access to haiku.rag functions (search, list_documents, get_document, get_docling_document, ask) and safe standard library modules (json, re, collections, math, statistics, itertools, functools, datetime, typing). Use print() to output results. Variables persist between executions. Structured result with success status, stdout, and stderr. name: execute_code parameters: additionalProperties: false properties: code: description: Python code to execute. type: string required: - code type: object strict: true type: function - function: description: Result from RLM agent execution. name: final_result parameters: $defs: CodeExecution: additionalProperties: false description: Result of executing a code block in the RLM sandbox. properties: code: description: The Python code that was executed type: string stderr: description: Standard error captured during execution type: string stdout: description: Standard output captured during execution type: string success: description: Whether execution completed without error type: boolean required: - code - stdout - stderr - success type: object additionalProperties: false properties: answer: description: The answer to the user's question type: string code_executions: description: History of code executions during the RLM session items: $ref: '#/$defs/CodeExecution' type: array required: - answer type: object type: function uri: http://localhost:11434/v1/chat/completions response: headers: content-length: - '519' content-type: - application/json parsed_body: choices: - finish_reason: tool_calls index: 0 message: content: '' reasoning: We need to list documents. role: assistant tool_calls: - function: arguments: '{"code":"docs = list_documents(limit=1000)\nprint(len(docs))\n"}' name: execute_code id: call_hk3j646j index: 0 type: function created: 1769703338 id: chatcmpl-806 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: completion_tokens: 46 prompt_tokens: 1599 total_tokens: 1645 status: code: 200 message: OK - request: headers: accept: - application/json accept-encoding: - gzip, deflate, zstd connection: - keep-alive content-length: - '8124' content-type: - application/json host: - localhost:11434 method: POST parsed_body: messages: - content: |- You are a Recursive Language Model (RLM) agent that solves complex research questions by writing and executing Python code. IMPORTANT: You MUST use the `execute_code` tool to run Python code. The functions described below are ONLY available inside the execute_code tool - you cannot access them any other way. Always execute code to answer questions; do not just describe what code would do. CRITICAL: Inside execute_code, these functions are ALREADY available in the namespace. Do NOT import them - just use them directly: - search("query") ✓ CORRECT - from haiku.rag import search ✗ WRONG - will fail You have access to a sandboxed Python environment with these haiku.rag functions (use them directly, no imports needed): ## Available Functions ### search(query, limit=10) -> list[dict] Search the knowledge base using hybrid search (vector + full-text). Returns list of dicts with keys: chunk_id, content, document_id, document_title, document_uri, score, page_numbers, headings ### list_documents(limit=10, offset=0) -> list[dict] List available documents in the knowledge base. Returns list of dicts with keys: id, title, uri, created_at ### get_document(id_or_title) -> str | None Get the full text content of a document by ID, title, or URI. Returns the document content as a string, or None if not found. ### get_docling_document(id_or_title) -> DoclingDocument | None Get the structured DoclingDocument object for advanced analysis. Returns a DoclingDocument object, or None if not found. See "DoclingDocument API" section below for how to use it. ### ask(question) -> str Ask a question using the QA agent with RAG. Returns the answer as a string. Use this for semantic analysis that benefits from LLM reasoning. ## Standard Library Modules You can import: json, re, collections, math, statistics, itertools, functools, datetime, typing ## Strategy Guide 1. **Explore First**: Start by listing documents or searching to understand what's available. Document names may differ from filenames (e.g., "tbmed593.pdf" might be stored as "TB MED 593" or similar). 2. **If get_document returns None**: Use `list_documents()` to see actual document titles, or `search()` to find relevant content. 3. **Iterative Refinement**: Run code, examine results, adjust your approach based on what you find. 4. **Use print() Liberally**: The REPL captures stdout - print intermediate results to see what you're working with. 5. **Aggregate with Code**: For counting, averaging, or comparing across documents, write loops and use collections. 6. **Use ask() for Semantic Analysis**: When you need to understand meaning or interpret content, use the ask() function. 7. **Cite Your Sources**: Track which documents/chunks informed your answer for citation. ## DoclingDocument API When you call `get_docling_document(id_or_title)`, you get a DoclingDocument object for structured document analysis. ### Properties - `doc.texts` - List of all text items (paragraphs, headings, etc.) - `doc.tables` - List of all tables - `doc.pictures` - List of all pictures/figures - `doc.name` - Document name ### Methods - `doc.iterate_items(with_groups=False)` - Iterate all items with hierarchy level Returns tuples of (item, level) where level is nesting depth - `doc.export_to_markdown()` - Export entire document as markdown string ### Text Item Properties - `item.text` - The text content - `item.label` - Type: TITLE, PARAGRAPH, SECTION_HEADER, LIST_ITEM, etc. - `item.prov` - Provenance (page numbers, bounding boxes) ### Table Access - `table.data.num_rows`, `table.data.num_cols` - Dimensions - `table.data.table_cells` - List of TableCell objects - `cell.text`, `cell.start_row_offset_idx`, `cell.start_col_offset_idx` ### Example Usage ```python doc = get_docling_document("My Document") # Get all headings headings = [t.text for t in doc.texts if "HEADER" in str(t.label)] # Iterate with structure for item, level in doc.iterate_items(): print(" " * level + item.text[:50]) # Extract table data for table in doc.tables: for cell in table.data.table_cells: print(f"Row {cell.start_row_offset_idx}, Col {cell.start_col_offset_idx}: {cell.text}") ``` ## Example Patterns ### Counting documents matching a condition ```python docs = list_documents(limit=100) count = 0 for doc in docs: content = get_document(doc['id']) if content and 'keyword' in content.lower(): count += 1 print(f"Found in: {doc['title']}") print(f"Total: {count}") ``` ### Aggregating data across documents ```python import re numbers = [] results = search("financial data", limit=20) for r in results: matches = re.findall(r'\$([\d,]+)', r['content']) for m in matches: numbers.append(int(m.replace(',', ''))) print(f"Average: ${sum(numbers)/len(numbers):,.2f}") ``` ### Using ask() for semantic analysis ```python # First search to find relevant content results = search("machine learning approaches") # Then use ask() to synthesize an answer summary = ask("What are the main machine learning approaches discussed?") print(summary) ``` ## Workflow 1. **ALWAYS start by using execute_code** to explore the knowledge base 2. Run multiple code blocks as needed to gather information 3. After collecting data, provide your final answer ## Output Format After executing code and gathering information, provide: 1. A clear answer to the user's question 2. Key findings from your analysis 3. References to specific documents/chunks that informed your answer CRITICAL: You MUST call execute_code at least once before providing your answer. Never give up without trying to execute code first. role: system - content: How many documents are in the database? role: user - content: |- We need to list documents. role: assistant tool_calls: - function: arguments: '{"code":"docs = list_documents(limit=1000)\nprint(len(docs))\n"}' name: execute_code id: call_hk3j646j type: function - content: '{"code":"docs = list_documents(limit=1000)\nprint(len(docs))\n","stdout":"3\n","stderr":"","success":true}' role: tool tool_call_id: call_hk3j646j model: gpt-oss reasoning_effort: low stream: false tool_choice: auto tools: - function: description: |- Execute Python code in the sandboxed environment. The code has access to haiku.rag functions (search, list_documents, get_document, get_docling_document, ask) and safe standard library modules (json, re, collections, math, statistics, itertools, functools, datetime, typing). Use print() to output results. Variables persist between executions. Structured result with success status, stdout, and stderr. name: execute_code parameters: additionalProperties: false properties: code: description: Python code to execute. type: string required: - code type: object strict: true type: function - function: description: Result from RLM agent execution. name: final_result parameters: $defs: CodeExecution: additionalProperties: false description: Result of executing a code block in the RLM sandbox. properties: code: description: The Python code that was executed type: string stderr: description: Standard error captured during execution type: string stdout: description: Standard output captured during execution type: string success: description: Whether execution completed without error type: boolean required: - code - stdout - stderr - success type: object additionalProperties: false properties: answer: description: The answer to the user's question type: string code_executions: description: History of code executions during the RLM session items: $ref: '#/$defs/CodeExecution' type: array required: - answer type: object type: function uri: http://localhost:11434/v1/chat/completions response: headers: content-length: - '706' content-type: - application/json parsed_body: choices: - finish_reason: stop index: 0 message: content: '{"answer":"There are **3 documents** in the database.\n\nKey findings:\n- The `list_documents` function returned a list of 3 entries.\n- No further pagination or filtering was required.\n\nReference: The result from `list_documents(limit=1000)` showing 3 items.","code_executions":[{"code":"docs = list_documents(limit=1000)\nprint(len(docs))\n","stdout":"3\n","stderr":"","success":true}]}' role: assistant created: 1769703340 id: chatcmpl-326 model: gpt-oss object: chat.completion system_fingerprint: fp_ollama usage: completion_tokens: 117 prompt_tokens: 1694 total_tokens: 1811 status: code: 200 message: OK version: 1