- The `build` method of `MyPythonClass` is modified to accept an `openai_api_key` parameter instead of using a hardcoded value.
- This change allows for dynamic usage of different API keys when constructing an instance of `ConversationChain`.
- The `my_conversation` method now takes `openai_api_key` as an argument and uses it to initialize the `llm` instance of `OpenAI`.
- The `build` method simply delegates the `openai_api_key` argument to the `my_conversation` method and returns the resulting `ConversationChain` instance.
- Updatethe `get_function_custom` function to use the `validate.extract_class_name` function to extract class name from the `code` parameter.
- Modify `instantiate_tool` function to update the `class_object` with the return value of `get_function_custom` and call the `build` method on the instantiated object with the remaining params.
- Add a new function `extract_class_name` in the `validate` module to extract class name from the `code` parameter.
The code now checks if the variable already exists in the template and if so, sets the new field value with the old value. This ensures that the existing value is preserved when adding new variables to the template.
The multiline option is added to the input_variables field in the add_new_variables_to_template function. This allows the field to accept multiline input, which can be useful in certain scenarios where multiple lines of text need to be entered.
✨ feat(GenericNode/index.tsx): improve readability and maintainability by extracting repeated class names into variables
The class order in the div element has been fixed to ensure the correct styling is applied. Repeated class names have been extracted into variables to improve readability and maintainability of the code.
- Added a dynamic flag to CustomComponentNode class in tools.py for enabling dynamic behavior.
- This flag allows for flexibility in executing the Python class.
- The flag defaults to True.
Previously, the `build` method in the `MyPythonClass` class had an argument named `name`, which could be confusing. This commit changes the argument name to `my_custom_input` to improve readability and clarity.
🐛 fix(parameterComponent): fix classNames usage in span element
🐛 fix(parameterComponent): remove unnecessary line break element
🐛 fix(parameterComponent): fix className usage in span element
🐛 fix(ShadTooltipComponent): add className prop to TooltipContent component
🐛 fix(utils): fix syntax error in groupByFamily function
✨ feat(parameterComponent): add support for grouping and displaying multiple types in parameterComponent
✨ feat(utils): add support for grouping and filtering data in groupByFamily function
This commit removes the file `extract_info_from_class.py` which contained unnecessary code.
[v1/endpoints.py] Fix error handling in custom_component endpoint
This commit fixes the error handling in the `custom_component` endpoint in `endpoints.py`. If the class template extracted from the code is not valid, an error message is printed.
[importing/utils.py] Comment out unused code
This commit comments out unused code in `get_function_custom` function in `utils.py` file.
[initialize/loading.py] Comment out unused code
This commit comments out unused code in the `instantiate_tool` function in `loading.py` file.
[interface/tools/custom.py] Refactor code and add properties
This commit refactors the code in `CustomComponent` class in `custom.py` file. It adds properties for `data`, `is_valid`, and `args_and_return_type`.
[interface/types.py] Add base classes to custom component template
This commit adds base classes to the custom component template in the `build_langchain_template_custom_component` function in `types.py` file.
[utils/constants.py] Remove unnecessary import
This commit removes an unnecessary import in `DEFAULT_CUSTOM_COMPONENT_CODE` constant in `constants.py` file.
The class names for the validation status indicators were incorrect, causing the wrong styles to be applied. The class names have been fixed to correctly display the validation status indicators based on the validation status and whether the node is building.
🔄 refactor(template/frontend_node/documentloaders.py): rename web_path variable to file_path for better clarity and consistency in the GutenbergLoader class
The Node class in the vertex/base.py file has been renamed to Vertex class to improve clarity and consistency in the naming conventions used throughout the codebase. In the template/frontend_node/documentloaders.py file, the web_path variable has been renamed to file_path in the GutenbergLoader class to provide better clarity and consistency in the naming conventions used within the class.
The password field is added to the extra_fields list in the VectorStoreFrontendNode class. This allows for the creation of a password input field in the frontend UI for this specific class.
The password field is added to the extra_field2 in the VectorStoreFrontendNode class. This allows the field to be displayed as a password input in the frontend, enhancing security by hiding the input characters.
The input_types in the add_new_variables_to_template function were incorrect. They were set to ["BaseLoader", "BaseOutputParser"] instead of ["Document", "BaseOutputParser"]. This fix ensures that the correct input types are used for the template field.
The langchain-serve package version has been updated to >0.0.49. This change is made to ensure compatibility with the latest version of the package and to take advantage of any bug fixes or new features introduced in the updated version.
🔀 chore(main.py): add trailing commas to dictionary entries for improved readability
The multiline string in the value of the `my_user_python_function` key was not properly formatted. The double quotes were changed to triple quotes to match the Python docstring convention. Trailing commas were added to the dictionary entries for improved readability and maintainability.
The code now checks if the variable is already in the list before appending it to the custom_fields. Additionally, when removing old variables from the template, the code now also removes the variable from the custom_fields associated with the given name. This ensures that the custom_fields and template stay in sync with the input_variables.
The unused import of the lodash library has been removed to clean up the code and reduce unnecessary dependencies. The code formatting and indentation have also been improved to enhance readability and maintain consistency throughout the file.
🔥 refactor(parameterComponent): remove unused import of lodash library
🔧 chore(EditNodeModal): add field_name prop to PromptAreaComponent for better clarity and maintainability
The CSS classes in the DialogContent and TableCell components have been reordered to follow a consistent pattern of ordering. This improves readability and maintainability of the code.
Additionally, a new prop `field_name` has been added to the PromptAreaComponent to provide better clarity and maintainability when working with the component.
The postValidatePrompt function now accepts a name parameter, which represents the name of the field to check. This change improves the code readability by explicitly specifying the name of the field being validated.
🚀 feat(promptComponent): improve prompt functionality by adding missing field_name prop
Fixed some linting issues in the PromptAreaComponent and added the missing field_name prop to improve code quality and maintainability. The field_name prop was missing, which caused an error in the postValidatePrompt function. This commit also improves the prompt functionality by ensuring that the reactFlowInstance is updated and the nodes are re-rendered when the value changes.
The custom_fields attribute in the FrontendNode class now has a default value of defaultdict(list) instead of an empty list. This change ensures that custom_fields is always a defaultdict, which prevents potential errors when accessing or modifying the custom_fields attribute.
The 'name' field is added to the ValidatePromptRequest model to enhance data validation. This field will allow for more specific identification and validation of prompt names in the API.
✨ feat(validate.py): refactor post_validate_prompt function to improve code readability and maintainability
The parameter 'prompt' in the 'post_validate_prompt' function has been renamed to 'prompt_request' to improve clarity and avoid confusion with the 'prompt' variable used within the function. The function has also been refactored to improve code readability and maintainability by extracting logic into separate helper functions. The helper functions 'get_old_custom_fields', 'add_new_variables_to_template', 'remove_old_variables_from_template', and 'update_input_variables_field' have been added to handle specific tasks within the 'post_validate_prompt' function. This refactoring improves the overall structure and organization of the code.