{"id":36533983,"url":"https://github.com/ekjaisal/wovensnips","last_synced_at":"2026-01-12T03:04:42.134Z","repository":{"id":250646029,"uuid":"835045762","full_name":"ekjaisal/WovenSnips","owner":"ekjaisal","description":"WovenSnips: A Lightweight, Free, and Open-source Implementation of Retrieval-Augmented Generation (RAG) using Straico API","archived":false,"fork":false,"pushed_at":"2024-08-28T18:48:36.000Z","size":480,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-05T03:26:28.140Z","etag":null,"topics":["api","corpus","csv","markdown","pdf","rag","retrieval-augmented-generation","straico","txt"],"latest_commit_sha":null,"homepage":"https://wovensnips.jaisal.in","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ekjaisal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-29T03:47:17.000Z","updated_at":"2024-12-30T22:30:07.000Z","dependencies_parsed_at":"2024-08-28T19:16:36.496Z","dependency_job_id":null,"html_url":"https://github.com/ekjaisal/WovenSnips","commit_stats":null,"previous_names":["ekjaisal/wovensnips"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ekjaisal/WovenSnips","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekjaisal%2FWovenSnips","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekjaisal%2FWovenSnips/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekjaisal%2FWovenSnips/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekjaisal%2FWovenSnips/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekjaisal","download_url":"https://codeload.github.com/ekjaisal/WovenSnips/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekjaisal%2FWovenSnips/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28332885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","corpus","csv","markdown","pdf","rag","retrieval-augmented-generation","straico","txt"],"created_at":"2026-01-12T03:04:40.952Z","updated_at":"2026-01-12T03:04:42.122Z","avatar_url":"https://github.com/ekjaisal.png","language":"Python","funding_links":["https://www.buymeacoffee.com/ekjaisal"],"categories":[],"sub_categories":[],"readme":"# WovenSnips\n\u003ca href=\"https://github.com/ekjaisal/WovenSnips/releases\"\u003e\u003cimg height=20 alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/ekjaisal/WovenSnips?color=66023C\u0026label=Release\u0026labelColor=141414\u0026style=flat-square\u0026logo=github\u0026logoColor=F5F3EF\u0026logoWidth=11\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ekjaisal/WovenSnips/releases\"\u003e\u003cimg height=20 alt=\"GitHub Downloads\" src=\"https://img.shields.io/github/downloads/ekjaisal/WovenSnips/total?color=66023C\u0026label=Downloads\u0026labelColor=141414\u0026style=flat-square\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0Y1RjNFRiI+PHBhdGggZD0iTTEyIDIwbC03LTcgMS40MS0xLjQxTDExIDE2LjE3VjRoMnYxMi4xN2w0LjU5LTQuNThMMTkgMTNsLTcgN3oiLz48L3N2Zz4=\u0026logoColor=F5F3EF\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ekjaisal/WovenSnips/blob/main/LICENSE\"\u003e\u003cimg height=20 alt=\"License: BSD-3-Clause\" src=\"https://img.shields.io/badge/License-BSD_3--Clause-66023C?style=flat-square\u0026labelColor=141414\u0026logoColor=F5F3EF\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0Y1RjNFRiI+PHBhdGggZD0iTTE0IDJINmMtMS4xIDAtMiAuOS0yIDJ2MTZjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlY4bC02LTZ6bTQgMThINlY0aDd2NWg1djExeiIvPjwvc3ZnPg==\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ekjaisal/WovenSnips/blob/main/CITATION.cff\"\u003e\u003cimg height=20 alt=\"Citation File\" src=\"https://img.shields.io/badge/Citation-CFF-66023C?style=flat-square\u0026labelColor=141414\u0026logoColor=F5F3EF\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0Y1RjNFRiI+PHBhdGggZD0iTTYgMTdoM2wyLTRWN0g1djZoM3ptOCAwaDNsMi00VjdoLTZ2NmgzeiIvPjwvc3ZnPg==\"\u003e\u003c/a\u003e \u003ca href=\"https://www.codefactor.io/repository/github/ekjaisal/wovensnips/overview/main\"\u003e\u003cimg height=20 alt=\"CodeFactor\" src=\"https://img.shields.io/codefactor/grade/github/ekjaisal/wovensnips/main?style=flat-square\u0026labelColor=141414\u0026logo=codefactor\u0026logoColor=F5F3EF\u0026label=Code%20Quality\u0026logoWidth=11\"\u003e\u003c/a\u003e \u003ca href=\"https://securityscorecards.dev/viewer/?uri=github.com/ekjaisal/WovenSnips\"\u003e\u003cimg height=20 alt=\"OpenSSF Scorecard\" src=\"https://img.shields.io/ossf-scorecard/github.com/ekjaisal/WovenSnips?label=OpenSSF%20Scorecard\u0026style=flat-square\u0026labelColor=141414\u0026logoColor=F5F3EF\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ekjaisal/WovenSnips/stargazers\"\u003e\u003cimg height=20 alt=\"GitHub Stars\" src=\"https://img.shields.io/github/stars/ekjaisal/WovenSnips?color=66023C\u0026style=flat-square\u0026labelColor=141414\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0Y1RjNFRiI+PHBhdGggZD0iTTEyIDJsMy4wOSA2LjI2TDIyIDkuMjdsLTUgNC44N2wxLjE4IDYuODhMMTIgMTcuNzdsLTYuMTggMy4yNUw3IDE0LjE0IDIgOS4yN2w2LjkxLTEuMDFMMTIgMnoiLz48L3N2Zz4=\u0026logoColor=F5F3EF\u0026label=Stars\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ekjaisal\"\u003e\u003cimg height=20 alt=\"Maintained by Jaisal E. K.\" src=\"https://img.shields.io/badge/Maintained_by-Jaisal_E._K.-66023C?style=flat-square\u0026labelColor=141414\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0Y5RjlGNCI+PHBhdGggZD0iTTEyIDEyYzIuMjEgMCA0LTEuNzkgNC00cy0xLjc5LTQtNC00LTQgMS43OS00IDQgMS43OSA0IDQgNHptMCAyYy0yLjY3IDAtOCAxLjM0LTggNHYyaDE2di0yYzAtMi42Ni01LjMzLTQtOC00eiIvPjwvc3ZnPg==\u0026logoColor=F5F3EF\"\u003e\u003c/a\u003e\n\nWovenSnips is a lightweight, free, and open-source implementation of Retrieval-Augmented Generation (RAG) using the [Straico API](https://straico.com/). It provides a simple and clean Graphical User Interface (GUI) for users to load corpora to perform RAG-based explorations of the corpus, mediating the interactions through various language models.\n\n## Features 🌟\n\n- 🔍 Load and process corpora for exploration and context retrieval using Retrieval-Augmented Generation (RAG).\n- 🤖 Choose from a wide selection of LLMs provided by Straico.\n- 🪶 Designed lightweight to run on devices without a dedicated GPU.\n- 💾 Save and load vector stores for efficient reuse of processed corpora.\n- 📚 Support for various file formats (.pdf, .txt, .md, .csv).\n- 💬 Minimal, user-friendly interface for clutter-free, focused engagement with the loaded corpus.\n- 🔌 Local server option to programmatically interact with other applications and scripts.\n- 🌓 Dark and light theme options.\n\n\u003cdiv style=\"display: flex; justify-content: space-between;\"\u003e\n  \u003cimg src=\"assets/screenshots/interface_light.jpg\" alt=\"WovenSnips Main Interface - Light Theme\" style=\"width: 49%;\" /\u003e\n  \u003cimg src=\"assets/screenshots/interface_dark.jpg\" alt=\"WovenSnips Main Interface - Dark Theme\" style=\"width: 49%;\" /\u003e\n\u003c/div\u003e\u003cbr\u003e\n\n## Usage 💻\n\n1. Download the latest release from the [Releases](https://github.com/ekjaisal/WovenSnips/releases) page.\n2. Set up WovenSnips on the local device using the installer (currently available only for Windows).\n3. Point and click to launch the application.\n4. Set the Straico API Key from **Settings → Set API Key**. Existing Straico users can find their API Key from the platform's settings page. New users may choose to create a Straico account using this [referral link](https://platform.straico.com/signup?fpr=jaisal).\n5. Select the preferred model to interact with from **Settings → Select Model**.\n6. Load the collection of files to be used as source material for RAG from **File → Load Corpus → Select Corpus Directory**, or load a previously saved vector store from **File → Load Vector Store**.\n7. Start interacting with the corpus through the main interface.\n8. Save the loaded corpus as a vector store for future reuse from **File → Save Vector Store** to avoid reprocessing large corpora.\n9. Enable the local server from **Settings → Local Server** to allow [programmatic interaction](https://github.com/ekjaisal/WovenSnips/wiki).\n\n## Third-Party Libraries and Services 🛠️\n\nWovenSnips is built using [Python 3.11.9](https://www.python.org/downloads/release/python-3119) and relies on several modules from the Python Standard Library and the following third-party libraries and services:\n\n- [Straico API](https://straico.com) for language model integration,\n- [PySide6](https://pypi.org/project/PySide6) for the graphical user interface,\n- [PyTorch](https://github.com/pytorch/pytorch), [NumPy](https://github.com/numpy/numpy), [Langchain](https://pypi.org/project/langchain), [Langchain Community](https://pypi.org/project/langchain-community), [Langchain Hugging Face](https://pypi.org/project/langchain-huggingface), and [FAISS-CPU](https://github.com/kyamagu/faiss-wheels) for RAG implementation,\n- [Pydantic](https://github.com/pydantic/pydantic) for data validation,\n- [pdfplumber](https://github.com/jsvine/pdfplumber) for processing PDFs,\n- [MessagePack](https://github.com/msgpack/msgpack-python) for vector store serialisation,\n- [Requests](https://github.com/psf/requests) for API communication,\n- [Roboto Font](https://fonts.google.com/specimen/Roboto) for UI typography,\n- [PyInstaller](https://pyinstaller.org/) for creating standalone executables, and\n- [Inno Setup](https://jrsoftware.org/) for compiling and packaging the installer.\n\n## License 📄\n\nThis project is licensed under the BSD 3-Clause License. Please see the [LICENSE](LICENSE) file for details.\n\n## Disclaimer 📣\n\nThis tool is provided as-is, without any warranties. Users are responsible for ensuring that their use of this implementation complies with [Straico's terms and conditions](https://straico.com/terms-and-conditions).\n\n## Acknowledgements 🤝🏾\n\nWovenSnips has benefitted significantly from the assistance of Anthropic's [Claude 3.5 Sonnet](https://www.anthropic.com/news/claude-3-5-sonnet) with all the heavy lifting associated with coding, [Riley](https://github.com/RoboRiley)'s addition of local server capability, and the overwhelming warmth and support from the Straico community. \n\n\u003ca href=\"https://www.buymeacoffee.com/ekjaisal\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 40px !important;width: 160px !important;\" \u003e\u003c/a\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekjaisal%2Fwovensnips","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekjaisal%2Fwovensnips","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekjaisal%2Fwovensnips/lists"}