Commit graph

2056 commits

Author SHA1 Message Date
Max
86d4ea71cc Refactor Neo initialization methods to use global Neo instance
- Converted initialization methods from receiver methods to package-level functions
- Simplified method calls by directly using the global Neo instance
- Removed redundant method receiver references in initialization logic
- Improved code readability and reduced unnecessary method complexity

This change streamlines the Neo initialization process and makes the code more straightforward and maintainable.
2025-01-26 16:42:31 +08:00
Max
d8b070338f Enhance tag parsing flexibility in Assistant loading
- Improved tag handling in loadMap to support multiple input types
- Added support for parsing tags from []interface{}, string, and other JSON-compatible formats
- Utilized jsoniter for robust type conversion and marshaling
- Increased robustness of tag loading process for diverse input scenarios

This change enhances the flexibility of tag parsing during Assistant initialization, allowing more versatile data input methods.
2025-01-26 15:55:10 +08:00
Max
2a5ccb0e2d Add latest chat retrieval endpoint to Neo API
- Implemented a new `/chats/latest` endpoint to fetch the most recent chat or generate a placeholder
- Added `handleChatLatest` method in the DSL to support retrieving the latest chat for a given session
- Introduced `GetPlaceholder()` method in the Assistant interface to support placeholder generation
- Enhanced API flexibility by allowing optional assistant ID specification for placeholder retrieval

This change improves the chat retrieval capabilities of the Neo API, providing a convenient way to access the most recent chat or generate a starting point for new conversations.
2025-01-25 15:42:51 +08:00
Max
f75e5a5fbe Add Placeholder support for Assistants in Neo API
- Introduced a new Placeholder struct to provide additional metadata for assistants
- Updated Assistant struct to include an optional Placeholder field
- Modified loading and mapping methods to handle Placeholder data
- Extended database schema and test cases to support Placeholder functionality

This enhancement provides a flexible way to add descriptive metadata to assistants, improving their discoverability and configuration.
2025-01-25 14:03:45 +08:00
Max
b679771232 Update message handling to ignore 'action' messages in Neo API assistant
- Modified the message handling logic to include 'action' messages in the ignore list alongside 'loading' and 'error' messages, improving the clarity of message processing.
- This change enhances the robustness of the Neo API assistant by ensuring that irrelevant message types are not processed, streamlining the overall message handling workflow.
2025-01-23 18:15:26 +08:00
Max
1f9810c26c Implement assistant call functionality in Neo API
- Added a new endpoint for executing assistant calls via POST request, enhancing the API's capabilities.
- Introduced the handleAssistantCall method to process incoming requests, validate parameters, and execute the assistant's script.
- Updated the Assistant interface to include the Call method, allowing for dynamic method invocation based on the provided payload.
- Enhanced error handling for missing parameters and invalid requests, improving the robustness of the assistant's API interactions.

These changes significantly improve the Neo API assistant's functionality, enabling more interactive and dynamic assistant capabilities.
2025-01-23 16:38:13 +08:00
Max
979d27b741 Enhance chat retrieval and update functionality in Xun
- Added 'updated_at' field to the chat selection query to include the last modified timestamp in chat responses.
- Updated the ordering of chat results to prioritize 'updated_at' over 'created_at', improving the relevance of displayed chats.
- Modified the handling of chat creation timestamps to fall back on 'created_at' if 'updated_at' is not available, ensuring consistent date representation.
- Implemented an update mechanism for the 'updated_at' field when saving chat history, enhancing data integrity and tracking.

These changes improve the chat management capabilities of the Neo API assistant, ensuring more accurate and relevant chat data retrieval.
2025-01-22 16:52:37 +08:00
Max
1404c549a7 Refactor Neo API assistant message handling and content processing
- Enhanced message generation by introducing NewHistory and NewContent methods for improved handling of message content and history.
- Updated the withHistory method to utilize the new NewHistory method, streamlining the addition of historical messages.
- Improved the call method to conditionally save message history based on input parameters, enhancing flexibility in message management.
- Refactored the String method in the Message struct to better represent message types and properties, improving serialization consistency.

