Giter Club home page Giter Club logo

semantic-kernel-vs-langchain's Introduction

Semantic Kernel vs LangChain

The repo tries to compare Semantic Kernel and LangChain to show the difference and similarity between them.

LangChain Semantic Kernel Note
Chains Kernel Construct sequences of calls
Agents Planner Auto create chains to address novel needs for a user
Tools Plugins (semantic functions + native function) Custom components that can be reused across different apps
Memory Memory Store context and embeddings in memory or other storage

Initial Release Date

LangChain: Oct, 2022

Semantic Kernel: Mar, 2023

Some Numbers

Semantic Kernel: Github Stars NuGet Pip Downloads GitHub contributors

LangChain: Github Stars Downloads GitHub contributors

Supported languages

Language LangChain Semantic Kernel
Python
JavaScript
C#
Java

Data connection (Retrieval)

Many LLM applications require user-specific data that is not part of the model's training set. The primary way of accomplishing this is through Retrieval Augmented Generation (RAG). In this process, external data is retrieved and then passed to the LLM when doing the generation step.

Data connection

Building block LangChain Semantic Kernel
Document loaders: Load documents from many different sources Over 100 document loaders: File Loaders (CSV, Docx, EPUB, JSON, PDF, Markdown...) and Web Loaders (Azure Storage, S3, GitHub, Figma...) Word
Document transformers: Split documents, drop redundant documents, and more Multiple Split methods
Text embedding models: Take unstructured text and turn it into a list of floating point numbers Over 25 different embedding providers: OpenAI, Azure OpenAI, Hugging Face, Cohere, Google PaLM, Google Vertex AI, TensorFlow... OpenAI, Azure OpenAI, Hugging Face
Vector stores: Store and search over embedded data Over 50 vector stores About 10 vector stores
Retrievers: Query your data Simple semantic search, Contextual compression, Time-weighted vector store retriever, Parent Document Retriever, Self Query Retriever, Ensemble Retriever, and more. Simple semantic search

Automatically orchestrate AI

Type LangChain's Agents Semantic Kernel's Planner
Conversational
Plan and execute ✅ (SequentialPlanner)
ReAct ✅ (StepwisePlanner)
Tree of Thoughts (ToT)

semantic-kernel-vs-langchain's People

Contributors

agoncal avatar formulahendry avatar tonyqus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

semantic-kernel-vs-langchain's Issues

Question about semantic kernel

I have a few questions about SK while I'm evaluating this tech. By google search, I found your post.

It's nice to see that you are doing neutral comparison even if you are a MSFT. It's much useful than some Microsoft zombie MVPs in China are doing. They just praise and promote SK without their brain.

The biggest quesiton in my mind is that

Is SK strong-binding to Azure? I understand this open source project is from bing and o365 team. But I see that all the LLM model it supports are usually cloud based (such as OpenAI, Azure OpenAI). In other words, can I run SK on AWS?

These comparisons are way out of context.

These comparisons are way out of context.

We cannot compare a stack that solves everything within the same framework with another framework that uses pluggable pieces of Azure services.
For example: Azure's OpenAi service supports .md, .txt, .html and .pdf types in its semantic searches. The semantic kernel would only integrate with these services. (which makes the comparison a bit

I suggest taking a look at:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.