Skip to content

v1.8.0

Compare
Choose a tag to compare
@MFA-X-AI MFA-X-AI released this 12 May 08:43
· 418 commits to master since this release

We're excited to announce the release of Xircuits v1.8.0, which brings several enhancements and bug fixes to improve your Xircuits experience. This update from the 1.7.0 release includes automatic initialization of In/OutArgs, a new Compile Error Handler, and fixes for Literal List and Dict compile issues. We've also integrated an external XAI library with an installation command.

The display of long strings and canvas size effects on literal strings has been improved, and we've added support for multiple types of ports and input types.

We're also introducing new component libraries, including OpenAI, GPT Agent Toolkit, Slack and Discord! Lastly, we've added literal data validation to prevent compilation breaks and a new Literal Secret Component. We would like to extend a warm welcome to our new contributor @romina1601, who made their first contribution in this release.

What's Changed

Breaking Changes:

  • We've updated the way you initialize the In/OutArgs so it's automatic. If your ports are all None / empty() ports, you can remove it all together and let Xircuits auto-init it for you.

    Code

    Previous

    @xai_component
    class SaveTorchModelState(Component):
    
        model: InCompArg[nn.Module]
        model_path: InArg[str]
        
        def __init__(self):
            self.done = False
            
            self.model = InCompArg(None)
            self.model_path = InArg(None)
        
        def execute(self,ctx) -> None:
        # execution code
    

    Updated

    @xai_component
    class SaveTorchModelState(Component):
    
        model: InCompArg[nn.Module]
        model_path: InArg[str]
        
        def execute(self,ctx) -> None:
        # execution code
    
  • If you need to init a value, add super().__init__(), remove the empty ports, then update the value like this:

    Code

    Previous

    def __init__(self):
    
          self.model_in = InArg.empty()
          self.loss_in = InArg.empty()
          self.learning_rate = InArg(1e-3)
          self.optimizer_in = InArg.empty()
          self.should_flatten = InArg(False)
          self.model_config = OutArg.empty()
          self.loss_fn = OutArg.empty()
          self.optimizer = OutArg.empty()
    

    Updated

    def __init__(self):
        super().__init__()
        self.learning_rate.value = 1e-3
        self.should_flatten.value = False
    
  • We've removed the old debugger to prepare for the new one. For this one, all you need to do is update your xai_components/base.py to the new one. You can also remove all the self.done from your component codes.

Xircuits Core Features:

Component Library

Bug Fixes:

Other

New Contributors

Full Changelog: v1.7.0...v1.8.0