{"id":18785305,"url":"https://github.com/andreped/chatbot-streamlit-demo","last_synced_at":"2025-08-01T17:08:57.454Z","repository":{"id":200971550,"uuid":"706119269","full_name":"andreped/chatbot-streamlit-demo","owner":"andreped","description":"Develop accessible ChatBot with Azure OpenAI and Streamlit","archived":false,"fork":false,"pushed_at":"2024-01-19T15:31:54.000Z","size":54,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-20T05:50:34.286Z","etag":null,"topics":["azure","chatbot","data","data-mining","huggingface","huggingface-spaces","large-language-models","llm","openai","python","research","streamlit","web-application"],"latest_commit_sha":null,"homepage":"","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/andreped.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-10-17T10:42:50.000Z","updated_at":"2025-04-03T01:40:32.000Z","dependencies_parsed_at":"2024-01-27T23:32:00.562Z","dependency_job_id":"dd0ea219-c81d-499e-88a7-6b9c49b33591","html_url":"https://github.com/andreped/chatbot-streamlit-demo","commit_stats":{"total_commits":42,"total_committers":1,"mean_commits":42.0,"dds":0.0,"last_synced_commit":"e32b3e6cea77f65e2c10bd5b1a0fe3d745057bac"},"previous_names":["andreped/chatbot-streamlit-demo"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/andreped/chatbot-streamlit-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2Fchatbot-streamlit-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2Fchatbot-streamlit-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2Fchatbot-streamlit-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2Fchatbot-streamlit-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreped","download_url":"https://codeload.github.com/andreped/chatbot-streamlit-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2Fchatbot-streamlit-demo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268265826,"owners_count":24222524,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["azure","chatbot","data","data-mining","huggingface","huggingface-spaces","large-language-models","llm","openai","python","research","streamlit","web-application"],"created_at":"2024-11-07T20:46:15.216Z","updated_at":"2025-08-01T17:08:57.426Z","avatar_url":"https://github.com/andreped.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: \"ChatBot: learn about André's research through an AI assistant\"\ncolorFrom: indigo\ncolorTo: indigo\nsdk: streamlit\nsdk_version: 1.27.2\napp_port: 8501\nemoji: 💬\npinned: false\nlicense: mit\napp_file: app.py\n---\n\n# [chatbot-streamlit-demo](https://github.com/andreped/chatbot-streamlit-demo#chatbot-streamlit-demo)\n\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\u003ca target=\"_blank\" href=\"https://huggingface.co/spaces/andreped/chatbot-streamlit-demo\"\u003e\u003cimg src=\"https://img.shields.io/badge/🤗%20Hugging%20Face-Spaces-yellow.svg\"\u003e\u003c/a\u003e\n[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://chatbot-app-demo.streamlit.app)\n[![CI/CD](https://github.com/andreped/chatbot-streamlit-demo/actions/workflows/deploy.yml/badge.svg)](https://github.com/andreped/chatbot-streamlit-demo/actions/workflows/deploy.yml)\n\nThis application demonstrates how to setup a simple ChatBot with [Azure OpenAI](https://azure.microsoft.com/en-us/products/ai-services/openai-service), [llama-index](https://docs.llamaindex.ai/en/stable/), and [Streamlit](https://streamlit.io).\n\nThe final app is also deployed on both [Streamlit](https://chatbot-app-demo.streamlit.app) and [Hugging Face Spaces](https://huggingface.co/spaces/andreped/chatbot-streamlit-demo), as well as embedded into a [personal website](https://andreped.github.io/demos/2023/chatbot/).\n\nThe ChatBot enables you to talk with your own data - in this case, to learn about [André's research](https://scholar.google.com/citations?user=U20zUHQAAAAJ).\n\n## [Continuous integration](https://github.com/andreped/chatbot-streamlit-demo#continuous-integration)\n\n| Build Type | Status |\n| - | - |\n| **HF Deploy** | [![Deploy](https://github.com/andreped/chatbot-streamlit-demo/workflows/Deploy/badge.svg)](https://github.com/andreped/chatbot-streamlit-demo/actions) |\n| **File size check** | [![Filesize](https://github.com/andreped/chatbot-streamlit-demo/workflows/Check%20file%20size/badge.svg)](https://github.com/andreped/chatbot-streamlit-demo/actions) |\n| **Linting** | [![Filesize](https://github.com/andreped/chatbot-streamlit-demo/workflows/Check%20formatting/badge.svg)](https://github.com/andreped/chatbot-streamlit-demo/actions) |\n\n## [Demo](https://github.com/andreped/chatbot-streamlit-demo#demo)\n\nWe have enabled live hosting through both Streamlit and Hugging Face spaces. Click on the respective badges below to access each:\n\n#### [Hugging Face Spaces](https://github.com/andreped/chatbot-streamlit-demo#hugging-face-spaces) \u003ca target=\"_blank\" href=\"https://huggingface.co/spaces/andreped/chatbot-streamlit-demo\"\u003e\u003cimg src=\"https://img.shields.io/badge/🤗%20Hugging%20Face-Spaces-yellow.svg\"\u003e\u003c/a\u003e\n\n![Screenshot 2023-10-24 at 13 44 15](https://github.com/andreped/chatbot-streamlit-demo/assets/29090665/610ed8f1-39e9-4842-ab5b-93847678812c)\n\n#### [Streamlit](https://github.com/andreped/chatbot-streamlit-demo#Streamlit) [![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://chatbot-app-demo.streamlit.app)\n\n![Screenshot 2023-10-24 at 13 03 11](https://github.com/andreped/chatbot-streamlit-demo/assets/29090665/ba82787a-71fc-4d6c-9ae0-c11417df2841)\n\n## [Development](https://github.com/andreped/chatbot-streamlit-demo#Development)\n\nIf you wish to play around with the app locally, it requires that you provide OpenAI API key and all that fun stuff yourself.\n\nThese instructions were tested on a MacBook Pro with M2 chip running macOS 13.6 Ventura with `Python 3.9.6`.\n\n1. Setup virtual environment and install dependencies:\n```\npython3 -m venv venv/\nsource venv/bin/activate\npip install -r requirements.txt\n```\n\n2. Create the secrets file at `.streamlit/secrets.toml` and fill in the relevant info:\n```\nOPENAI_API_KEY = \"\u003cinsert OpenAI API key\u003e\"\nCHATGPT_MODEL = \"\u003cinsert model name\u003e\"\nOPENAI_API_BASE = \"https://\u003cinsert-openai-service-name\u003e.openai.azure.com\"\nOPENAI_API_VERSION = \"\u003cinsert version\u003e\"\nENGINE = \"\u003cinsert deployment model name\u003e\"\nENGINE_EMBEDDING = \"\u003cinsert deployment embedding name\u003e\"\n```\n\n3. Launch the app:\n```\nstreamlit run app.py\n```\n\nA Streamlit browser window should automatically open. If not, the app can be accessed at `http://localhost:8501`\n\n## [Disclaimer](https://github.com/andreped/chatbot-streamlit-demo#disclaimer)\n\nOnly public PDFs were used for this demonstration. Some of André's research is sadly behind a paywall and thus we have chosen not to include the PDFs in this demo to avoid copyright issues.\n\n## [Acknowledgements](https://github.com/andreped/chatbot-streamlit-demo#acknowledgements)\n\nI wish to acknowledge [Sopra Steria](https://www.soprasteria.com) for giving me the chance to develop this web application on internal time. I also want to praise [OpenAI](https://openai.com), [Microsoft Azure](https://azure.microsoft.com/en-us), and the developers of [llama-index](https://www.llamaindex.ai), [Streamlit](https://streamlit.io), and [HuggingFace](https://huggingface.co) for making such great tools to develop applications in.\n\n## [License](https://github.com/andreped/chatbot-streamlit-demo#license)\n\nThe code in this repository is released under [MIT license](https://github.com/andreped/chatbot-streamlit-demo/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreped%2Fchatbot-streamlit-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreped%2Fchatbot-streamlit-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreped%2Fchatbot-streamlit-demo/lists"}