From 27fe4f92b4f71109bb30f8a2f3be076214a5d4e1 Mon Sep 17 00:00:00 2001 From: Nastiiasaenko <54864655+Nastiiasaenko@users.noreply.github.com> Date: Tue, 12 Dec 2023 21:10:51 -0500 Subject: [PATCH] Update README.md --- README.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b5575e0..0b000e1 100644 --- a/README.md +++ b/README.md @@ -17,20 +17,21 @@ The project is a conversational AI chatbot built with FastAPI. The chatbot uses 1. **Microservices**: Our application is structured as a microservice using FastAPI, which is suitable for building scalable and efficient microservices. Logging is made using uvicorn and the project is containerized using the Distroless Docker image. 2. **Load Test**: In our FastAPI-based application, load testing with Locust revealed an average throughput of 3000 requests per second, below our 10,000 RPS target. This shortfall is influenced by factors such as suboptimal asynchronous handling, resource-intensive PDF processing with PyPDF2, and external API calls. -3. **Data Engineering**: The code achieves data engineering through text extraction, segmentation, vectorization, and SQLite database management. +![Load Testing](load_test.png) +4. **Data Engineering**: The code achieves data engineering through text extraction, segmentation, vectorization, and SQLite database management. We also used Python Pandas library and SQLite to store interactions with our Chatbot (questions and corresponding responses). We used SQLite to provide an interactive SQL-based way to search the history of requests for our bot in the following format: ![Screenshot 2023-12-12 at 6 59 11 PM](https://github.com/nogibjj/ids706-final-project-bodyspeakbuddy/assets/78721466/19b841d3-212f-44e4-a29b-74964ee18bbb) -5. **Infrastructure as Code (IaC)**: We employed Microsoft Azure Terraform for setting up and managing our infrastructure. -6. **Continuous Integration and Continuous Delivery (CI/CD)**: We implemented a CI/CD pipeline using Github Actions. -7. **README.md**: Our repository includes a comprehensive README file that details the project's purpose, dependencies, setup instructions, limitations, potential improvements, and the role of AI Pair Programming tools (GitHub Copilot and a custom tool) in the development process. -8. **Architectural Diagram**: the Architectural Diagram is included in the README file. -9. **GitHub Configurations**: Our GitHub repo incorporates GitHub Actions for automation and a .devcontainer setup for GitHub Codespaces, ensuring a consistent and reproducible local development environment. Key actions include build badges. -10. **Teamwork Reflection**: Each member teamwork reflections are included in the repository /Reflections folder. -11. **Quantitative Assessment**: We have conducted and included a comprehensive quantative quality assesment. -12. **Demo Video**: Demo Video Link is provided in the repo. +4. **Infrastructure as Code (IaC)**: We employed Microsoft Azure Terraform for setting up and managing our infrastructure. +5. **Continuous Integration and Continuous Delivery (CI/CD)**: We implemented a CI/CD pipeline using Github Actions. +6. **README.md**: Our repository includes a comprehensive README file that details the project's purpose, dependencies, setup instructions, limitations, potential improvements, and the role of AI Pair Programming tools (GitHub Copilot and a custom tool) in the development process. +7. **Architectural Diagram**: the Architectural Diagram is included in the README file. +8. **GitHub Configurations**: Our GitHub repo incorporates GitHub Actions for automation and a .devcontainer setup for GitHub Codespaces, ensuring a consistent and reproducible local development environment. Key actions include build badges. +9. **Teamwork Reflection**: Each member teamwork reflections are included in the repository /Reflections folder. +10. **Quantitative Assessment**: We have conducted and included a comprehensive quantative quality assesment. +11. **Demo Video**: Demo Video Link is provided in the repo. ## Reusability