- Added CREATE_VECTOR_DB configuration option to config.py for vector database creation control.
- Updated RAG prompt template in prompts.py to reflect a more specialized assistant role, including detailed response guidelines and context management.
- Refactored rag.py to utilize a new chat_llm from chains.py for improved response handling.
- Introduced a new datetime tool in tools.py to provide current date and time information.
- Updated dependencies in pyproject.toml to include grandalf for enhanced functionality.
- Created chains.py to manage query tone checking and rude query responses using dedicated chains.
- Added a new Jupyter notebook (00_playground.ipynb) for interactive testing and demonstration of the assistant's features.
Add vector database creation configuration and update related scripts
- Update Dockerfile to include additional application files.
- Revise README.md for improved clarity and detail on application usage and technology stack.
- Expand chainlit.md with usage instructions and examples.
- Implement main.py as the command-line entry point for running the application and updating the vector database.
- Create .env.example for environment variable configuration.
- Add comprehensive bug report and feature request templates.
- Establish Python CI workflow for automated testing and linting.
- Develop CONTRIBUTING.md to guide new contributors.
- Include LICENSE and SECURITY.md for legal and security guidelines.
Remove outdated blog statistics JSON files to declutter the stats directory
Replace DESIGN.md with REPORT.md to consolidate project documentation and enhance clarity on problem definition, audience analysis, and proposed solutions.
- Implemented a RAG prompt template for generating answers based on provided context.
- Created a call LLM prompt template for concise answers with context.
- Added a query tone check prompt template to evaluate the tone of input queries.
Add test dataset for evaluating LLM applications with Ragas framework
- Introduced a new CSV file `testset_2.csv` containing user inputs, reference contexts, and synthesized responses.
- Included various queries related to the integration and evaluation of Large Language Models (LLMs) in modern applications, particularly focusing on the Ragas evaluation framework.
- Enhanced the dataset with examples covering topics such as healthcare applications, synthetic data generation, and observability best practices for AI systems.
Add Jupyter Notebook for Fine Tuning Dataset with Question Generation
- Created a new notebook `07_Fine_Tuning_Dataset.ipynb` for fine-tuning tasks.
- Implemented code to load blog posts, update metadata, and split documents.
- Integrated LangChain's ChatOpenAI for generating questions based on document context.
- Added functions for extracting questions from the generated responses.
- Included asynchronous processing for creating questions from multiple documents.
- Handled potential kernel crashes during execution.
Refactor code structure for improved readability and maintainability
- Introduced "Part 1: Introduction to Ragas" covering the evaluation framework for LLM applications.
- Added "Part 4: Generating Test Data with Ragas" detailing synthetic data generation techniques.
- Included "Part 6: Integrations and Observability with Ragas" discussing integration with various frameworks and observability platforms.
- Published "Metric-Driven Development: Make Smarter Decisions, Faster" emphasizing the importance of metrics in project management.
- Announced the availability of an RSS feed for the blog to enhance content accessibility.
- Added a blog post titled "A C# Programmer's Perspective on LangChain Expression Language" sharing insights on transitioning from C# to LCEL.
- Removed the LangChainRAG model and related components to streamline the architecture.
- Introduced a new agent building mechanism using `build_agent` function.
- Updated the configuration to include a maximum search results parameter.
- Replaced the RAG prompt template with a more concise version.
- Implemented a new RSS feed tool for fetching articles from specified URLs.
- Consolidated search tools into a single function for easier management.
- Enhanced error handling and logging throughout the agent's processing functions.
- Updated dependencies in `pyproject.toml` to include necessary libraries for new features.
refactor: Update URLs in RSS feed tool example for relevance
- Introduced a new Jupyter notebook `update_blog_data.ipynb` for updating blog data and vector store with new posts.
- Created a Python script `pipeline.py` to handle the blog data update process, including command-line argument parsing and statistics saving.
- Added a shell script `build-vector-db.sh` to facilitate the execution of the pipeline script.
- Generated multiple JSON files in the `stats` directory to track blog statistics over time, including total documents, character counts, and length metrics.
- Removed the Jupyter notebook `utils_data_loading.ipynb` and migrated utility functions to `blog_utils.py`.
- Created a new configuration file `config.py` to manage environment variables and default settings.
- Implemented a script `update_blog_data.py` for updating the blog data vector store with command-line options.
- Added a JSON file `blog_stats_20250510_161540.json` to store blog statistics.
- Enhanced document processing functions for better modularity and error handling.
feat: Enhance blog data processing with utility functions
- Added utility functions for loading and processing blog posts in `utils_data_loading.ipynb`.
- Implemented a new notebook `update_blog_data.ipynb` for updating blog data and vector store.
- Updated `app.py` to utilize utility functions for loading vector stores, with fallback to direct initialization.
- Improved error handling and logging during vector store loading.
- Added new dependencies in `pyproject.toml` for notebook processing and utilities.
- Documented the new utilities and usage instructions in `BLOG_DATA_UTILS.md`.
Add initial implementation of chat application with environment variable support and vector storage integration
Remove README.md file containing detailed project information for the AI-driven blog chat component, including problem statement, target audience, proposed solution, technology stack, and agentic reasoning.
Remove README.md file detailing the AI-driven blog chat component project, including problem statement, target audience, proposed solution, technology stack, and agentic reasoning. This file was previously part of the initial commit.