{"id":24756695,"url":"https://github.com/amanvirparhar/elara","last_synced_at":"2025-05-07T11:58:45.538Z","repository":{"id":291954520,"uuid":"921953956","full_name":"amanvirparhar/elara","owner":"amanvirparhar","description":"A simple tool to anonymize LLM prompts.","archived":false,"fork":false,"pushed_at":"2025-01-26T15:19:01.000Z","size":83,"stargazers_count":60,"open_issues_count":1,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T11:58:44.574Z","etag":null,"topics":["anonymization","gliner","pii"],"latest_commit_sha":null,"homepage":"","language":"Svelte","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/amanvirparhar.png","metadata":{},"created_at":"2025-01-25T00:03:31.000Z","updated_at":"2025-05-05T13:13:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/amanvirparhar/elara","commit_stats":null,"previous_names":["amanvirparhar/elara"],"tags_count":null,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanvirparhar%2Felara","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanvirparhar%2Felara/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanvirparhar%2Felara/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanvirparhar%2Felara/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amanvirparhar","download_url":"https://codeload.github.com/amanvirparhar/elara/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252873976,"owners_count":21817711,"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":["anonymization","gliner","pii"],"created_at":"2025-01-28T14:01:43.351Z","updated_at":"2025-05-07T11:58:45.529Z","avatar_url":"https://github.com/amanvirparhar.png","language":"Svelte","funding_links":[],"categories":["Svelte"],"sub_categories":[],"readme":"# Elara\n\nA simple tool to anonymize LLM prompts.\n\nUses [urchade/gliner_multi_pii-v1](https://huggingface.co/urchade/gliner_multi_pii-v1) for named entity recognition (NER).\n\nWatch the [demo](https://youtu.be/K7PJqIbQVjE) to see Elara in action.\n\n## Components\n\n- SvelteKit fullstack web app running on port `5173`\n- Python webserver to interact with the model running on port `8000`\n\n## Setup\n\n### Python\n\nFirst, if you don't have [`uv`](https://github.com/astral-sh/uv) installed on your system, install it with the following commands (`uv` allows for easy package and version management for Python projects):\n\n```bash\n# On macOS and Linux.\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n```bash\n# On Windows.\npowershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n```\n\nThen, start the Python webserver with `uv`:\n\n```bash\ncd python \u0026\u0026 uv run --python 3.12 --with-requirements requirements.txt main.py\n```\n\nWait until you see `INFO:     Application startup complete.` in the terminal before running and using the SvelteKit app (ensures that the model has been loaded and the server is ready to handle requests).\n\n### SvelteKit\n\nRun the SvelteKit app with `npm`:\n\n```bash\ncd sveltekit \u0026\u0026 npm i \u0026\u0026 npm run dev\n```\n\n## Usage\n\n1. Open the SvelteKit app in your browser at `http://localhost:5173`.\n2. Paste/write text into the \"ORIGINAL TEXT\" textarea.\n3. Click the \"SUBMIT\" button to anonymize the text.\n4. Copy the anonymized text, which will appear in the \"ANONYMIZED TEXT\" card.\n5. Paste the anonymized text into an LLM of your choice, and generate a response.\n6. Copy the LLM's response and paste it into the \"ANONYMIZED LLM RESPONSE\" textarea.\n7. The \"DE-ANONYMIZED TEXT\" card will show the de-anonymized version of the LLM's response, which you can copy and use as needed.\n8. If you'd like to modify any labels, please add or remove lines from `labels.txt` in the project's root. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famanvirparhar%2Felara","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famanvirparhar%2Felara","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famanvirparhar%2Felara/lists"}