if you know what OS you want to build for you can create a platform specific executable using the --self-contained true option along with -r and it will include the .net runtime in the package. This increases the file size, but then you aren't dependent on dotnet being installed on the system where you are running it. This also helps in scenarios where you have multiple applications that might use different versions of the .net runtime on the same system, or when you are deploying to systems where you might not be able to control what versions are installed.
Amazing Matt, thank you very much. I use C# to develop my AutoCAD plugin, and I'm very excited to discover situations that I will use this fantastic resource.
Yes this is exactly what I thought. For sure semantic kernel supports not only C# but also Java and Phyton - hence I think it will get more attention and more maintenance. Also I think it supports more models. Not sure why this nuget was created. I think we will see in coming months how it will be developed.
Hi Matt, since you mentioned Ollama in the context of large production environments, could you share your thoughts on Ollama vs. vLLM? Both in terms of speed, scalability and ease of setup.
Fetching nuget packages is a separate command on windows to but many IDE's handle that though a menu or simlar, but when doing build pipes you still need to do it, but you should be able to do it through the dotnet runtime with "dotnet restore", but I have not tested this on a mac, only on linux.
Thx. After download, install and running the ollama service local, i had to execute "ollama run llama3.2" before the chat example can access it. (3.2 instead of 3.1 as model.) Not sure if it downloads package / plugin or is it building content ?
.NET on Mac is not unusual - I know many, many .NET developers which use a Mac. And did you know there are some great IDEs like Rider which works super fast on M-Macbooks. In fact I would never switch back to windows.
I wonder Matt were do you picture this nuget package against semantic kernel? I wonder if Microsoft is planning to maintain it heavily if there is actually a wider project (C#, Java, Python)/more established project already? Mine first opinion - I would go with semantic kernel. But video is very informative :)
I really do not know if we can call C# implementation an AI framework , more a web service call , looks like ollama is still doing the heavy lifting . A lot of third party libraries tried to implement NN functionality in C# , never really took off , I remember building a NN in C# in my collage days, it was painful , Python seems born to do this , the Syntax feel so natural . I think what started AI for Python was Numpy.
Framework, api, sdk. Terms blend together and everyone defines them differently. This is simply a library that allows you to call any supported model runner in a consistent way. For a c# dev this is great. And since c# is designed to make a lot of things a whole lot easier (and does a great job of it) it’s pretty useful. To suggest that Python would be easier suggests you are just more familiar with Python as there is nothing in Python that makes it more or less suited to that particular task.
C#/.NET is not a Windows only thing any more. It's been available on other OSs for half a decade as .NET and for 2 decades as MONO. Only the Windows registry and GUIs (WinForms, WPF¹, WinUI²) parts are Windows only. Alternatives: 1: Avalonia 2: Uno
I've been working on a rag tool. LLMs to give a few interpretations of each snippet, hoping that those will embed better It's using Microsoft.SemanticKernel Worked well for calling ollama, sqlite But the chroma hooks were lacking (I kicked off a python process for talking to chroma). It works until they add better support It would be interesting to compare this new package with semantic kernel (a very microsoft type of name)
Super easy. Assuming you have installed the easy way using docker, then stop the container, pull the latest version, restart the container. Keeping things up to date is one of Docker's magic powers. Even better to use a container called watchtower to automatize this.
@@technovangelist Thanks. Job done. I have tried RAG with my Motorcycle manual and Washing machine parts catalogue. Pretty good. I am going to explore loading more manuals and expanding the knowledge base to become a mechanical engineering genius. Maybe. Apparently some adjustments will be need. Thanks for the channel covering this important exiting phase of human culture.
Because I haven't seen anything run better on windows. If you are on Windows, and 75% of ollama users are on Windows, then there is nothing faster. But Ollama on Windows vs Linux vs Mac is about equal everywhere, given comparable hw.
@@technovangelist Thanks for your response. I run Ollama on Ubuntu and thought maybe I was missing something and Windows might be better. You make great content!! Keep up the great work.
If I remember right, I tried to install Ollama and I had to choose Open AI Key. I use Microsoft Azure OpenAI, does that work in Ollama? I am a C# developer and not sure I see the value in this.
Problem with .Net is that most of the new tech is cloud based and is almost always behind everyone. Microsoft is trying too hard too cash out on us so I prefer to learn python rather than keep dreaming about open sourced frameworks and good services like hugging face fully integrated with .Net. and working locally if I wish. What I do is simple REST API using python and hugging face to get the model running, then I just call endpoints from C# and thats it. Works well, better than anything Microsoft came up with for local AI for now. It took me less time to learn python to the point I could do this than fighting these Microsoft frameworks for AI always having some issues and limits. Their solutions might work well for corporations, but in my opinion will slowly lead to an outflow of programmers over time to Python and more friendly technologies for individual developers in AI area.
Hi Matt, isn't it possible to accomplish this already using python? why would someone bother to use c# and felll into a trap (.NET) the usual software industry lock in?
Why do you think .NET is for lock in? If you mean deployment, it’s been deployable to Linux for almost a decade now and you can use any DB and editor you want 🤷♂️
If the majority of the users - over 70% - are Windows users, why not focus and invest more effort in making the experience on Windows great. Windows is the largest open developers and non-developers platform in the world.
@obinnaokafor6252 .net core is designed to be cross platform.. I'm all for something that lives in this world but even better of it is easily accessible across all platforms.
I prefer not to rely on Microsoft. Their focus seems to be on monetizing at every opportunity, and I don’t want to risk being forced into using Azure or another proprietary platform. That said, I do use C# because of my long experience with it. For any AI needs in my C# applications, I simply connect to my LLMs through APIs, avoiding any unnecessary dependencies on Microsoft services.
I would say that is true of Google and most other companies. Of all the companies I have worked at it was among the most focused on getting customers to use partner solutions rather than anything by MS.
I agree with you , tried using C# semantic kernel with functional calling and multiple agents. It was a disaster so far if you don’t use their Azure AI. I’m considering learning python and use an api instead.
Well that's everything really. Computer languages are just for humans to express to machines. Now the machines can do it for themselves who needs humans and their languages?
I stopped programming in 99 but C# got me back on track. I love it.
So you made a 2 year break until 2001 ?
if you know what OS you want to build for you can create a platform specific executable using the --self-contained true option along with -r and it will include the .net runtime in the package. This increases the file size, but then you aren't dependent on dotnet being installed on the system where you are running it. This also helps in scenarios where you have multiple applications that might use different versions of the .net runtime on the same system, or when you are deploying to systems where you might not be able to control what versions are installed.
Thanks for sharing that. I didn't know, but I thought it had to be there.
Amazing Matt, thank you very much. I use C# to develop my AutoCAD plugin, and I'm very excited to discover situations that I will use this fantastic resource.
@@RomuloMagalhaesAutoTOPO what do you mean for my "autocad plugin" ? Please elaborate is it a sellable product!!
This is awesome. But how does this differ from Semantic Kernel? AI is moving too fast and Im having a hard time catching up to it ;)
Yes this is exactly what I thought. For sure semantic kernel supports not only C# but also Java and Phyton - hence I think it will get more attention and more maintenance. Also I think it supports more models. Not sure why this nuget was created. I think we will see in coming months how it will be developed.
Hi Matt, since you mentioned Ollama in the context of large production environments, could you share your thoughts on Ollama vs. vLLM? Both in terms of speed, scalability and ease of setup.
Agree... This is a very good request since I believe vLLM support more LLM architectures
Fetching nuget packages is a separate command on windows to but many IDE's handle that though a menu or simlar, but when doing build pipes you still need to do it, but you should be able to do it through the dotnet runtime with "dotnet restore", but I have not tested this on a mac, only on linux.
C# is my goto language so this will help my integration and automation projects.
that’s great to hear
Thx. After download, install and running the ollama service local, i had to execute "ollama run llama3.2" before the chat example can access it. (3.2 instead of 3.1 as model.) Not sure if it downloads package / plugin or is it building content ?
yup, you need a model to be able to do anything. That’s why the install tells you to add a model.
A great presentation of this topic - upvoted, and ... many thanks 👍
Cool Library. I must admit, I miss the news streams.
do you? i wasn't sure that anyone did
OK.
I am using VS 2022. How I can use this new technology of AI?
.NET on Mac is not unusual - I know many, many .NET developers which use a Mac. And did you know there are some great IDEs like Rider which works super fast on M-Macbooks. In fact I would never switch back to windows.
I have been using Mac for C# development for many years. I usually use VS Code instead of Rider or Visual Studio
I wonder Matt were do you picture this nuget package against semantic kernel? I wonder if Microsoft is planning to maintain it heavily if there is actually a wider project (C#, Java, Python)/more established project already? Mine first opinion - I would go with semantic kernel. But video is very informative :)
Love, love, love all your videos. Thank you!
Thanks for your content! Q questions, what do you think is the future of Semantic Kernel? Is it gonna be replaced by this new library?
hello, you should use this famed and gamed, thing to improve windows
I really do not know if we can call C# implementation an AI framework , more a web service call , looks like ollama is still doing the heavy lifting . A lot of third party libraries tried to implement NN functionality in C# , never really took off , I remember building a NN in C# in my collage days, it was painful , Python seems born to do this , the Syntax feel so natural . I think what started AI for Python was Numpy.
Framework, api, sdk. Terms blend together and everyone defines them differently. This is simply a library that allows you to call any supported model runner in a consistent way. For a c# dev this is great. And since c# is designed to make a lot of things a whole lot easier (and does a great job of it) it’s pretty useful. To suggest that Python would be easier suggests you are just more familiar with Python as there is nothing in Python that makes it more or less suited to that particular task.
Thank you very much Matt! This information is very much helpful.
I've been using Microsoft Semantic Kernel. Will that go away and be replaced by this?
Nope
Not interested in C# but thanks for the good content🌹🌹🌹
Try "LangPipe AI C#"
C#/.NET is not a Windows only thing any more. It's been available on other OSs for half a decade as .NET and for 2 decades as MONO. Only the Windows registry and GUIs (WinForms, WPF¹, WinUI²) parts are Windows only.
Alternatives:
1: Avalonia
2: Uno
Yup. I was at Microsoft when we tried to recruit Miguel dicaza from Mexico way back.
Was wondering if ollama can be used with powershell
yes
So this is not related to semantic kernel?
i think it is
I've been working on a rag tool. LLMs to give a few interpretations of each snippet, hoping that those will embed better
It's using Microsoft.SemanticKernel
Worked well for calling ollama, sqlite
But the chroma hooks were lacking (I kicked off a python process for talking to chroma). It works until they add better support
It would be interesting to compare this new package with semantic kernel (a very microsoft type of name)
Great video. Thank you!❤
open web ui has update how i update it ? also i made a php front end for use with ollama works well :) it has a cache too to save energy and time!
Also, Note that in the latest release document concept has changed a bit and now referred to as "knowledge". This threw me for a few minutes.
I would like to know that too.
Super easy. Assuming you have installed the easy way using docker, then stop the container, pull the latest version, restart the container. Keeping things up to date is one of Docker's magic powers. Even better to use a container called watchtower to automatize this.
@@technovangelist
Thanks. Job done. I have tried RAG with my Motorcycle manual and Washing machine parts catalogue. Pretty good. I am going to explore loading more manuals and expanding the knowledge base to become a mechanical engineering genius. Maybe. Apparently some adjustments will be need.
Thanks for the channel covering this important exiting phase of human culture.
❤❤❤❤❤❤❤
This is not a OS religious war question, but I'm curious why Ollama would run better on Windows as you mentioned in the video.
Because I haven't seen anything run better on windows. If you are on Windows, and 75% of ollama users are on Windows, then there is nothing faster. But Ollama on Windows vs Linux vs Mac is about equal everywhere, given comparable hw.
@@technovangelist Thanks for your response. I run Ollama on Ubuntu and thought maybe I was missing something and Windows might be better. You make great content!! Keep up the great work.
I like your videos 👍🏻👍🏻👍🏻 abd thank you for your work
Thanks
If I remember right, I tried to install Ollama and I had to choose Open AI Key. I use Microsoft Azure OpenAI, does that work in Ollama? I am a C# developer and not sure I see the value in this.
Ollama has nothing to do with OpenAI. No need for any key. Doesn’t have any of the privacy and security concerns of OpenAI.
Problem with .Net is that most of the new tech is cloud based and is almost always behind everyone. Microsoft is trying too hard too cash out on us so I prefer to learn python rather than keep dreaming about open sourced frameworks and good services like hugging face fully integrated with .Net. and working locally if I wish. What I do is simple REST API using python and hugging face to get the model running, then I just call endpoints from C# and thats it. Works well, better than anything Microsoft came up with for local AI for now. It took me less time to learn python to the point I could do this than fighting these Microsoft frameworks for AI always having some issues and limits. Their solutions might work well for corporations, but in my opinion will slowly lead to an outflow of programmers over time to Python and more friendly technologies for individual developers in AI area.
I don’t love c# but I would chose it any day over the disaster that is Python.
Gosh, not into python or C#
You aren’t?
Hi Matt, isn't it possible to accomplish this already using python? why would someone bother to use c# and felll into a trap (.NET) the usual software industry lock in?
I would stick to something like TypeScript first but if you are already in that world, isn't having access to a good library for AI a good thing?
The only folks who think avoiding vendor lockin is possible are those who haven’t built significant apps
Why do you think .NET is for lock in? If you mean deployment, it’s been deployable to Linux for almost a decade now and you can use any DB and editor you want 🤷♂️
i wouldn't think .net is the reason you are locked in. its everything else. nothing to do with microsoft
Developing software with c# is so much better than python or Java.. and visual studio is the best ide out there
If the majority of the users - over 70% - are Windows users, why not focus and invest more effort in making the experience on Windows great. Windows is the largest open developers and non-developers platform in the world.
The windows experience is just as good as Mac and Linux. They all perform equally well.
@obinnaokafor6252 .net core is designed to be cross platform.. I'm all for something that lives in this world but even better of it is easily accessible across all platforms.
I prefer not to rely on Microsoft. Their focus seems to be on monetizing at every opportunity, and I don’t want to risk being forced into using Azure or another proprietary platform. That said, I do use C# because of my long experience with it. For any AI needs in my C# applications, I simply connect to my LLMs through APIs, avoiding any unnecessary dependencies on Microsoft services.
I would say that is true of Google and most other companies. Of all the companies I have worked at it was among the most focused on getting customers to use partner solutions rather than anything by MS.
I agree with you , tried using C# semantic kernel with functional calling and multiple agents. It was a disaster so far if you don’t use their Azure AI. I’m considering learning python and use an api instead.
C# stuff calcifies and will be irrelevant and unable to adapt in 3 years. This release is just pre-deprecated.
Well that's everything really. Computer languages are just for humans to express to machines. Now the machines can do it for themselves who needs humans and their languages?
That would be your problem for not writing enough vendor-agnostic interfaces to swap out the important bits when they age
Its already irrelevant.
Haters have been saying that for decades.... and been wrong every time.
C# is dead. it has around 1% of software market. No future for c#.
I doubt c# is dying anytime soon. Its never gotten the attention it deserves. If you are in that ecosystem, it can be great
You are incredibly ignorant. Lol
Lol, you are so clueless, but if it makes you feel better...