|
|
|
|
|
by arunmu
620 days ago
|
|
> No LangChain, no LangGraph, no LlamaIndex, no CrewAI Bless you. Using these over complicated abstractions (except CrewAI which I haven't yet checked out) never made sense to me. I understand that LLM is no magic wand and there is a need to make it systematic rather than slapping prompts everywhere. But these frameworks are not the solution to it. Next I will be looking at is Microsofts semantic-kernel. Anybody has any good words for it ? |
|
It's heavily tilted towards OpenAI and it's offerings (either through OpenAI API or through Azure). However, it works decent enough for other alternatives as well, like: huggingface or ollama. Compared to the others (CrewAI etc). I kind of feel like Semantic Kernel hasn't really solved observe ability yet. Sure you can connect what ever logging/metric solution .Net supports, but it's not as seamless like the others. Semantic Kernel is available in .Net, Java and Python. But it's quite obvious .Net is a lot more polished then the others. Python usually gets new features faster, or at least pocs or previews.
Some learnings from it all:
- It's quite easy to get started with
- I like the distinction between native plugins and textbased ones (if a plugin should run code or not)
- There is a feeling of black magic in the background, in the sense of observe ability
- A bit more manual work to get things in order, compared to the alternatives
- Rapid development, it's quite clear the development team from Microsoft is doing a lot of work with this library
All and all, if you feel comfortable with writing C#, then Semantic Kernel is totally a viable option. If you prefer python over anything else, then I would say llamaindex or langchain is probably a better option (for now).
edit: updated some formatting