{"id":15063708,"url":"https://github.com/emms21/thoughtful_ai","last_synced_at":"2026-01-02T15:37:02.809Z","repository":{"id":257465376,"uuid":"858355837","full_name":"EmmS21/thoughtful_ai","owner":"EmmS21","description":"Technical Screening: an agent that responds to semantically similar questions with pre-defined answers, falling back to generic LLM responses otherwise","archived":false,"fork":false,"pushed_at":"2024-09-16T19:20:50.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-22T08:37:22.579Z","etag":null,"topics":["openai","python","scikit-learn","streamlit"],"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/EmmS21.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-09-16T18:48:07.000Z","updated_at":"2024-09-16T19:20:54.000Z","dependencies_parsed_at":"2024-09-16T23:51:19.026Z","dependency_job_id":"36530321-cdcb-4e1f-b1b7-11ec37df01da","html_url":"https://github.com/EmmS21/thoughtful_ai","commit_stats":null,"previous_names":["emms21/thoughtful_ai"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmS21%2Fthoughtful_ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmS21%2Fthoughtful_ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmS21%2Fthoughtful_ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmS21%2Fthoughtful_ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmmS21","download_url":"https://codeload.github.com/EmmS21/thoughtful_ai/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243779011,"owners_count":20346650,"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":["openai","python","scikit-learn","streamlit"],"created_at":"2024-09-25T00:06:19.541Z","updated_at":"2026-01-02T15:37:02.776Z","avatar_url":"https://github.com/EmmS21.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Thoughtful AI Chat Assistant\n\n## Setup\n\n1. Add your OpenAI API key to the `.env.test` file:\n   ```\n   OPENAI_API_KEY=your_api_key_here\n   ```\n\n## Running the App\n\n1. Install dependencies:\n   ```\n   pip install -r requirements.txt\n   ```\n\n2. Run the CLI version:\n   ```\n   python src/app.py\n   ```\n\n3. Run the Streamlit version:\n   ```\n   streamlit run src/app.py\n   ```\n\n## Running Tests\n\nExecute tests using pytest:\npytest tests/test_app.py\n\n## Test Details\n\nThe tests in `test_app.py` cover:\n\n1. **Predefined Questions**: Checks if exact matches for predefined questions return the correct answers.\n\n2. **Semantically Similar Questions**: Tests if slightly modified versions of predefined questions still return the expected answers using semantic matching.\n\n3. **Other Questions**: Ensures that unrelated questions:\n   - Don't match any predefined or semantic answers\n   - Get a non-empty response from the LLM integration\n\nThese tests validate the core functionality of the chat assistant, including exact matching, semantic matching, and LLM fallback for handling various types of user inputs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femms21%2Fthoughtful_ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femms21%2Fthoughtful_ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femms21%2Fthoughtful_ai/lists"}