fix(schemas.py): add validation for file response type and data type
test(test_websocket.py): remove data and data_type fields from ChatResponse messages in tests
feat(cache): add support for multiple clients and context manager to set client_id
feat(cache): add observer pattern to notify on cache changes
feat(cache): add async observer pattern to notify on cache changes in async functions
feat(cache): add methods to add pandas DataFrame or Series and PIL Image to cache
feat(cache): add method to get an object from cache by key
feat(cache): add method to get the last added item in cache
feat(chat.py, chat_manager.py): add error handling for async_get_result_and_steps
feat(chat.py): add client_id to websocket endpoint
feat(schemas.py): add data_type field to ChatResponse schema
refactor(run.py): memoize build_langchain_object_with_caching function with maxsize of 10
Add an advanced flag to the TemplateFieldCreator and FrontendNode classes to allow for fields to be hidden from the user interface. In the TemplateFieldCreator class, the advanced flag is set to False by default. In the FrontendNode class, the advanced flag is set to False for all fields except for "model_type" and "model_kwargs", which are set to True.
feat(cache): add support for pandas and PIL Image objects caching
fix(interface): import cache-related functions from base.py module
test(cache): update import statements in cache-related test file
refactor(tools/base.py): comment out unused code for ToolCreator
feat(nodes.py): add 'return_direct' field to ToolNode template and set base class to 'Tool'
feat: add logging for missing nodes in LangChainTypeCreator classes
feat: add support for custom TextLoader document loader
fix: fix typo in document loaders base module name
fix: fix typo in text_splitters package name and add __init__.py file
refactor(interface): rename textSplitters to text_splitters
refactor(interface): rename documentLoaders to document_loaders
refactor(interface): rename vectorStore to vectorstore
refactor(interface): rename toolkits to toolkit
refactor(interface): rename tools to tool
refactor(interface): rename prompts to prompt
refactor(interface): rename memories to memory
refactor(interface): rename embeddings to embedding
refactor(interface): rename wrappers to wrapper
fix(interface): fix typo in text_splitters/base.py
fix(interface): fix typo in toolkits/base.py
fix(interface): fix typo in vectorstore/base.py
fix(interface): fix typo in wrappers/base.py
feat(interface): add logging for when a type is not loaded