{"id":26356524,"url":"https://github.com/ds4sd/ragnardoc","last_synced_at":"2025-03-16T13:31:59.687Z","repository":{"id":275027420,"uuid":"924200179","full_name":"DS4SD/ragnardoc","owner":"DS4SD","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-01T00:13:09.000Z","size":1614,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T04:03:16.388Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DS4SD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-29T15:40:15.000Z","updated_at":"2025-02-25T20:43:14.000Z","dependencies_parsed_at":"2025-01-30T19:37:47.162Z","dependency_job_id":"5437f0c7-dd8b-484f-8ad8-b446dc0fd42c","html_url":"https://github.com/DS4SD/ragnardoc","commit_stats":null,"previous_names":["ds4sd/ragnardoc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS4SD%2Fragnardoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS4SD%2Fragnardoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS4SD%2Fragnardoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DS4SD%2Fragnardoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DS4SD","download_url":"https://codeload.github.com/DS4SD/ragnardoc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243875056,"owners_count":20361936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-03-16T13:30:53.591Z","updated_at":"2025-03-16T13:31:59.670Z","avatar_url":"https://github.com/DS4SD.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RAGNARDoc\n\nRAGNARDoc (RAG Native Automatic Reingestion for Documents) is a tool that runs natively on a developer workstation and automatically ingests local documents into various Retrieval Augmented Generation indexes. It is designed as a companion app for workstation RAG applications which would benefit from maintaining an up-to-date view of documents hosted natively on a user's workstation.\n\n![ragnardoc duck](https://github.com/DS4SD/ragnardoc/blob/main/ragnardoc.png)\n\n## Quick Start\n\n```sh\npip install ragnardoc\n# Initialize ragnardoc on your system\nragnardoc init\n# Add a directory to be ingested\nragnardoc add ~/Documents\n# Run an ingestion\nragnardoc run\n# Start as a background service\nragnardoc start \u0026 disown\n```\n\n## Configuration\n\nThe configuration for RAGNARDoc is managed by a yaml file. The default location is `$HOME/.ragnardoc/config.yaml`, but can be overloaded with the `RAGNARDOC_HOME` environment variable. All default values can be found in [config.yaml](https://github.com/DS4SD/ragnardoc/blob/main/ragnardoc/config/config.yaml) in the codebase.\n\n### Configuring\n\nTo initialize your RAGNARDoc config, do the following:\n\n```sh\nmkdir -p ~/.ragnardoc\necho \"scraping:\n  roots:\n    # Fill in with the list of directories to ingest\n    - ~/Desktop\n    - ~/Documents\n\" \u003e ~/.ragnardoc/config.yaml\n```\n\nOnce done, you can add entries to your `config.yaml` to add supported ingestion plugins (see below).\n\n### Ingestion Plugins\n\nRAGNARDoc operates with a plugin model for connecting to applications to ingest docs. Each plugin is responsible for connecting to a given app. RAGNARDoc's native ingestion capabilities are:\n\n#### AnythingLLM Desktop\n\nTo configure a connection to [AnythingLLM](https://anythingllm.com/), follow these steps:\n\n1. Download and install the desktop app from their site: https://anythingllm.com/desktop\n2. In the app, go to settings (wrench icon in the bottom panel of the left-hand sidebar)\n3. Under `Admin -\u003e General Settings`, toggle on `Enable network discovery` and wait for the app to reload\n4. Under `Tools`, select `Developer API`\n5. Create a new API Key\n6. Add the plugin to your config (default location `$HOME/.ragnardoc/config.yaml`)\n\n```yaml\ningestion:\n  plugins:\n    - type: anything-llm\n      config:\n        apikey: \u003cYOUR API KEY\u003e\n```\n\n#### Open WebUI\n\nTo configure a connection to [Open WebUI](https://docs.openwebui.com/getting-started/), follow these steps:\n\n1. Follow the [Getting Started](https://docs.openwebui.com/getting-started/) guide to get Open WebUI running locally. TLDR:\n\n```sh\npip install open_webui\n# Run without login\nWEBUI_AUTH=False open-webui serve\n```\n\n2. Open the UI in a browser tab (http://localhost:8080 by default)\n3. Click on the user icon (top right) and select `Settings`\n4. Click `Account` on the left panel of the settings view\n5. Click `Show` (right side) for `API keys`\n6. Click `+ Create new secret key` under `API Key` to create a new API Key\n7. Click the copy icon to copy the api key\n8. Add the plugin to your config (default location `$HOME/.ragnardoc/config.yaml`)\n\n```yaml\ningestion:\n  plugins:\n    - type: open-webui\n      config:\n        apikey: \u003cYOUR API KEY\u003e\n```\n\n## TODO\n\n- Per-ingestor inclusion / exclusion\n- Abstract scrapers to allow non-local scraping\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fds4sd%2Fragnardoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fds4sd%2Fragnardoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fds4sd%2Fragnardoc/lists"}