These changes enhance the maintainability and robustness of the Neo API assistant, paving the way for improved message handling and content processing.
2025-01-22 16:09:01 +08:00
Max
1eba627e38 Enhance Neo API assistant with improved content handling and hook integration
- Updated the Assistant methods to include a new Contents parameter in HookInit, HookStream, HookDone, and HookFail, improving message context management.
- Refactored handleChatStream to utilize the new Contents structure, enhancing the clarity and efficiency of chat interactions.
- Introduced new methods in the Contents struct for better type management and properties handling, streamlining message processing.
- Updated the Message struct to support new content types and properties, improving the overall message structure and serialization.

These changes enhance the maintainability and robustness of the Neo API assistant, paving the way for improved message handling and assistant functionalities.
2025-01-22 11:38:37 +08:00
Max
e3285923e6 Update Message struct to improve JSON serialization
- Renamed the 'is_new' field to 'new' in the Message struct for better clarity and consistency in JSON output.
- This change enhances the maintainability of the Neo API assistant by streamlining the message structure and improving data representation.
2025-01-21 15:11:09 +08:00
Max
830bbf7a0e Refactor Neo API assistant message handling and data structures
- Updated message appending methods to use AppendTo for improved clarity and consistency.
- Changed output types in HookStream and HookDone methods from string to []message.Data, enhancing data handling capabilities.
- Introduced a new Map method in the Data struct for better representation of message data.
- Streamlined JSON marshaling in the Data struct to ensure accurate data serialization.

These changes enhance the maintainability and robustness of the Neo API assistant, paving the way for improved message handling and data processing.
2025-01-19 15:19:08 +08:00
Max
5d5fa4c270 Refactor Neo API assistant message handling and content structure
- Replaced the Content struct with a new Contents struct to improve message handling and organization.
- Updated methods across the Assistant and Message structs to utilize the new Contents structure, enhancing the clarity and efficiency of message processing.
- Improved error handling by ensuring proper message appending and content management during chat streaming.
- Removed the deprecated Content struct, streamlining the codebase and reducing complexity.

These changes enhance the maintainability and robustness of the Neo API assistant, paving the way for improved message handling and assistant functionalities.
2025-01-19 12:23:23 +08:00
Max
5b30ef5fde Refactor call method in Assistant to streamline context handling
- Removed the asynchronous execution of method calls, allowing for direct invocation within the current thread.
- Simplified cancellation handling by eliminating the done channel, improving clarity and reducing complexity in the call method.
- Enhanced error handling by ensuring the script context is checked before method invocation.

These changes improve the maintainability and robustness of the Neo API assistant, paving the way for more efficient method execution and context management.
2025-01-18 15:30:08 +08:00
Max
50faf7ed77 Refactor context handling in Assistant's call method
- Removed the forced closure of the script context upon context cancellation in the call method, improving the handling of script execution and cancellation scenarios.
- This change enhances the robustness of the Neo API assistant by preventing potential issues related to premature context termination, paving the way for more reliable assistant functionalities.
2025-01-18 15:14:27 +08:00
Max
e874e8dfb4 Enhance Neo API assistant with improved error handling and message structure
- Added nil check for script context in the call method to prevent potential nil pointer dereference.
- Updated the String method in the Content struct to include additional properties (text and props) for better message representation.

These changes improve the robustness and maintainability of the Neo API, paving the way for enhanced message handling and assistant functionalities.
2025-01-18 15:01:44 +08:00
Max
228e8cf482 Enhance Neo API assistant message handling and response structure
- Added nil checks for response objects in the Execute method to prevent potential nil pointer dereferences.
- Updated the streamChat method to include assistant identification details (ID, name, avatar) in the message structure, improving context for messages.
- Introduced a new field in the Message struct to mark messages as new, enhancing message tracking capabilities.

