-
Notifications
You must be signed in to change notification settings - Fork 3
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
Updating the release for S.A.C #43
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Removed StorageManager * Added examples for OpenAI, Bedrock, Anthropic, and VertexAI * Updating old examples (1/2) * Updating old examples (2/2)
* Added the assembly component * Auto-generated documents * Added type check * Update the cache service expiry logic + Update the assembly component to use cache expiry for timeout * Moved assembly to the correct place
* MoA example: Broadcast to multiple agents * Added MoA event manager, added uuid invoke_function + test, updated auto-generated docs * Added assembly layer to MoA example
…rce_expression (#29) * Refactored component_input to input_selection * Updated, added, and enhanced the documentation with new users in mind * Refactored source_expression function to evaluate_expression (backward compatible) * Added tips and tricks section + info and examples on custom modules * tiny format update * tiny update
* Added a RAG example for AI connector * Added delete option to vectordb * Changed id to ids
Fix the method to not trim the first entry if it is a "system" role
) * chore: Refactor clear_history_but_keep_depth method to handle negative depth values * chore: small change to how this is solved * chore: one more try * refactor: move utils_for_test_files.py to solace_ai_connector module * refactor: removed the orginal utils_for_test_files.py * refactor: update import statements in test files * refactor: add sys.path.append("src") to test files * refactor: standardize import order and sys.path.append in test files * refactor: a bit more test infrastructure changes * feat: allow component_module to accept module objects directly * feat: add types module import to utils.py * test: add static import and object config test * refactor: update test_static_import_and_object_config to use create_test_flows * refactor: Improve test structure and remove duplicate test case * fix: remove duplicate import of yaml module * refactor: Modify test config to use dict instead of YAML string * refactor: convert config_yaml from string to dictionary * refactor: update static import test to use pass_through component * test: Add delay component message passing test * feat: add test for delay component message processing * feat: Added a new test function (test_one_component) to make it very easy to just run some quick tests on a single input -> expected output tests on a single component * feat: added input_transforms to the test_one_component so that input transforms can be tested with it * chore: a bit of cleanup and new tests for test_one_component * chore: rename test_one_component because it was being picked up as a test by the pytest scanner * fix: fixed a typo
* Added guide for RAG * update wording
…u can test situations where you don't expect any output (#34)
…nse ability for components (#42) * feat: add request_response_controller.py * feat: implement RequestResponseFlowManager and RequestResponseController classes * style: format code with black and improve readability * feat: implement RequestResponseController for flow-based request-response handling * feat: implement RequestResponseController for handling request-response patterns * fix: import SolaceAiConnector for type checking * refactor: restructure Flow class and improve code organization * feat: implement multiple named RequestResponseControllers per component * refactor: initialize request-response controllers in ComponentBase * test: add request_response_controller functionality tests * feat: finished implementation and added some tests * refactor: rename RequestResponseController to RequestResponseFlowController * refactor: rename RequestResponseController to RequestResponseFlowController * refactor: some name changes * fix: update test function names for RequestResponseFlowController * refactor: more name changes * Ed/req_resp_examples_and_fixes (#41) * feat: Added a request_response_flow example and fixed a few issues along the way * feat: Reworked the broker_request_response built-in ability of components to be simpler. Instead of having to have a defined flow and then name that flow, it will automatically create a flow with a single broker_request_response component in it. Now there is a straightforward interating function call to allow components to issue a request and get streaming or non-streaming responses from that flow. * chore: fix the request_response example and remove the old one * docs: add broker request-response configuration * docs: added advanced_component_features.md * docs: add broker request-response configuration details * docs: add payload encoding and format to broker config * docs: add cache service and timer manager to advanced_component_features.md * docs: add configuration requirement for broker request-response * docs: update broker request-response section with configuration info * docs: a bit more detail about do_broker_request_response * docs: add link to advanced features page in table of contents * docs: add link to advanced features page * docs: reorder table of contents in index.md * docs: add custom components documentation * docs: Remove advanced component features from table of contents * docs: clean up a double inclusion of the same section * docs: small example change * chore: remove dead code * chore: add some extra comments to explain some test code * docs: Update description of STDIN input component Update the description of the STDIN input component to clarify that it waits for its output message to be acknowledged before prompting for the next input. This change is made in the `stdin_input.py` file. * chore: add is_broker_request_response_enabled method * chore: Some changes after review
…ment variable in a .yaml config file (#43)
DATAGO-85484 Bump min python version
…sites, and added a filtering agent
…sponse terminology and rebuild all the docs (#45) * feat: AI-95: Support a more configurable reply topic for broker_request_response * refactor: AI-95: Consitently use 'response' rather than a mix of response/reply * docs: Update component docs * chore: Small changes after AI code review
* feat: implement #include directive for config files * feat: implement indentation for included file content * A few more tweaks
* feat: AI-170: websocket input and output components (start) * Refactor HttpServerInputBase to work as a websocket input component * refactor: implement WebSocket input component using Flask-SocketIO * style: Format code and improve consistency in websocket_input.py * refactor: update WebSocket input to use send_message and improve invoke method * refactor: wrap WebSocket messages in events before enqueueing * feat: implement WebsocketOutput component for sending messages * refactor: implement WebSocket input/output with shared connection management * refactor: simplify WebSocket output component and improve error handling * style: replace f-strings with format directives in logging statements * feat: implement WebSocket connection tracking and improve message handling * refactor: replace f-strings with format directives in logging statements * chore: Remove unused comment about f-strings in logging * fix: replace self.socketio.sid with request.sid for correct session ID handling * More changes * feat: add HTML serving capability to WebsocketInput * refactor: Improve WebsocketInput class structure and remove unused import * refactor: simplify WebsocketInput component * fix: resolve HTML file path issues in WebsocketInput * refactor: implement event processing for WebSocket input * Add example for websocket * refactor: centralize event processing and error handling in ComponentBase * fix: update websocket.yaml to correctly pass payload and socket_id * style: enhance UI design and responsiveness of WebSocket example app * style: implement light/dark mode theme based on browser preference * fix: improve dark mode implementation and add smooth transitions * style: adjust input and button spacing in WebSocket example app * feat: add info icon with popup explanation to WebSocket example app * refactor: simplify WebSocket example app interface * More adjustments * style: reduce padding above top title and adjust container spacing * Remove unnecessary whitespace * Fix a few warnings * feat: add payload encoding and format to WebSocket components * refactor: reorganize imports and improve code formatting * refactor: simplify encode_payload function * refactor: use centralized payload encoding/decoding functions * Some additional cleanup * change the default payload encoding to 'none' so that strings will be sent * Fix warning * refactor: implement WebSocket base class and enhance output functionality * feat: import request object in websocket_input.py * refactor: move common config to base class and use deep copy * refactor: merge base_info into websocket component info structures * More refactoring to allow websocket_output to share some code * refactor: make WebsocketBase abstract and enforce listen_port requirement * refactor: remove listen_port validation in WebsocketBase * feat: implement threaded WebSocket server for output component * default the encoding to none * feat: enable WebSocket server debugging * Tweak the dynamic module loader to give better output if a dynamically loaded module fails due to it not being able to be loaded by it failing to load another module. Also turn off websocket debug logs * AI-170: Add new broker type: dev_broker (#51) * feat: implement DevBroker for development purposes * refactor: convert Solace message to dictionary in receive_message * refactor: align DevBroker with solace_messaging subscription handling * More changes * More tweaks * Last few issues * refactor: standardize use of 'queue_name' in dev_broker_messaging * Remove queue_id
* Refactor OpenAIChatModelBase to include additional response information * feat: AI-166: Make streaming data results more consistent * feat: AI-167: fix inconsistency with payload/data responses
Ap/clean documents
Ap/add websearch component
* added litellm component * support chat history * trimmed comments * dynamically get the model parameters * added llm load balancer * added the AI PR reviewer workflow * fixed minor issues * controlled session id * refactored chat history and reused codes * fixed minor logging issue * reverted minor changes * handle all LiteLLM inferences and embedding requests by the load balancer * updated documents * fix: remove useless import command * refactor: restructure the LLM components * refactor: divided litellm chat and embedding * fix: update the embedding input format * fix: update naming * fix: update naming
#55) * added litellm component * support chat history * trimmed comments * dynamically get the model parameters * added llm load balancer * added the AI PR reviewer workflow * fixed minor issues * controlled session id * refactored chat history and reused codes * fixed minor logging issue * reverted minor changes * handle all LiteLLM inferences and embedding requests by the load balancer * updated documents * fix: remove useless import command * refactor: restructure the LLM components * Added support for batch embedding + image embedding * Added init py * typo * fixed embedding --------- Co-authored-by: alimosaed <[email protected]>
* updated the requirements * fix: update the requirements
…ue (#57) * Fixed exiting on ctrl-c issue * enhanced the exit process to support force quit for single component
…t from broker_input and output (#59) * refactor: Improve BrokerInput initialization with optional module_info * Allow broker_output to be inherited with flexible info
* refactor: Improve BrokerInput initialization with optional module_info * Allow broker_output to be inherited with flexible info * Add flag to disable error queue for a flow * A few changes during testing
* updated the requirements * fix: update the requirements * fix: import required libraries
* API refactor for web components + clean up * update duckduckgo to return array as well * raising error to preserve interface * update * updated scraper with timeout * minor fix * Fix scraper using Ali's solution
* feat: add json log format * fix: add comments * fix: resolve comments * fix: change json to jsonl format
DATAGO-87497: Update for CI improvements
* Allowing stream overwrite at event level for LLM Chat * Added overwrite flag
* Changes for request/response for streaming LLM access * Updated with main * update --------- Co-authored-by: Edward Funnekotter <[email protected]>
cyrus2281
added a commit
that referenced
this pull request
Dec 3, 2024
…ved docs and examples and better testing (#39) * Examples Update + Code Refactor (#25) * Removed StorageManager * Added examples for OpenAI, Bedrock, Anthropic, and VertexAI * Updating old examples (1/2) * Updating old examples (2/2) * Added support for temporary queue + UUID queue name (#26) * Add assembly component and auto-generated documents (#27) * Added the assembly component * Auto-generated documents * Added type check * Update the cache service expiry logic + Update the assembly component to use cache expiry for timeout * Moved assembly to the correct place * Added MoA Example + UUID Invoke Function (#28) * MoA example: Broadcast to multiple agents * Added MoA event manager, added uuid invoke_function + test, updated auto-generated docs * Added assembly layer to MoA example * Update documentation for new users + Refactored component_input & source_expression (#29) * Refactored component_input to input_selection * Updated, added, and enhanced the documentation with new users in mind * Refactored source_expression function to evaluate_expression (backward compatible) * Added tips and tricks section + info and examples on custom modules * tiny format update * tiny update * Fixed solace disconnection issues on shutting down (#30) * Add RAG example for AI connector + delete action for vector index (#31) * Added a RAG example for AI connector * Added delete option to vectordb * Changed id to ids * chore: Refactor make_history_start_with_user_message method (#32) Fix the method to not trim the first entry if it is a "system" role * Keep history depth needs to be a positive integer and test refactor (#33) * chore: Refactor clear_history_but_keep_depth method to handle negative depth values * chore: small change to how this is solved * chore: one more try * refactor: move utils_for_test_files.py to solace_ai_connector module * refactor: removed the orginal utils_for_test_files.py * refactor: update import statements in test files * refactor: add sys.path.append("src") to test files * refactor: standardize import order and sys.path.append in test files * refactor: a bit more test infrastructure changes * feat: allow component_module to accept module objects directly * feat: add types module import to utils.py * test: add static import and object config test * refactor: update test_static_import_and_object_config to use create_test_flows * refactor: Improve test structure and remove duplicate test case * fix: remove duplicate import of yaml module * refactor: Modify test config to use dict instead of YAML string * refactor: convert config_yaml from string to dictionary * refactor: update static import test to use pass_through component * test: Add delay component message passing test * feat: add test for delay component message processing * feat: Added a new test function (test_one_component) to make it very easy to just run some quick tests on a single input -> expected output tests on a single component * feat: added input_transforms to the test_one_component so that input transforms can be tested with it * chore: a bit of cleanup and new tests for test_one_component * chore: rename test_one_component because it was being picked up as a test by the pytest scanner * fix: fixed a typo * Fix for anthropic example (#35) * Updating version dependency (#37) * Fixed url and file name in getting started (#38) * Add guide for RAG (#39) * Added guide for RAG * update wording * Added link to other docs from RAG guide (#40) * chore: added a timeout setting for running component tests so that you can test situations where you don't expect any output (#34) * AI-124: Add a feature to provide simple blocking broker request/response ability for components (#42) * feat: add request_response_controller.py * feat: implement RequestResponseFlowManager and RequestResponseController classes * style: format code with black and improve readability * feat: implement RequestResponseController for flow-based request-response handling * feat: implement RequestResponseController for handling request-response patterns * fix: import SolaceAiConnector for type checking * refactor: restructure Flow class and improve code organization * feat: implement multiple named RequestResponseControllers per component * refactor: initialize request-response controllers in ComponentBase * test: add request_response_controller functionality tests * feat: finished implementation and added some tests * refactor: rename RequestResponseController to RequestResponseFlowController * refactor: rename RequestResponseController to RequestResponseFlowController * refactor: some name changes * fix: update test function names for RequestResponseFlowController * refactor: more name changes * Ed/req_resp_examples_and_fixes (#41) * feat: Added a request_response_flow example and fixed a few issues along the way * feat: Reworked the broker_request_response built-in ability of components to be simpler. Instead of having to have a defined flow and then name that flow, it will automatically create a flow with a single broker_request_response component in it. Now there is a straightforward interating function call to allow components to issue a request and get streaming or non-streaming responses from that flow. * chore: fix the request_response example and remove the old one * docs: add broker request-response configuration * docs: added advanced_component_features.md * docs: add broker request-response configuration details * docs: add payload encoding and format to broker config * docs: add cache service and timer manager to advanced_component_features.md * docs: add configuration requirement for broker request-response * docs: update broker request-response section with configuration info * docs: a bit more detail about do_broker_request_response * docs: add link to advanced features page in table of contents * docs: add link to advanced features page * docs: reorder table of contents in index.md * docs: add custom components documentation * docs: Remove advanced component features from table of contents * docs: clean up a double inclusion of the same section * docs: small example change * chore: remove dead code * chore: add some extra comments to explain some test code * docs: Update description of STDIN input component Update the description of the STDIN input component to clarify that it waits for its output message to be acknowledged before prompting for the next input. This change is made in the `stdin_input.py` file. * chore: add is_broker_request_response_enabled method * chore: Some changes after review * feat: AI-129: add ability to specify a default value for a an environment variable in a .yaml config file (#43) * DATAGO-85484 Bump min python version --------- Co-authored-by: Cyrus Mobini <[email protected]> Co-authored-by: Art Morozov <[email protected]> Co-authored-by: Art Morozov <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updating the release for S.A.C