Added
- 🏷️ New `expose_exception_to_llm` decorator allows function exceptions to be exposed to the large language model. This is useful for when the model is running code via IPython's `run_cell` or any other interpreter where the model needs feedback on exceptions.
Changed
- 🔄 Package name changed from `murkrow` to `chatlab`! 💬🔬
- 🤓 Simplified the `register` methods of the `Conversation` and `FunctionRegistry` classes. The parameters `parameters_model` and `json_schema` are replaced by a single parameter `parameter_schema`, which can be a pydantic model or a JSON schema. This streamlines and simplifies the function registration process by accepting both pydantic models and JSON schema as parameter schemas in a single argument instead of two separate arguments. This reduces ambiguity and simplifies the implementation.
- 💪🏻 Improved typing for messaging
- 📝 Documentation improvements
- 📜 When outputs and inputs are too big, allow scrolling instead of overflowing
- 🔐 Check for `OPENAI_API_KEY` on `Conversation` creation
Fixed
- 🐛 Fixed the run_cell builtin to actually return the result. This reintroduces side effects of display output, meaning outputs from run_cell will now appear in the notebook and be visible to the Language Model as part of the run.
- ✅ Extended type for parameters_model is now correctly `Optional[Type["BaseModel"]]` so that you can extend a model for parameters in your own typed Python code. This is now mypy compliant.
Removed
- 🚗 Took out the `auto_continue` option since it only applied to function calls and generally should be `True` for function call responses