These changes improve the robustness and maintainability of the Neo API, paving the way for better message handling and assistant functionalities.
2025-01-18 11:20:55 +08:00
Max
d43b7b8927 Enhance Neo API assistant message storage and structure
- Removed unused utility imports and streamlined the saveChatHistory method to improve message storage efficiency.
- Updated the Message struct to include new fields for assistant identification and mentions, enhancing message context and traceability.
- Modified the history table structure to accommodate new assistant-related fields and mentions, ensuring comprehensive data storage.
- Improved the SaveHistory method to process and store mentions alongside messages, providing better context for user interactions.

These changes enhance the robustness and maintainability of the Neo API, paving the way for improved message handling and assistant functionalities.
2025-01-18 10:19:17 +08:00
Max
17c18e7d56 Refactor Neo API assistant to enhance vision support and message handling
- Updated the Assistant struct to include a vision capability flag and an init hook indicator, allowing for better management of vision-enabled functionalities.
- Refactored message handling throughout the assistant methods to utilize the chatMessage package, improving consistency and type safety.
- Enhanced the handleVision method to support dynamic vision processing options, including improved handling of image descriptions and uploads.
- Streamlined the requestMessages and withAttachments methods to better accommodate vision capabilities, ensuring proper integration with image handling.
- Improved the initialize method to check for vision support based on the model, enhancing the assistant's adaptability.

These changes improve the robustness and maintainability of the Neo API, paving the way for enhanced assistant functionalities and better integration of vision capabilities.
2025-01-17 15:16:26 +08:00
Max
5e5524293f Refactor Neo API assistant message handling and function integration
- Updated streamChat method to utilize content.Type for function handling, enhancing the interaction with function calls.
- Improved the String method in Content struct to handle function arguments more robustly, including JSON unmarshalling for completed content.
- Set default message type to "text" in NewOpenAI function, ensuring consistent message processing.

These changes enhance the flexibility and maintainability of the Neo API, paving the way for improved assistant functionalities and message management.
2025-01-15 16:35:58 +08:00
Max
e7185aad10 Enhance Neo API assistant with function support and improved message handling
- Introduced a new Function type to define assistant functions, enhancing the assistant's capabilities.
- Updated the Assistant struct to include a Functions field, allowing for dynamic function management.
- Refactored the streamChat method to handle tool calls, improving interaction with functions during chat streaming.
- Enhanced message handling in the NewOpenAI function to support tool call responses, ensuring proper message parsing.
- Implemented loading and saving of functions from a JSON file, streamlining function management within the assistant.

These changes improve the robustness and maintainability of the Neo API, paving the way for more flexible and powerful assistant functionalities.
2025-01-15 11:20:55 +08:00
Max
860bfd1d0d Enhance Neo API assistant with new action execution capabilities
- Introduced a new Execute method for handling next actions in the Assistant struct, allowing for dynamic execution of various actions such as "process" and "assistant".
- Improved error handling by validating payloads and providing meaningful error messages for missing or incorrect data.
- Streamlined the flow of next actions in the Execute method, enhancing the assistant's ability to manage complex interactions and responses.
- Updated the streamChat method to utilize the new Execute method, improving the handling of next actions during chat streaming.

These changes enhance the robustness and maintainability of the Neo API, paving the way for more flexible and powerful assistant functionalities.
2025-01-14 16:13:14 +08:00
Max
627328b279 Refactor streamChat method in Neo API assistant to improve message completion handling
- Commented out the message writing logic in the streamChat method to prevent unintended output when the message is marked as done.
- This change enhances the control over the response flow, allowing for better integration with the newly introduced hook methods for managing assistant interactions.

These modifications contribute to the overall robustness and maintainability of the Neo API, aligning with recent enhancements in assistant functionalities.
2025-01-13 18:13:40 +08:00
Max
e440f1ff81 Enhance Neo API assistant response handling with new hook methods
- Introduced HookDone and HookFail methods to manage completion and failure scenarios in assistant responses, improving error handling and output customization.
- Updated streamChat method to utilize these hooks, allowing for more flexible response management based on the assistant's output and error states.
- Enhanced ResHookDone and ResHookFail structs to include next action handling, input messages, and error information, providing better control over assistant interactions.

