{"id":13560226,"url":"https://github.com/formulahendry/semantic-kernel-vs-langchain","last_synced_at":"2025-04-14T15:42:41.213Z","repository":{"id":189911428,"uuid":"681521224","full_name":"formulahendry/semantic-kernel-vs-langchain","owner":"formulahendry","description":"Compare Semantic Kernel and LangChain","archived":false,"fork":false,"pushed_at":"2024-04-20T21:32:45.000Z","size":726,"stargazers_count":107,"open_issues_count":1,"forks_count":9,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-28T04:33:08.996Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/formulahendry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-22T07:36:24.000Z","updated_at":"2025-03-22T20:42:16.000Z","dependencies_parsed_at":"2023-08-22T11:11:29.990Z","dependency_job_id":"fa9713eb-142f-432f-98d2-cf4416f56a6a","html_url":"https://github.com/formulahendry/semantic-kernel-vs-langchain","commit_stats":null,"previous_names":["formulahendry/semantic-kernel-vs-langchain"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formulahendry%2Fsemantic-kernel-vs-langchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formulahendry%2Fsemantic-kernel-vs-langchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formulahendry%2Fsemantic-kernel-vs-langchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formulahendry%2Fsemantic-kernel-vs-langchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/formulahendry","download_url":"https://codeload.github.com/formulahendry/semantic-kernel-vs-langchain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248907933,"owners_count":21181434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:00:39.846Z","updated_at":"2025-04-14T15:42:41.186Z","avatar_url":"https://github.com/formulahendry.png","language":null,"funding_links":[],"categories":["Semantickernel Framework"],"sub_categories":[],"readme":"# Semantic Kernel vs LangChain\r\n\r\nThe repo tries to compare Semantic Kernel and LangChain to show the difference and similarity between them.\r\n\r\n| LangChain | Semantic Kernel                                | Note                                                       |\r\n| --------- | ---------------------------------------------- | ---------------------------------------------------------- |\r\n| Chains    | Kernel                                         | Construct sequences of calls                               |\r\n| Agents    | Planner                                        | Auto create chains to address novel needs for a user       |\r\n| Tools     | Plugins (semantic functions + native function) | Custom components that can be reused across different apps |\r\n| Memory    | Memory                                         | Store context and embeddings in memory or other storage    |\r\n\r\n## Initial Release Date\r\nLangChain: Oct, 2022\r\n\r\nSemantic Kernel: Mar, 2023 \r\n\r\n## Some Numbers\r\nSemantic Kernel: \u003cimg alt=\"Github Stars\" src=\"https://img.shields.io/github/stars/microsoft/semantic-kernel?logo=github\u0026style=flat-square\u0026labelColor=343b41\"/\u003e [![NuGet](https://img.shields.io/nuget/dt/Microsoft.SemanticKernel?label=Nuget-downloads)](https://www.nuget.org/packages/Microsoft.SemanticKernel) [![Pip Downloads](https://static.pepy.tech/badge/semantic-kernel)](https://pepy.tech/project/semantic-kernel) \u003cimg src=\"https://img.shields.io/github/contributors/microsoft/semantic-kernel?logo=github\u0026label=contributors\" alt=\"GitHub contributors\"/\u003e\r\n\r\nLangChain: \u003cimg alt=\"Github Stars\" src=\"https://img.shields.io/github/stars/langchain-ai/langchain?logo=github\u0026style=flat-square\u0026labelColor=343b41\"/\u003e [![Downloads](https://static.pepy.tech/badge/langchain)](https://pepy.tech/project/langchain) \u003cimg src=\"https://img.shields.io/github/contributors/langchain-ai/langchain?logo=github\u0026label=contributors\" alt=\"GitHub contributors\"/\u003e\r\n\r\n\r\n## Supported languages\r\n\r\n| Language   | LangChain | Semantic Kernel |\r\n| ---------- | --------- | --------------- |\r\n| Python     | ✅        | ✅              |\r\n| JavaScript | ✅        | ❌              |\r\n| C#         | ❌        | ✅              |\r\n| Java       | ✅        | ✅              |\r\n\r\n## Data connection (Retrieval)\r\n\r\nMany 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.\r\n\r\n![Data connection](./images/data_connection.jpg)\r\n\r\n| Building block                                                                                  | LangChain                                                                                                                                                                                                                                                                                                                                        | Semantic Kernel                    |\r\n| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- |\r\n| Document loaders: Load documents from many different sources                                    | Over 100 document loaders: [File Loaders](https://js.langchain.com/docs/modules/data_connection/document_loaders/integrations/file_loaders/) (CSV, Docx, EPUB, JSON, PDF, Markdown...) and [Web Loaders](https://js.langchain.com/docs/modules/data_connection/document_loaders/integrations/web_loaders/) (Azure Storage, S3, GitHub, Figma...) | Word                               |\r\n| Document transformers: Split documents, drop redundant documents, and more                      | Multiple Split methods                                                                                                                                                                                                                                                                                                                           | ❌                                 |\r\n| 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 |\r\n| Vector stores: Store and search over embedded data                                              | Over 50 vector stores                                                                                                                                                                                                                                                                                                                            | About 10 vector stores             |\r\n| 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             |\r\n\r\n\r\n## Automatically orchestrate AI\r\n\r\n| Type                   | LangChain's Agents | Semantic Kernel's Planner |\r\n| ---------------------- | ------------------ | ------------------------- |\r\n| Conversational         | ✅                 | ❌                        |\r\n| Plan and execute       | ✅                 | ✅ (SequentialPlanner)    |\r\n| ReAct                  | ✅                 | ✅ (StepwisePlanner)      |\r\n| Tree of Thoughts (ToT) | ✅                 | ❌                        |\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fformulahendry%2Fsemantic-kernel-vs-langchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fformulahendry%2Fsemantic-kernel-vs-langchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fformulahendry%2Fsemantic-kernel-vs-langchain/lists"}