{"id":25174999,"url":"https://github.com/mmqnym/hide404","last_synced_at":"2025-04-04T00:44:40.718Z","repository":{"id":275636174,"uuid":"925519739","full_name":"mmqnym/Hide404","owner":"mmqnym","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-03T18:19:51.000Z","size":31,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T00:55:43.822Z","etag":null,"topics":["llm","python","rag","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmqnym.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-01T04:02:33.000Z","updated_at":"2025-02-03T18:19:54.000Z","dependencies_parsed_at":"2025-02-03T19:26:10.116Z","dependency_job_id":"3b018de8-b84b-43de-a186-46628cab8f69","html_url":"https://github.com/mmqnym/Hide404","commit_stats":null,"previous_names":["mmqnym/hide404"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmqnym%2FHide404","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmqnym%2FHide404/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmqnym%2FHide404/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmqnym%2FHide404/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmqnym","download_url":"https://codeload.github.com/mmqnym/Hide404/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247103302,"owners_count":20884023,"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":["llm","python","rag","sqlite"],"created_at":"2025-02-09T12:28:36.646Z","updated_at":"2025-04-04T00:44:40.698Z","avatar_url":"https://github.com/mmqnym.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hide404\n\nmeans that you can use this service to find everything, ensuring there are no situations where something cannot be found.\n\n## Description\n\nHide404 is a simple service that allows you to find everything.\nThis project can be quickly deployed after simple configuration without relying on other services like Redis, PostgreSQL, etc.\n\n## Set up\n\n- ### From source code\n\n  1. Change the sample configuration file name from `config.toml.example` to `config.toml`\n  2. Set up the configuration in `config.toml`.\n     The configuration file already includes descriptions for all fields.\n  3. run `pip install -r requirements.txt`\n  4. run `python main.py`\n\n- ### Docker\n  - Will be added later\n\n## API\n\n- ### v1\n\n  - \u003e [GET] /api/v1/id\n\n    - Description: Get a trace_id to add to the request body of any API that can be tracked\n      \u003cbr\u003e\n\n  - \u003e [GET] /api/v1/event/{event_id}\n\n    - Description: Get an event details by its event_id(a trace_id that has been assigned to a event)\n    - Path: `event_id`\n      \u003cbr\u003e\n\n  - \u003e [GET] /api/v1/file/{collection_name}\n\n    - Description: Retrieve the list of files including their metadata in a specified collection\n    - Path: `collection_name`\n\n      **Note**: If you really don't want to specify a collection name, you can simply use `default`. The same applies to other APIs.\n      \u003cbr\u003e\n\n  - \u003e [GET] /api/v1/file/{collection_name}/{file_id}\n\n    - Description: Retrieve a file's metadata from a specified collection\n    - Path: `collection_name`, `file_id`\n      \u003cbr\u003e\n\n  - \u003e [POST] /api/v1/upload\n\n    - Description: Upload a file to a specified collection directory. User can specify a trace_id in the request body to track the event\n    - Headers: `Content-Type: multipart/form-data`\n    - Form Data: `attachments (File)`, `collection_name (Text)`, `(Optional) trace_id (Text)`\n      \u003cbr\u003e\n\n  - \u003e [POST] /api/v1/learn\n\n    - Description: Upload a file to a specified collection\n    - Headers: `Content-Type: application/json`\n    - body:\n      ```json\n      {\n        \"collection_name\": \"collection_name\",\n        \"tag\": \"any_tag\",\n        \"author\": \"mmqnym\",\n        \"re\": true\n      }\n      ```\n      **Note**: `re` whether to relearn the collection if it already exists. This will delete the old collection and create a new one.\n      \u003cbr\u003e\n\n  - \u003e [POST] /api/v1/chat\n\n    - Description: Chat with the model using a specified collection\n    - Headers: `Content-Type: application/json`\n    - body:\n      ```json\n      {\n        \"collection_name\": \"collection_name\",\n        \"query\": \"context\"\n      }\n      ```\n      **Note**: You may want the model to remember previous conversations, and you can assign past context together to the context. But, it is recommended to set a text length limit.\n      \u003cbr\u003e\n\n  - \u003e [DELETE] /api/v1/forget\n\n    - Description: Delete a specified collection from the vector store and the database\n    - Headers: `Content-Type: application/json`\n    - body:\n      ```json\n      {\n        \"collection_name\": \"security\"\n      }\n      ```\n      \u003cbr\u003e\n\n## Basic usage\n\n1. Use `/api/v1/id` to get a `trace_id`\n2. Use `/api/v1/upload` with the `collection_name` and `trace_id` to upload file(s)\n3. Use `trace_id` to track the upload progress\n4. After the upload is complete, use `/api/v1/learn` to learn the collection\n5. Now, you can use `/api/v1/chat` to chat with the model using the collection you just learned\n\n## License\n\n[Apache 2.0 License](./LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmqnym%2Fhide404","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmqnym%2Fhide404","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmqnym%2Fhide404/lists"}