These changes improve the robustness and maintainability of the Neo API, paving the way for enhanced assistant functionalities and message management.
2025-01-13 17:32:51 +08:00
Max
ca8993f4c8 Enhance Neo API assistant interaction with improved message handling and streaming support
- Added message handling in the Execute method to support input messages from the response.
- Updated the handleChatStream method to pass the context to the streamChat method, improving context management during chat streaming.
- Introduced the HookStream method to handle streaming responses, allowing for custom output and next action handling based on the assistant's response.
- Enhanced the ResHookStream struct to include silent output control and next action management, providing better flexibility in assistant interactions.

These changes improve the robustness and maintainability of the Neo API, paving the way for enhanced assistant functionalities and message management.
2025-01-13 17:11:34 +08:00
Max
cb2cd0c317 Refactor Neo API assistant interaction and streamline message handling
- Updated the Answer method to utilize the new Execute method, simplifying the assistant interaction process.
- Introduced a new Execute method in the Assistant struct to encapsulate the chat execution logic, enhancing clarity and maintainability.
- Refactored the HookInit method to accept input messages and options, improving the initialization process for assistants.
- Enhanced the ResHookInit struct to include next action handling and input messages, providing better control over assistant responses.
- Removed obsolete chat handling methods, streamlining the codebase and improving overall structure.

These changes improve the robustness and maintainability of the Neo API, paving the way for future enhancements in assistant functionalities and message management.
2025-01-13 16:21:13 +08:00
Max
ffb9ede647 Refactor Neo API message handling and enhance assistant interaction
- Updated the Answer method to utilize the new withHistory function, improving message retrieval and context management.
- Refactored the chat method to accept a slice of message.Message instead of a map, enhancing type safety and clarity.
- Introduced a new withHistory function to streamline the process of retrieving chat history and user messages, improving maintainability.
- Enhanced the HookInit method to accept a gin.Context, allowing for better context handling during assistant initialization.
- Updated the assistant API interface to reflect changes in message handling, ensuring consistency across the codebase.

These changes improve the robustness and maintainability of the Neo API, paving the way for future enhancements in assistant functionalities and message management.
2025-01-13 14:47:17 +08:00
Max
b01f27d70f Refactor assistant initialization and enhance context handling in Neo API
- Updated the Answer method to improve assistant initialization by directly calling the new HookInit method, streamlining the process of selecting and initializing assistants based on context.
- Introduced ResHookInit struct to encapsulate the response from the assistant initialization hook, enhancing clarity and maintainability.
- Enhanced the context package by adding a Map method to facilitate easier mapping of context data, improving the overall structure of context management.
- Refactored the assistant interface to include the new HookInit method, ensuring a consistent approach to assistant interactions.

These changes improve the robustness and maintainability of the Neo API, paving the way for future enhancements in assistant functionalities and context management.
2025-01-13 11:07:12 +08:00
Max
90967f58c1 Refactor Neo API context handling and improve context management
- Replaced the custom context creation functions with a new context package, enhancing consistency and maintainability across the API.
- Updated multiple methods in the DSL to utilize the new context package, ensuring a unified approach to context management.
- Removed the obsolete context.go file, streamlining the codebase and reducing redundancy.

These changes improve the overall structure and clarity of the Neo API, paving the way for future enhancements in context handling and assistant functionalities.
2025-01-06 14:20:39 +08:00
Max
ca78c40293 Refactor attachment handling and enhance RAG/Vision integration in tests
- Updated the TestUpload and TestUploadWithRAG functions to remove unnecessary parameters and improve clarity.
- Enhanced RAG handling by adding options for enabling/disabling RAG processing during file uploads.
- Improved test cases for RAG functionality, ensuring proper indexing behavior based on RAG settings.
- Refactored vision-related tests to include options for enabling/disabling vision processing, ensuring accurate responses based on the model capabilities.
- Streamlined the setup of test assistants to simplify the testing process.

