Building packages using Umbraco AI

So I’m looking at creating some new packages that use AI (apparently it’s quite popular with the kids?) and naturally my first thought was to build on top of Microsoft Extensions AI but then there’s also, of course, Umbraco AI which also builds on that. So would it make sense for any package I built to have a dependency on Umbraco AI? Is that the recommended route? Or should I just add my own direct dependency (and risk versioning hell?)?

Any thoughts?

It’s very much the intention with Umbraco.AI that others will build on top of it, that’s why it’s all split up. The core is the main parts you need (connections, profiles, contexts and other base stuff). There is an Agents package if you want more than simple completions. This saves you from having to reimplement all of this and provides a standard way for users to manage the connections.

The prompts and copilot packages are built in top of this and act as examples for others to copy.

2 Likes

Just to plug my blog post around this where I’ve combined the various “getting started” ways for a package in one, it’s been pretty successful during various AI hackathons:

This will give you a setup of absolutely everything you could need for a package:

  • csproj ready for building nupkg
  • frontend / npm set up
  • all of the Umbraco.AI packages installed ready to extend
  • a test site with a starter kit so you have something to test it out with

The benefits of using Umbraco.AI as a dependency is that you the whole AI section in Umbraco for free, so all of the things like easily set up AI providers, prompts, tracking your usage (to control costs), logs, testing, etc.

Of course you can build directly on the Microsoft Extensions but it doesn’t give you anything inside of Umbraco.

2 Likes

Perfect! That’s really helpful and has helped me on my way to updating my Diplo.Translator package to use Umbraco.AI - check it out Diplo Translator | Umbraco Marketplace

2 Likes