-
Notifications
You must be signed in to change notification settings - Fork 666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor Neo API Architecture and Enhance Assistant Management ( in development ) #813
Conversation
…o API - Updated the message handling logic to improve error reporting and content management, ensuring more robust communication with clients. - Introduced a new ReadBase64 method in both Local and OpenAI assistant implementations to read files and return their base64 encoded content, enhancing file handling capabilities. - Removed the deprecated JSON message handling code, streamlining the message processing structure. - Refactored message struct to include new fields and methods for better data management and response handling. - Improved the chat functionality to handle attachments and user messages more effectively, ensuring a smoother user experience.
…ure in Neo API - Replaced the conversation handling logic with a new store-based approach, enhancing data management and retrieval capabilities. - Updated all relevant methods to utilize the new store interface, including GetChats, GetChat, GetHistory, and SaveAssistant, ensuring consistent functionality across the API. - Removed deprecated conversation-related files and structures, streamlining the codebase and improving maintainability. - Enhanced the AssistantFilter and AssistantResponse types to support the new store architecture, improving filtering and pagination capabilities. - Updated tests to cover the new store-based methods and ensure robust functionality across different storage backends.
- Removed Weaviate store implementation, streamlining the codebase and focusing on Mongo and Redis backends. - Introduced GetAssistant method in both Mongo and Redis stores to retrieve a single assistant by ID, improving data access capabilities. - Updated LoadStore function to utilize the new storage retrieval logic, enhancing the assistant loading process. - Enhanced the Assistant struct to include a Script field for better management of assistant scripts. - Improved tests to cover the new GetAssistant functionality, ensuring robust error handling and data retrieval across different scenarios.
- Added a new endpoint to retrieve all assistant tags, improving data accessibility for clients. - Updated the assistant list handling to support filtering by built-in status and assistant ID, enhancing the filtering capabilities. - Introduced a method to load built-in assistants, streamlining the assistant initialization process. - Enhanced the Assistant struct with new fields for path, built-in status, and sorting, improving data organization. - Implemented validation and cloning methods for the Assistant struct, ensuring data integrity and ease of use. - Updated tests to cover new functionalities, including validation, cloning, and tag retrieval, ensuring robust functionality across the assistant management operations.
- Added support for initializing assistant tags with a default value of "Built-in" if none are provided, improving data consistency. - Implemented loading of tags, options, and description from the input data map, enhancing the flexibility of assistant configuration. - Updated the LoadBuiltIn and loadMap functions to accommodate new fields, streamlining the assistant loading process.
- Simplified the assistant loading process by removing the asynchronous query for the assistant list and replacing it with a direct call to retrieve the default assistant. - Introduced a new method, defaultAssistant, to streamline the retrieval of the default assistant based on the current configuration. - Enhanced the LoadStore function to support loading assistants from a specified path, improving flexibility in assistant management. - Updated the overall structure for better readability and maintainability, ensuring a more efficient assistant initialization process.
- Bump Go version from 1.20 to 1.22.2 for improved performance and features. - Update indirect dependencies to their latest versions, including: - github.com/cespare/xxhash/v2 from v2.2.0 to v2.3.0 - github.com/golang/protobuf from v1.5.3 to v1.5.4 - github.com/klauspost/compress from v1.17.3 to v1.17.4 - golang.org/x/oauth2 from v0.14.0 to v0.23.0 - google.golang.org/grpc from v1.60.1 to v1.69.2 - google.golang.org/protobuf from v1.34.2 to v1.36.1 - Add new dependencies for OpenTelemetry packages, enhancing observability capabilities.
- Bump Go version from 1.22.2 to 1.23 for improved performance. - Update dependencies in go.mod and go.sum, including: - github.com/PuerkitoBio/goquery to v1.10.1 - github.com/dchest/captcha to v1.1.0 - github.com/evanw/esbuild to v0.24.2 - github.com/fatih/color to v1.18.0 - github.com/fsnotify/fsnotify to v1.8.0 - github.com/spf13/cobra to v1.8.1 - github.com/stretchr/testify to v1.10.0 - github.com/xuri/excelize/v2 to v2.9.0 - Introduce RAG (Retrieval-Augmented Generation) initialization in the Neo API, enhancing assistant capabilities. - Refactor workflows to use Go 1.23 for testing and CI processes, ensuring compatibility with the latest features.
Thank you for the PR! The db: MySQL5.7 redis: 5 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
Thank you for the PR! The db: MySQL5.7 redis: 6 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
Thank you for the PR! The db: MySQL5.7 redis: 4 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
Thank you for the PR! The db: MySQL8.0 redis: 4 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
Thank you for the PR! The db: SQLite3 redis: 6 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
Thank you for the PR! The db: MySQL8.0 redis: 6 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
Thank you for the PR! The db: SQLite3 redis: 5 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
Thank you for the PR! The db: SQLite3 redis: 4 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
Thank you for the PR! The db: MySQL8.0 redis: 5 mongo: 6.0 test workflow is running, the results of the run will be commented later. |
✨DONE✨ db: SQLite3 redis: 6 mongo: 6.0 passed. |
✨DONE✨ db: SQLite3 redis: 4 mongo: 6.0 passed. |
✨DONE✨ db: SQLite3 redis: 5 mongo: 6.0 passed. |
✨DONE✨ db: MySQL8.0 redis: 4 mongo: 6.0 passed. |
✨DONE✨ db: MySQL8.0 redis: 5 mongo: 6.0 passed. |
✨DONE✨ db: MySQL8.0 redis: 6 mongo: 6.0 passed. |
✨DONE✨ db: MySQL5.7 redis: 5 mongo: 6.0 passed. |
✨DONE✨ db: MySQL5.7 redis: 6 mongo: 6.0 passed. |
✨DONE✨ db: MySQL5.7 redis: 4 mongo: 6.0 passed. |
Changes
Refactored message handling system for improved efficiency
Migrated to store-based architecture for better state management
Enhanced file reading capabilities
Improved assistant management with new tags and options support
Updated Go dependencies and version requirements