Spaces:
Sleeping
Sleeping
Commit History
-
feat(app): Update introduction message to include version and source information
- Modified the introduction message to display the current version of Eva and added a note about the demo app's creation using Adobe Research PsTuts data. - Updated the version number in `version.py` from 0.9.9 to 1.0.0.66ef1e0 -
Version test
66b465a -
feat: Update GitHub Actions workflow to include permissions for tagging
- Added permissions for write access to contents in the GitHub Actions workflow, enabling automatic tagging functionality on version updates.47431d6 -
feat: Add versioning and GitHub Actions workflow for automatic tagging
- Introduced a new `version.py` file to manage the project version. - Updated `README.md` to include a badge displaying the latest version. - Created a GitHub Actions workflow to automatically tag the repository on changes to `version.py`, enhancing version control and deployment processes.4f10d85 -
feat(app): Optimize message handling for video and URL references
- Enhanced the `message_handler` function to format video references synchronously and URL references asynchronously, improving concurrency and reducing perceived latency for users. - Streamlined the process of sending messages by collecting video reference messages early and scheduling URL reference tasks for background processing.d4304e7 -
feat(chainlit): Update EVA_SEARCH_PERMISSION to use Select widget in chat settings UI
- Replaced the previous dropdown settings schema with a Select widget for user permissions in Chainlit. - Enhanced the introduction message to clarify the use of Adobe Help and user permission options. - Added a new sample prompt for user interaction regarding the capital of France.3235788 -
feat(chainlit): Allow EVA_SEARCH_PERMISSION to be set via Chainlit chat settings UI
db323de -
feat: Add interrupt handling and YesNoDecision class for user queries
- Implemented `handle_interrupt` function to manage user approval for interrupted searches in `app.py`. - Introduced `YesNoDecision` class with a method to parse string inputs into decision instances in `nodes.py`. - Updated the `search_help` function to utilize the new decision structure for user permissions.b22a9a8 -
chore: Update GitHub Actions workflow to trigger on tags instead of main branch
- Modified the workflow trigger in `main.yml` to activate on tag pushes, enhancing deployment flexibility.457c025 -
feat: Implement sample prompts and enhance introduction message for Eva
- Added `sample_prompt_send` function to simulate user messages and send them to the LLM. - Introduced a dictionary of sample prompts for user interaction. - Updated the introduction message to include buttons for sample prompts, enhancing user engagement.212fd16
-
feat: Add TODO for buttons with pregenerated queries in ChainlitCallbackHandler
77fa997 -
typo: fix
cf4f6d6 -
doc: Update README to reflect HuggingFace integration and modify workflow for dynamic SPACE_NAME
23f7557 -
Create main.yml
Unverified signature8d8a864 -
feat: Add introduction message for Eva and enhance loading state management
- Introduced a friendly introduction message for the AI assistant, Eva, in `app.py`. - Added a `LoadingState` enum to manage loading states in `datastore.py`. - Improved logging for collection creation and loading processes. - Updated the message handler function name for clarity.e6f05bf -
tidy: ruff autofixes
86d2982 -
test
c14216b -
chore: Update TODO extraction script to use grep and clean up imports
- Replaced the flake8-todos based extraction with a grep-based approach in `generate_todo_md.py`. - Updated the pre-commit hook to reflect the new script usage. - Added TODO comments in `app.py` for future cleanup. - Removed the old `scripts/generate_todo_md.py` file as it is no longer needed.f117fd9 -
code: switch TODO.md extraction to ruff, update script and output
14bfdc4 -
test: trigger pre-commit hook for TODO.md automation
34948cf -
doc: document TODO.md workflow and pre-commit hook in DEVELOPER.md
bbdbf24 -
chore: add manual pre-commit hook for TODO.md automation
ed8111d -
code: add generate_todo_md.py for TODO.md extraction
dbf4096 -
dev: add flake8-todos to dev dependencies
90a2a24 -
Chainlit.md updated with README.md info
354fd7d
-
fix: Update link text in format_url_reference for clarity
- Changed link text from "click here" to "go to website" in the `format_url_reference` function to improve user understanding of the action. - Ensured consistency in messaging by updating both the sidebar and main message content.c97ecaf -
refactor: Enhance routing logic in tutorial state management
- Updated the `next` variable in `TutorialState` to clarify its purpose as a routing variable for the next node. - Refactored the `search_help` and `route_is_complete` functions to return a dictionary instead of a Command object, improving consistency in state updates. - Enhanced the decision-making logic in `search_help` to include a broader range of affirmative responses. - Added conditional edges in the graph builder to route based on the `next` state, improving workflow orchestration.b30f052 -
refactor: Update search_help function and improve logging
- Simplified the signature of the `search_help` function by removing unnecessary parameters. - Enhanced logging throughout the `search_help` function to provide better insights into its execution flow. - Updated the `create_transcript_rag_chain` function to accept only `Configuration` type, improving type safety. - Refactored datastore loading in the `graph` function to utilize async for better performance.e86ca95 -
updated configuration to pydantic
4df9c16 -
refactor: Clean up unused imports and commented-out code in app.py
- Removed unnecessary imports including `HumanMessage`, `requests`, `tiktoken`, and `re` to streamline the code. - Deleted commented-out `process_response` function to enhance code readability and maintainability. - Updated the `main` function to include comments for clarity on sending unique video and URL references.8a8b560 -
feat: Enhance chat session handling and documentation updates
- Updated the `on_chat_start` function to improve clarity on its role in initializing a new chat session, including detailed descriptions of its operations. - Added docstrings to `format_video_reference`, `format_url_reference`, and `ChainlitCallbackHandler` methods to clarify their functionality and parameters. - Improved the `main` function's docstring to better describe its purpose and the handling of incoming messages. - Introduced a new `end` function docstring to document the session end handling. - Added a docstring for the SIGINT handler to clarify its purpose.c973941 -
refactor: Update chunk_transcripts function to accept embedding model as a parameter
- Removed default value for `semantic_chunker_embedding_model` in `chunk_transcripts` function, allowing for more flexible model selection during function calls. - This change enhances the function's usability by requiring the caller to specify the embedding model explicitly.6cfc01f -
Streaming output simulated
d909928 -
Displays only final message
217e521 -
fix: Update response processing to handle attachments and improve content management
- Changed variable name from `text_w_references` to `answer_text` for clarity. - Implemented logic to set `attachments` based on the content of `answer_text`, ensuring proper handling when the answer indicates uncertainty. - Preserved original context metadata while updating the message structure for better clarity and functionality.3374983 -
feat: Implement active session tracking and enhance URL reference handling
- Introduced an `active_session` dictionary to track the current session ID and timestamp, improving session management. - Updated `on_chat_start` to deactivate previous sessions and notify users of the active session. - Refactored `format_url_reference` to use `httpx` for asynchronous HTTP requests, enhancing performance and error handling. - Modified `main` function to check for active sessions before processing messages, ensuring users are informed of inactive sessions. - Improved message formatting for URL references with clickable links and enhanced logging for screenshot fetching.38f22f7 -
feat: Introduce reload flag in Datastore for initialization control
- Added a `reload` boolean attribute to the `Datastore` class to manage initialization behavior based on the configuration. - Updated logic to set `reload` during collection creation and when checking for existing documents, enhancing control over the loading process. - Improved logging and messaging for better clarity during initialization.8a43388 -
feat: Add eva_reinitialize configuration option and update Datastore config type
- Introduced `eva_reinitialize` boolean configuration option in the `Configuration` class to control reinitialization behavior. - Updated `Datastore` class to ensure `config` is of type `Configuration`, enhancing type safety and clarity. - Added logging warning to skip initialization if documents already exist and reinitialization is not requested.840bf30 -
DatastoreManager -> Datastore
d2d321c -
chore: Remove app_simple_rag.py file
- Deleted the `app_simple_rag.py` file as part of the codebase cleanup and restructuring efforts. - This removal helps streamline the application and eliminate unused code.26a05d6 -
chore: Update .gitignore and refactor DatastoreManager for Qdrant integration
- Added 'qdrant/' to .gitignore to prevent tracking of Qdrant-related files. - Refactored `DatastoreManager` to utilize `QdrantClientSingleton` for thread-safe Qdrant client management. - Enhanced collection creation logic to handle existing collections gracefully, improving robustness and logging.b4c3986 -
feat: Enhance application signal handling and update dependencies
- Added signal handling for graceful shutdown on SIGINT (Ctrl+C) in `app.py`. - Introduced `db_persist` configuration option in the `Configuration` class to manage database persistence. - Updated `DatastoreManager` to utilize `pathvalidate` for sanitizing file paths and filenames. - Included `pathvalidate` as a new dependency in `pyproject.toml` and updated `uv.lock` accordingly.be858e2
-
feat: Add robust HTML title extraction functionality
- Introduced `get_title_streaming(url)` function to fetch and extract page titles from URLs using common HTML conventions. - Documented the function in DEVELOPER.md, including usage examples and requirements for BeautifulSoup. - Enhanced the clarity and engagement of the documentation with lighthearted commentary.6a9e2f3 -
feat: Enhance prompt instructions for readability and engagement
- Updated prompt instructions to encourage an easily-readable style aimed at a high school level. - Added emphasis on key points using emojis to enhance user engagement.110545b -
feat: Enhance URL reference handling and add unique filtering
- Updated `format_url_reference` to include page titles and improved message formatting with clickable links. - Introduced `get_unique` function to filter duplicate video and URL references before processing. - Added `get_title_streaming` function to fetch and extract titles from URLs using BeautifulSoup. - Updated dependencies in `pyproject.toml` and `uv.lock` to include `beautifulsoup4` for HTML parsing.7011999 -
Removed small md file
083314a -
doc: reorganize and update DEVELOPER.md for codebase accuracy, module coverage, and theming details
9cf293e -
doc: Add DEVELOPER.md for improved onboarding and documentation
- Introduced a new DEVELOPER.md file to guide developers through the codebase of the RAG application. - Documented the `get_chat_api` function, highlighting its improved robustness in selecting chat models based on input strings. - Enhanced clarity on core components and their functionalities to facilitate easier navigation and understanding of the codebase.6c6c541 -
feat: Refactor application structure and enhance message handling
- Removed unused imports and redundant code to streamline the application. - Updated the `on_chat_start` function to utilize a new configuration and datastore management approach. - Introduced a `ChainlitCallbackHandler` for improved handling of chain execution steps and error management. - Added functions for formatting video and URL references to enhance message output. - Adjusted logging levels for better visibility during execution.afb75fe -
feat: Refactor API selection in datastore and nodes for improved clarity
- Replaced `EmbeddingsAPISelector` and `ChatAPISelector` with `get_embeddings_api` and `get_chat_api` functions for better readability and maintainability. - Introduced a new `FinalAnswer` message type for handling final streaming responses. - Updated `QueryMessage` class to streamline message creation from base messages. - Enhanced logging for API selection to aid in debugging and tracking API usage.42580e5