These changes improve the maintainability and clarity of the attachment handling code, paving the way for better functionality in file uploads and processing.
2025-01-06 14:04:12 +08:00
Max
2becefd06e Enhance Vision module with flexible prompt handling and comprehensive tests
- Refactored the Analyze method in the Vision and OpenAI model to accept a variadic prompt parameter, allowing for optional custom prompts while defaulting to a predefined prompt if none is provided.
- Added multiple test cases in vision_test.go and model_test.go to validate image analysis with default, custom, and empty prompts, ensuring robust functionality and error handling.
- Updated the Model interface to reflect the new prompt handling, improving clarity and usability.

These changes enhance the flexibility of the Vision module, paving the way for improved user experience and functionality in image analysis.
2025-01-06 11:43:31 +08:00
Max
d4d824a22c Refactor Neo API upload functionality and enhance environment variable handling
- Updated the Upload method in the DSL to default to the assistant in context, improving error handling for missing assistant IDs.
- Introduced parseEnvValue and convertOptions functions in the Vision module to support parsing environment variables in configuration options, enhancing flexibility.
- Refactored storage and model initialization in the Vision service to utilize converted options, ensuring environment variables are correctly applied.

These changes improve the robustness and maintainability of the Neo API, paving the way for better configuration management and error handling in assistant functionalities.
2025-01-06 11:27:44 +08:00
Max
5f7b2e866c Refactor Neo API assistant functionality and enhance model capabilities
- Removed obsolete file upload/download functions and related constants from the Assistant struct, streamlining the codebase.
- Updated the connector type in load tests to use "gpt-3_5-turbo" for improved compatibility with current models.
- Introduced VisionCapableModels to support a range of models with vision capabilities, enhancing AI functionality.
- Enhanced the File struct to include additional fields for description, URL, and document IDs, improving data management for file handling.

These changes improve the overall structure and maintainability of the Neo API, paving the way for future enhancements in assistant capabilities.
2025-01-06 11:05:38 +08:00
Max
0d676b3348 Update Go module dependencies and enhance assistant message handling in Neo API
- Added the github.com/spf13/cast dependency to improve type conversion capabilities.
- Enhanced the requestMessages function to include prompts, allowing for more dynamic message handling.
- Updated the LoadBuiltIn function to ensure the "Built-in" tag is added if it doesn't already exist, improving assistant organization.
- Refactored sorting logic to utilize the cast package for better type safety.

These changes support improved functionality and maintainability in the assistant management process.
2025-01-03 17:17:04 +08:00
Max
55c0580fc3 Refactor Neo API assistant management and remove obsolete functions
- Removed unused assistant-related functions and types from the Neo API, including local chat and file handling, to streamline the codebase.
- Refactored the assistant initialization process, consolidating the loading and configuration of assistants, including Vision and Connector settings.
- Updated the DSL struct to enhance clarity and maintainability, ensuring better configuration management for assistants.
- Improved error handling and modularity in the assistant loading process, paving the way for future enhancements in AI functionalities.
2025-01-03 16:37:43 +08:00
Max
966b0f601f Update Go module dependencies and enhance Neo API with Vision integration
- Removed obsolete AWS SDK v2 dependencies from go.mod and go.sum to streamline the codebase.
- Added Vision-related imports and initialized Vision settings in the Neo API, enhancing AI capabilities.
- Introduced initVision method to configure and initialize the Vision instance, improving modularity and functionality.
- Updated the DSL struct to include Vision settings, allowing for better configuration management.

This commit supports future enhancements in AI functionalities and improves the overall structure of the Neo API.
2025-01-03 15:56:14 +08:00
Max
1ea1852677 Remove prompt documentation and enhance image upload/download functionality in vision module
- Deleted the obsolete prompt.md file, streamlining the codebase.
- Added tests for image upload and download functionality using local and S3 storage drivers, ensuring robust handling of image files.
- Implemented image compression during upload for both local and S3 storage, maintaining aspect ratio and limiting dimensions to a maximum size of 1920x1080.
- Enhanced the local and S3 storage drivers to support image compression, improving storage efficiency.
- Updated tests to verify image dimensions and content type after upload and download operations, ensuring data integrity.
2025-01-03 13:52:45 +08:00
Max
93a6d7a6a0 Update Go module dependencies to include AWS SDK v2
- Added several AWS SDK v2 modules to go.mod and go.sum, enhancing cloud service integration capabilities:
  - github.com/aws/aws-sdk-go-v2 and its related services (S3, STS, SSO, etc.) for improved AWS functionality.
