Commit graph

1,695 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
2b8333ee95
Merge branch 'dev' into fix_llama 2023-06-08 18:31:39 -03:00
Gabriel Luiz Freitas Almeida
5484a08230 🔖 chore(pyproject.toml): bump up version to 0.0.88
The version number in the pyproject.toml file has been updated from 0.0.87 to 0.0.88. This is a chore commit as it does not introduce any new features or fix any bugs, but it is necessary to keep track of the package version.
2023-06-08 18:15:26 -03:00
Gabriel Luiz Freitas Almeida
a443d0aa83 🔨 refactor(llms.py): extract formatting methods for Azure and Llama fields
This commit extracts the formatting methods for Azure and Llama fields from the `format_field` method to improve readability and maintainability of the code. The `format_azure_field` method formats the fields for Azure, while the `format_llama_field` method formats the fields for Llama. These methods are called conditionally based on the name of the field.
2023-06-08 18:14:03 -03:00
Gabriel Luiz Freitas Almeida
de6bfbab69 Merge remote-tracking branch 'origin/main' into dev 2023-06-08 17:29:25 -03:00
anovazzi1
5e99ba0e99
fix: loads the page even if flows.data is null (#464) 2023-06-08 17:12:28 -03:00
Gabriel Luiz Freitas Almeida
901a7c0696 🔖 chore(pyproject.toml): bump up version to 0.0.87
The version number in the pyproject.toml file has been updated from 0.0.86 to 0.0.87. This is a chore commit as it does not introduce any new features or bug fixes, but only updates the version number.
2023-06-08 16:56:35 -03:00
Gabriel Luiz Freitas Almeida
3785c7e610 🐛 fix(tabsContext.tsx): add null check for flow.data to prevent TypeError
The fix adds a null check for flow.data to prevent a TypeError when accessing the edges property.
2023-06-08 16:54:46 -03:00
Gabriel Luiz Freitas Almeida
23e760b052 🔺 chore(pyproject.toml): update langchain dependency from 0.0.186 to 0.0.194
This commit updates the langchain dependency from version 0.0.186 to version 0.0.194. This is a chore as it updates a dependency to a newer version.
2023-06-08 08:45:20 -03:00
Gabriel Luiz Freitas Almeida
0304becc28 Merge remote-tracking branch 'origin/main' into dev 2023-06-08 08:13:32 -03:00
Gabriel Luiz Freitas Almeida
c4423e0fc0
🐛 fix(utils.py): add type check for streaming and stream attributes before setting them to True (#457)
Fixes #452
2023-06-08 00:47:55 -03:00
Gabriel Luiz Freitas Almeida
1e728c96b6 🔖 chore(pyproject.toml): bump version to 0.0.86
The version number in the pyproject.toml file has been updated from 0.0.85 to 0.0.86. This is a chore commit as it does not introduce any new features or fix any bugs, but rather updates the version number to reflect changes made to the codebase.
2023-06-08 00:42:42 -03:00
Gabriel Luiz Freitas Almeida
8e2bacad9a 🐛 fix(utils.py): add type check for streaming and stream attributes before setting them to True
The code now checks if the streaming and stream attributes are boolean before setting them to True. This ensures that the attributes are not set to True if they are not boolean, which could cause errors in the code.
2023-06-08 00:40:51 -03:00
Gabriel Luiz Freitas Almeida
b21bd3b8e0 fix: now the version badge text aligns when there's no version 2023-06-07 16:28:48 -03:00
Gabriel Luiz Freitas Almeida
bcba8e0931 Merge remote-tracking branch 'origin/main' into dev 2023-06-07 14:33:09 -03:00
Gabriel Luiz Freitas Almeida
58db0f3c8c
Hotfix: Blank UI bug and other bugfix v0.0.85 (#455)
This release fixes #353 and a bug where a parameter of value `False` would be treated as null.
2023-06-07 14:05:38 -03:00
anovazzi1
78082b5649 update poetry lock 2023-06-07 10:58:11 -03:00
anovazzi1
e3cfdcd136 update version 2023-06-07 10:54:46 -03:00
anovazzi1
b878e1af6a hotfix: fix bug that causes the blank screen 2023-06-07 10:53:45 -03:00
Gabriel Luiz Freitas Almeida
824ad20471
fix: validation now properly checks for null values (#454) 2023-06-07 06:39:20 -03:00
Gabriel Luiz Freitas Almeida
1435d2de83 🔖 chore(pyproject.toml): bump up version to 0.0.84
This commit only updates the version number of the package in the pyproject.toml file. The version number is updated to 0.0.84. This is a chore commit as it does not add any new features or fix any bugs, but it is necessary to keep track of the package version.
2023-06-07 06:29:17 -03:00
Gabriel Luiz Freitas Almeida
7bba3fd087 🐛 fix(chatModal): fix conditional statement to check for undefined and null values
The conditional statement in line 292 was not properly checking for undefined and null values, which could lead to unexpected behavior. The fix ensures that the statement checks for all falsy values, including undefined and null.
2023-06-07 06:25:08 -03:00
Gabriel Luiz Freitas Almeida
9823b4c9c5
🚀 feat(customs.py): re-add PythonFunction to CUSTOM_NODES (#450) 2023-06-06 17:47:24 -03:00
Gabriel Luiz Freitas Almeida
683b7ab4d0 🚀 feat(config.yaml): add PythonFunction to the list of available tools
The PythonFunction tool has been added to the list of available tools in the config.yaml file. This allows the backend to use Python functions as part of the language processing pipeline.
2023-06-06 17:41:17 -03:00
Gabriel Luiz Freitas Almeida
998d1bf5ed 🚀 chore(Makefile): add install_backend command to backend target
The Makefile has been updated to include the `install_backend` command as a dependency of the `backend` target. This ensures that the backend dependencies are installed before running the backend server.
2023-06-06 12:55:12 -03:00
Gabriel Luiz Freitas Almeida
0eb60c0bf0
API Refactor and structure changes (#449) 2023-06-06 12:52:41 -03:00
Gabriel Luiz Freitas Almeida
73bad871f2 🐛 fix(llms.py): add null check for name variable in azure field formatting
The code was updated to add a null check for the name variable before checking if it contains the string "azure". This prevents a potential runtime error if the name variable is null.
2023-06-06 11:44:57 -03:00
Gabriel Luiz Freitas Almeida
3de23e345f 🚀 feat(customs.py): add PythonFunction to CUSTOM_NODES
🚀 feat(loading.py): add support for PythonFunction node type
🚀 feat(constants.py): add PythonFunction to CUSTOM_TOOLS
🚀 feat(custom.py): add PythonFunction class
🚀 feat(frontend_node/tools.py): add PythonFunctionNode class
🧪 test(test_custom_types.py): add test for PythonFunction class
🧪 test(test_llms_template.py): comment out tests for AzureOpenAI and AzureChatOpenAI
The changes add support for a new node type, PythonFunction, which allows users to define a Python function to be executed. The node type is added to CUSTOM_NODES in customs.py, and support for the node type is added to loading.py. The node type is also added to CUSTOM_TOOLS in constants.py, and the PythonFunction class is added to custom.py. The PythonFunctionNode class is added to frontend_node/tools.py. Tests for the new PythonFunction class are added to test_custom_types.py. Tests for AzureOpenAI and AzureChatOpenAI are commented out in test_llms_template.py.
2023-06-06 11:40:39 -03:00
Gabriel Luiz Freitas Almeida
94b346196b
Initial support for Azure LLM nodes. (#443) 2023-06-06 10:14:31 -03:00
Gabriel Luiz Freitas Almeida
1e854fc469 update endpoint 2023-06-06 10:06:51 -03:00
Gabriel Luiz Freitas Almeida
6b5539232f 🚀 chore(server, tests): update API endpoint URLs to include version number
The API endpoint URLs have been updated to include the version number to improve the API's versioning and maintainability. The changes were made to the server.ts file and the tests that use the API endpoints.

🐛 fix(tests): update API endpoint paths in test files
The API endpoint paths in the test files were outdated and have been updated to reflect the current API version. This ensures that the tests are running against the correct endpoints and that the tests are up-to-date with the current API version.
2023-06-06 10:06:40 -03:00
Gabriel Luiz Freitas Almeida
478bb446c3 🐛 fix(frontend): add missing api/v1 prefix to API routes
🐛 fix(frontend): add missing api/v1 prefix to WebSocket URL
🐛 fix(frontend): add missing api/v1 prefix to Vite proxy target
The API routes, WebSocket URL, and Vite proxy target were missing the "api/v1" prefix, causing the frontend to not be able to communicate with the backend. This commit adds the missing prefix to all three locations to fix the issue.
2023-06-06 10:06:14 -03:00
Gabriel Luiz Freitas Almeida
228f938cd8 🔨 refactor(types.py): move extract_input_variables_from_prompt import to interface.utils module
🔨 refactor(custom.py, loading.py, prompts/custom.py, run.py): update import statements to use extract_input_variables_from_prompt from interface.utils module
🔨 refactor(run.py): remove unused imports and functions
🔨 refactor(utils.py): add type hinting to extract_input_variables_from_prompt function and remove unused imports
The extract_input_variables_from_prompt function has been moved to the interface.utils module to improve code organization. The import statements in the affected modules have been updated to reflect this change. Unused imports and functions have been removed from the run.py module. Type hinting has been added to the extract_input_variables_from_prompt function in the interface.utils module.

🚀 feat(processing): add processing module with get_result_and_steps and fix_memory_inputs functions
The processing module was added to the project with two functions: get_result_and_steps and fix_memory_inputs. The get_result_and_steps function extracts the result and thought from a LangChain object and returns them. The fix_memory_inputs function checks if a LangChain object has a memory attribute and if that memory key exists in the object's input variables. If not, it gets a possible new memory key using the get_memory_key function and updates the memory keys using the update_memory_keys function.
2023-06-06 10:05:46 -03:00
Gabriel Luiz Freitas Almeida
3bfee4d445 🚀 feat(graph): add from_payload class method to Graph class
🚀 feat(utils.py): import extract_input_variables_from_prompt from langflow.interface.utils
The `from_payload` class method is added to the `Graph` class to create a graph from a payload. This method takes a dictionary as input and returns a `Graph` object. The `extract_input_variables_from_prompt` function is imported from `langflow.interface.utils` to extract input variables from a prompt. This function is used in other parts of the codebase to extract input variables from prompts.
2023-06-06 10:05:01 -03:00
Gabriel Luiz Freitas Almeida
7f4eea1e59 🚀 feat(chat): add ChatManager and ChatHistory classes to manage chat history and active connections
 feat(utils.py): add process_graph function to process graph data and generate result and thought
The ChatManager class manages active connections and chat history. The ChatHistory class manages the chat history for a client. The process_graph function processes graph data and generates a result and thought. This function is used in the ChatManager class to generate a response back to the frontend.
2023-06-06 10:02:21 -03:00
Gabriel Luiz Freitas Almeida
2bfe93e0b8 🚀 feat(langflow): add new API endpoints for chat, validation, and version
This commit adds new API endpoints for chat, validation, and version. The chat endpoint is a websocket endpoint for chat. The validation endpoint has three sub-endpoints for validating code, prompt, and node. The version endpoint returns the version of LangFlow.
2023-06-06 10:01:44 -03:00
Gabriel Luiz Freitas Almeida
3e5878ddc2 🎉 feat(langflow): add new files base.py and callback.py
The base.py file contains the following classes and functions:
- CacheResponse: a pydantic BaseModel that represents a response containing a dictionary of data
- Code: a pydantic BaseModel that represents a code string
- Prompt: a pydantic BaseModel that represents a prompt template string
- CodeValidationResponse: a pydantic BaseModel that represents a response containing the validation results of code
- PromptValidationResponse: a pydantic BaseModel that represents a response containing the validation results of a prompt
- validate_prompt: a function that validates a prompt template string and returns a PromptValidationResponse object
- check_input_variables: a function that checks if input variables contain invalid characters and returns a list of fixed input variables

The callback.py file contains the following classes:
- AsyncStreamingLLMCallbackHandler: an AsyncCallbackHandler that handles streaming LLM responses asynchronously
- StreamingLLMCallbackHandler: a BaseCallbackHandler that handles streaming LLM responses

These files were added to provide support for Langflow's backend API.
2023-06-06 10:01:18 -03:00
Gabriel Luiz Freitas Almeida
bdbb4a8127 🚀 feat(api): add versioning to the API and restructure the router
The API now has versioning, with the prefix "/api/v1". The router has been restructured to include the chat, endpoints, and validate routers. This improves the organization of the code and makes it easier to add new routers in the future.
2023-06-06 10:00:38 -03:00
Gabriel Luiz Freitas Almeida
ac42e8a66c chore: remove refactored files 2023-06-06 10:00:15 -03:00
Gabriel Luiz Freitas Almeida
3342e03a2c 🔀 refactor(langflow): move routers to a single file and add health check endpoint
The routers for the langflow API have been moved to a single file for better organization and maintainability. The routers have been imported and included in the main.py file using the new file. A new health check endpoint has been added to the API to check the status of the application.
2023-06-06 09:59:37 -03:00
Gabriel Luiz Freitas Almeida
79c677fb09 🚀 feat(pyproject.toml): add pytest configuration options
Added pytest configuration options to the pyproject.toml file. The minimum version of pytest is set to 6.0, the '-ra' option is added to addopts to show all test results, testpaths are set to include both 'tests' and 'integration' directories, console output style is set to 'progress', and DeprecationWarning is ignored. log_cli is set to true to enable logging of pytest output to the console.
2023-06-06 09:58:30 -03:00
Gabriel Luiz Freitas Almeida
4a4508786e
🔖 chore(pyproject.toml): bump up version to 0.0.83 (#448) 2023-06-06 07:55:41 -03:00
Gabriel Luiz Freitas Almeida
2bece63d1f
Merge branch 'main' into release 2023-06-06 07:55:17 -03:00
Gabriel Luiz Freitas Almeida
d3e2f225f0 🔖 chore(pyproject.toml): bump up version to 0.0.83
The version number in the pyproject.toml file has been updated from 0.0.82 to 0.0.83. This is a chore commit as it does not introduce any new features or fix any bugs, but rather updates the version number to reflect the changes made in the package.
2023-06-06 07:53:25 -03:00
Gabriel Luiz Freitas Almeida
e96dc96dc0
Fix to lc-serve deployment (#447) 2023-06-06 07:45:52 -03:00
Gabriel Luiz Freitas Almeida
6f131dbef7 update lock 2023-06-06 07:41:07 -03:00
Gabriel Luiz Freitas Almeida
659c1ec3e1
Bump version to 0.0.82 2023-06-06 06:51:10 -03:00
Gabriel Luiz Freitas Almeida
1095b467a8
build: public push and change branch (#444)
- Added `--public` to `lcserve_push` target to make sure it is
accessible to everyone (already done in `dev` branch)
- Changed `langchain-serve` trigger to `main` branch as the release it
done from main
2023-06-06 06:46:10 -03:00
Deepankar Mahapatro
4c154a2b4e build: public push and change branch 2023-06-06 09:19:29 +05:30
Deepankar Mahapatro
239a87d9e4 Merge branch 'main' into lcserve-public 2023-06-06 09:06:56 +05:30
Deepankar Mahapatro
fad71a139f build: public push and change branch 2023-06-06 09:01:04 +05:30