{"id":28349292,"url":"https://github.com/stackonehq/interview-ai-exercise","last_synced_at":"2026-01-20T16:22:57.360Z","repository":{"id":282223056,"uuid":"889100760","full_name":"StackOneHQ/interview-ai-exercise","owner":"StackOneHQ","description":"Example repo for AI interviews (document retrieval)","archived":false,"fork":false,"pushed_at":"2025-04-23T14:30:26.000Z","size":225,"stargazers_count":0,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-19T04:38:11.082Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StackOneHQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-11-15T15:59:41.000Z","updated_at":"2025-04-23T14:25:07.000Z","dependencies_parsed_at":"2025-03-13T12:44:30.005Z","dependency_job_id":null,"html_url":"https://github.com/StackOneHQ/interview-ai-exercise","commit_stats":null,"previous_names":["stackonehq/interview-ai-exercise"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/StackOneHQ/interview-ai-exercise","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackOneHQ%2Finterview-ai-exercise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackOneHQ%2Finterview-ai-exercise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackOneHQ%2Finterview-ai-exercise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackOneHQ%2Finterview-ai-exercise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StackOneHQ","download_url":"https://codeload.github.com/StackOneHQ/interview-ai-exercise/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StackOneHQ%2Finterview-ai-exercise/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28606910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-05-27T19:41:05.258Z","updated_at":"2026-01-20T16:22:57.354Z","avatar_url":"https://github.com/StackOneHQ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Exercise - Retrieval\n\n\u003e simple RAG example\n\n## Project requirements\n\n### uv\n\nInstall [uv](https://docs.astral.sh/uv/getting-started/installation/) to install and manage python dependencies.\n\n### Docker Engine (optional)\n\nInstall [Docker Engine](https://docs.docker.com/engine/install/) to build and run the API's Docker image locally.\n\n## Installation\n\n```bash\nmake install\n```\n\n## API\n\nThe project includes an API built with [FastAPI](https://fastapi.tiangolo.com/). Its code can be found at `src/api`.\n\nThe API is containerized using a [Docker](https://docs.docker.com/get-started/) image, built from the `Dockerfile` and `docker-compose.yml` at the root. This is optional, you can also run the API without docker.\n\n### Environment Variables\n\nCopy .env_example to .env and fill in the values.\n\n### Build and start the API\n\nTo build and start the API, use the following Makefile command:\n\n```bash\nmake dev-api\n```\n\nyou can also use `make start-api` to start the API using Docker.\n\n## Frontend\n\nThe project includes a frontend built with [Streamlit](https://streamlit.io/). Its code can be found at `demo`.\n\nRun the frontend with:\n\n```bash\nmake start-app\n```\n\n## Testing\n\nTo run unit tests, run `pytest` with:\n\n```bash\nmake test\n```\n\n## Formatting and static analysis\n\nThere is some preset up formatting and static analysis tools to help you write clean code. check the make file for more details.\n\n```bash\nmake lint\n```\n\n```bash\nmake format\n```\n\n```bash\nmake typecheck\n```\n\n# Get Started\n\nHave a look in `ai_exercise/constants.py`. Then check out the server routes in `ai_exercise/main.py`. \n\n1. Load some documents by calling the `/load` endpoint. Does the system work as intended? Are there any issues?\n\n2. Find some method of evaluating the quality of the retrieval system.\n\n3. See how you can improve the retrieval system. Some ideas:\n- Play with the chunking logic\n- Try different embeddings models\n- Other types of models which may be relevant\n- How else could you store the data for better retrieval?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackonehq%2Finterview-ai-exercise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstackonehq%2Finterview-ai-exercise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackonehq%2Finterview-ai-exercise/lists"}