- 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
- 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.
refactor: Rename step name in message handler and remove unused config
- 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.
Add blog data update functionality and vector store management
- 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.