- Updated indirect dependencies to ensure compatibility and performance improvements.
- This update supports future development involving AWS services, streamlining the integration process.
2025-01-03 13:33:58 +08:00
Max
af30bec4f0 Enhance RAG configuration and assistant loading in Neo API
- Updated the SetRAG function to include RAG settings, allowing for more detailed configuration during assistant initialization.
- Refactored the LoadBuiltIn function to streamline the saving process of assistants, improving error handling and code clarity.
- Modified loadPrompts and loadScript functions to return timestamps, enabling tracking of creation and update times for assistants.
- Enhanced the Assistant struct with created_at and updated_at fields, improving data management and traceability.
- Overall improvements to the assistant loading process, ensuring better organization and maintainability of the codebase.
2025-01-02 18:56:35 +08:00
Max
973fb5dd3d Remove assistant management files to streamline codebase
- Deleted the assistant.go and assistant_test.go files, which contained the implementation and tests for assistant management.
- This cleanup reduces complexity and focuses on core functionalities, paving the way for future enhancements in assistant handling.
2025-01-02 17:00:50 +08:00
Max
2903602c6b Refactor Neo API initialization and enhance assistant management
- Introduced new methods for initializing RAG and store, improving modularity and clarity in the Load function.
- Refactored the assistant initialization process to streamline the loading of built-in assistants and set RAG configurations.
- Moved the defaultAssistant method from neo.go to load.go for better organization and accessibility.
- Enhanced error handling in store initialization to support multiple connector types, including Redis and Mongo.
- Updated the assistant struct to include RAG settings, improving the overall assistant management capabilities.
2025-01-02 16:55:21 +08:00
Max
6288e25a8a Refactor conversation table handling and update settings structure in Neo API
- Changed the 'Table' field to 'Prefix' in the Setting struct to better represent its purpose as a table name prefix.
- Updated all relevant instances in the codebase to use the new 'Prefix' field, ensuring consistency across the application.
- Adjusted logging and table retrieval methods to reflect the new naming convention, enhancing clarity and maintainability.
2025-01-02 16:22:10 +08:00
Max
fdf71f4cfd Update Go version and dependencies; enhance Neo API functionality
- 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.
2025-01-02 13:06:36 +08:00
Max
0d05842c28 Update Go module dependencies and version in go.mod and go.sum
- 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.
2025-01-02 11:07:04 +08:00
Max
fd5d701a23 Refactor assistant loading and initialization in Neo API
- 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.
2025-01-01 17:34:17 +08:00
Max
8d320f0e41 Enhance assistant struct with tags and options handling in Neo API
- 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.
2025-01-01 16:55:11 +08:00
Max
f8ce8fc193 Enhance assistant management and API functionality in Neo
- 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.
2025-01-01 16:48:06 +08:00
Max
d0d110b0ec Refactor assistant management and enhance storage retrieval in Neo API
- 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.
2025-01-01 12:31:47 +08:00
Max
e530ccc1cd Refactor conversation management and migrate to store-based architecture 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.
2025-01-01 10:43:05 +08:00
Max
238347c834 Refactor message handling and enhance file reading capabilities in Neo 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.
2024-12-31 16:01:48 +08:00
Max
882277d974 Enhance assistant filtering and management in Neo API
- Added support for filtering assistants by keywords, connector, and mentionable status in the handleAssistantList function.
- Introduced a new parseBoolValue utility function to handle various boolean formats for filtering.
- Updated the AssistantFilter structure to include an AssistantID field and a Select field for specifying returned fields.
- Refactored process functions to replace 'add' with 'create' for consistency and clarity in assistant management.
- Implemented new processAssistantFind function to retrieve assistants by ID, improving data retrieval capabilities.
- Enhanced tests to cover new filtering options and ensure robust functionality across assistant management operations.
2024-12-29 17:30:33 +08:00