AI-Notebook-Tutor / CHANGELOG.md
JulsdL's picture
Updated changelog
dfd3d16
|
raw
history blame
4.8 kB

version 0.3.1 [2024-05-16]

Added

  • Dockerized the AI Notebook Tutor application for easier deployment and scalability.
  • Enhanced documentation and comments across various Python modules (agents.py, prompt_templates.py, tools.py, chainlit_frontend.py, states.py, graph.py) for better code readability and maintenance.
  • Added new Python dependencies (langchain-openai==0.0.5) to support the integration with OpenAI's GPT models.

Modified

  • Updated the project's README.md to include new sections on usage and acknowledgements, reflecting the shift from Chainlit to AI Notebook Tutor.
  • Refined the project structure and codebase, including significant updates to the frontend logic in chainlit_frontend.py for improved user interaction and feedback.
  • Modified the Dockerfile to set up a Python environment tailored for the AI Notebook Tutor, ensuring a consistent runtime environment.

version 0.3.0 [2024-05-16]

Added

  • Implemented the Flashcards feature, allowing users to generate and download flashcards based on Jupyter notebook content.
  • Introduced new agents (QAAgent, QuizAgent, FlashcardsAgent) for handling specific tasks like question answering, quiz generation, and flashcard creation.
  • Added a new chainlit_frontend.py module for Chainlit integration, enabling interactive chat functionality with users.
  • Developed a comprehensive state management system (states.py) to track conversation states and user interactions.
  • Created prompt_templates.py and graph.py modules to define prompt templates and the conversation flow graph, respectively.
  • Established a new tool (tools.py) for flashcard creation, supporting CSV format suitable for Anki import.

Modified

  • Updated the README.md to reflect the new project name (AI-Notebook-Tutor) and provided updated instructions for running the application.
  • Enhanced the .gitignore file to include directories for flashcards and Chainlit configurations, improving project organization.

version 0.2.0 [2024-05-14]

Added

  • Introduced a comprehensive quiz functionality with LangGraph integration, enabling dynamic quiz generation and question answering based on Jupyter notebook content.
  • Added new Python dependencies (langgraph==0.0.48) to support the quiz functionality and improved interaction flow.
  • Implemented a new graph.py module to define the quiz and QA agents, along with the supervisor logic for managing conversation flow between agents.
  • Enhanced the chainlit_frontend.py to integrate the LangGraph chain, facilitating real-time interaction with the quiz and QA functionality.
  • Updated the document_processing.py and retrieval.py modules to support the new quiz functionality, including adjustments to the OpenAI model configuration and retrieval logic.

Modified

  • Updated the OpenAI model used in document_processing.py from "gpt-4-turbo" to "gpt-4o" to improve the quality of document processing and retrieval.
  • Refined the retrieval logic in retrieval.py to include a new method for initializing the RAG QA chain, enhancing the system's ability to provide accurate and contextually relevant answers.

version 0.1.1 [2024-05-13]

Modified

  • Modularization: The code has been broken down into several modules, each with a specific responsibility. This makes the code easier to understand, test, and maintain. For example, the DocumentManager class in document_processing.py is responsible for managing documents and retrieving information from them. Similarly, the RetrievalManager class in retrieval.py is responsible for processing questions using a retrieval-augmented QA chain and returning the response.

  • Separation of Concerns: The frontend and backend logic have been separated into different files (chainlit_frontend.py and document_processing.py, retrieval.py, etc.), which makes the codebase easier to navigate and maintain.

  • Encapsulation: The code now makes use of classes and methods to encapsulate related functionality. For instance, the DocumentManager class encapsulates the functionality related to document management, and the RetrievalManager class encapsulates the functionality related to question processing and response retrieval.

version 0.1.0 [2024-05-13]

Added

  • Introduced a RAG application for QA in a Jupyter Notebook, enhancing the project's capabilities for document processing and query answering.
  • Implemented Chainlit's chainlit Python package to support the RAG application's integration with the Chainlit platform.
  • Added a new app.py script, establishing the core functionality for the RAG application, including document loading, retrieval QA chain, query processing, and user interaction.
  • Updated project configuration and dependencies to support the new RAG application features.