This is wonderful! I got a Phi-3 mini model and used the Cookbook for hints on how to set up a C# project and was able to get Phi running with DirectML, which is becoming my favorite execution provider now (long-time DirectX/3D developer!). After fixing a couple confusing errors due to NuGet packages I got it running and chatting in the terminal. Now I'm integrating it more properly into a WinUI 3 application with some abstractions that enable any part(s) of the app to consume "AI services" without caring about technical specifics of each model and variant or where it's located (i.e., local, cloud, web server, LAN, etc).
I'm already a bit "off the grid" in terms of documented workflows with established best practices, which is fun and gives one a chance to explore and be innovative and inventive, but I find myself wanting/needing to know more about how all these cool emerging NuGet packages and toys are meant to fit and work together insofar as the wider "ML.NET" ecosystem and these special packages for supporting ONNX, DirectML/CUDA, etc. There's a growing number of NuGet packages for this stuff now, often with similar-looking names and fatal consequences (to your app) for picking the wrong one or having a mismatch. I would propose that a great article (which could be updated time to time) would be a guide to the complex packages ecosystem for ML in the .NET universe and help us all understand better what things do and don't go together, with helpful tips/tricks and warnings about particular combinations of things that are either really useful or invalid/bad. It's a tricky landscape to navigate purely on your experience with .NET and best instincts!