├── CONTRIBUTING.md ├── LICENSE ├── README_zh.md └── README.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | ## New entry format 4 | 5 | * Use the following format: \[LIBRARY\]\(LINK\) - DESCRIPTION 6 | * The link should be the name of the package or project 7 | * Keep descriptions concise, clear and simple 8 | * New categories, or improvements to the existing ones are also welcome 9 | 10 | ## Pull requests workflow 11 | 12 | * **Submit one link per pull request.** If you want to add several links, create a PR for each one, unless all of the proposed projects belong to the same category. Pull requests should have a meaningful project description, why do you want to add it to the list and any other relevant information. This will help maintainers with the review process. 13 | * **Include a link to the added project in the PR description.** This will greatly improve email messages received by everyone watching this repository. 14 | 15 | ## Quality standard 16 | 17 | To stay on the list, projects should follow these quality standards: 18 | 19 | * Generally useful to the community 20 | * Actively maintained (even if that just means acknowledging open issues when they arise) 21 | * Uses current tech/techniques (AI is a rapidly changing space and we want to try and share resources that are currently relevant) 22 | 23 | ## Research projects 24 | 25 | If you include a research or academic project, please use the `**[Research]**` tag. 26 | 27 | ## Proprietary/commercial software notice 28 | 29 | If including an SDK for commercial software/services and that SDK isn't officially supported for that software, please use the `**[Unofficial]**` tag. 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README_zh.md: -------------------------------------------------------------------------------- 1 | # .NET和人工智能资源精选列表 2 | [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 3 | 4 | 如果您有兴趣在.NET中使用人工智能(AI),这里有一系列示例、教程、SDK和视频帮助您入门并深入理解。目前涵盖的主题包括生成式人工智能(GenAI)和大型语言模型(LLMs)。 5 | 6 | 灵感来自 [frontend-dev-bookmarks](https://github.com/dypsilon/frontend-dev-bookmarks)、[ruby-bookmarks](https://github.com/dreikanter/ruby-bookmarks)、[awesome-machine-learning](https://github.com/josephmisiti/awesome-machine-learning)、[awesome-generative-ai](https://github.com/steven2358/awesome-generative-ai) 和 [awesome-dotnet](https://github.com/quozd/awesome-dotnet) 等的启发。 7 | 8 | 欢迎贡献内容!请先查看[贡献指南和质量标准页面](CONTRIBUTING.md)。如果您发现这里的内容/链接有问题,也可以[报告问题](https://github.com/jmatthiesen/dotnet-ai-resources/issues)。如果您有一般性反馈,或者对特定示例有请求,也可以在 [讨论](https://github.com/jmatthiesen/dotnet-ai-resources/discussions) 部分提出。 9 | 10 | # 许可证 11 | 12 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 13 | 14 | 注意:这个列表目前由[Jordan Matthiesen](https://github.com/jmatthiesen)在GitHub上托管,这里的内容包含并不意味着由我或我的雇主直接背书。我(和其他贡献者)发现这些项目有用,认为更广泛的.NET开发者社区会发现它们有帮助。欢迎提供反馈! 15 | 16 | # 内容目录 17 | 18 | - [入门](#getting-started) 19 | - [新闻和社交媒体](#news--social-media) 20 | - [社区和论坛](#community-and-forums) 21 | - [教程和示例](#tutorials) 22 | - [使用本地模型](#working-with-local-models) 23 | - [处理数据/检索增强生成](#working-with-data) 24 | - [使用助手/代理](#使用-assistantsagents) 25 | - [在不同工作负载/应用类型中包含AI](#include-ai-in-different-workloadsapp-types) 26 | - [SDK](#sdks) 27 | - [Semantic Kernel](#semantic-kernel) 28 | - [AutoGen.Net](#autogennet) 29 | - [协调器](#orchestrators) 30 | - [向量存储SDK](#vector-store-sdks) 31 | - [AI服务](#ai-services) 32 | 33 | # 入门 34 | 35 | - [针对初学者的.NET中的生成式AI](https://youtube.com/playlist?list=PLdo4fOcmZ0oW_k4_eDTPWDLUVWz7A9y0M&si=c7B1fz4oQQYHEfy2) - 微软提供的入门课程,总结了生成式AI、机器学习(ML)之间的差异,以及如何入门。 36 | - [AI 初学者系列的源代码](https://github.com/dotnet/beginner-series/tree/main/Artificial%20Intelligence%20and%20Machine%20Learning) - 上述介绍系列中的演示文稿和示例源代码。 37 | - [.NET Conf 2023上的.NET开发者的生成式AI | .NET Conf 2023](https://youtu.be/yc0Zl_UXCY4?si=ko3xGqncKakU2xSt) - .NET Conf 2023会议:生成式AI入门 - 一个30分钟的介绍生成式AI的核心概念以及示例代码。 38 | - [用.NET和Azure构建智能应用程序](https://www.youtube.com/watch?v=-3SrUqjq9Ic&list=PLdo4fOcmZ0oULyHSPBx-tQzePOYlhvrAU) - .NET Conf 2023会议,通过Azure OpenAI SDK,引导走 through OpenAI APIs using .NETthrough OpenAI APIs using .NET。 39 | - [OpenAI与.NET示例笔记本](https://github.com/Azure-Samples/openai-dotnet-samples) | [公告帖子](https://devblogs.microsoft.com/dotnet/getting-started-azure-openai-dotnet/) - 大量示例笔记本(使用Polyglot笔记本),展示如何用.NET执行对OpenAI的各种操作。 40 | - [系列博客;在.NET中开始使用OpenAI](https://devblogs.microsoft.com/dotnet/getting-started-azure-openai-dotnet/) - 博客系列概述了如何在.NET中使用OpenAI(系列其他帖子包括以下内容): 41 | - [使用.NET开始使用OpenAI补全](https://devblogs.microsoft.com/dotnet/get-started-with-open-ai-completions-with-dotnet/) - 一个关于OpenAI补全的介绍,由模型如GPT生成的回复。 42 | - [通过提示工程提升你的GPT游戏](https://devblogs.microsoft.com/dotnet/gpt-prompt-engineering-openai-azure-dotnet/) - 引入提示工程,如何优化它们,以获得更相关的结果。 43 | - [在.NET中开始使用ChatGPT](https://devblogs.microsoft.com/dotnet/get-started-chatgpt-azure-dotnet/) - 描述了ChatGPT是什么以及核心概念,比如角色和聊天历史。 44 | 45 | # 新闻和社交媒体 46 | 47 | - [.NET + AI新闻来自.NET博客](https://devblogs.microsoft.com/dotnet/category/ai/) - 这是微软官方.NET博客的AI分类,您可以在这里找到.NET团队关于AI的最新帖子。 48 | 49 | # 社区和论坛 50 | 51 | - [.NET + AI on StackOverflow](https://stackoverflow.com/questions/tagged/.net+artificial-intelligence) - 在StackOverflow中关于`.net` + `artificial-intelligence`标签的搜索结果,一个发布问题给社区的好地方。 52 | - [Azure AI社区](https://discord.com/invite/ByRwuEEgH4) - 有关Azure AI讨论的Discord社区。 53 | 54 | # 教程和示例 55 | 56 | ## 教程 57 | 58 | - [用AI构建你自己的课程助手](https://youtu.be/BRaltelZt6U?si=uuUvRc_9jSW4L601) "你在使用Azure OpenAI服务构建Copilot应用吗?你理解Copilot Stack的概念吗?在这次会议中,我们将使用Semantic Kernel构建您的第一个基于Copilot Stack的Copilot应用程序。" - 由Luis Quintanilla(微软)和Kinfey Lo(微软)主持 59 | - [.NET Semantic Kernel 教程: 从零到浣熊英雄](https://www.youtube.com/playlist?list=PLPK0YODPQ5naaUwDNFay0mlRwaV_AbrX6) - 此视频教程系列,展示了如何使用Azure OpenAI、.NET、语义内核(Semantic Kernel)和OpenTelemetry创建一个生产就绪的大型语言模型(LLM)工具。 60 | 61 | ## 参考应用程序 62 | 63 | - [Azure Search with OpenAI - C#示例](https://github.com/Azure-Samples/azure-search-openai-demo-csharp/) - [文档](https://learn.microsoft.com/dotnet/azure/ai/get-started-app-chat-template?tabs=github-codespaces) | [公告帖子](https://devblogs.microsoft.com/dotnet/transform-business-smart-dotnet-apps-azure-chatgpt/) ChatGPT + 企业数据与Azure OpenAI和认知搜索(.NET) 64 | - [eShop](https://github.com/dotnet/eShop/) 65 | 66 | ## 使用本地模型 67 | 68 | - [Torchsharp-phi](https://github.com/LittleLittleCloud/Torchsharp-phi) - 一个基于 [Torchsharp](https://github.com/dotnet/TorchSharp) 实现的Phi模型。 69 | - [使用TorchSharp操作Llama2](https://github.com/LittleLittleCloud/Torchsharp-llama) -一个基于 [Torchsharp](https://github.com/dotnet/TorchSharp) 实现的llama-2模型。 70 | 71 | ## 使用多模态模型 72 | 73 | - [使用Azure OpenAI服务生成图像](https://learn.microsoft.com/en-us/azure/ai-services/openai/dall-e-quickstart?tabs=dalle3%2Ccommand-line&pivots=programming-language-csharp) - 快速入门教程,展示如何使用Azure OpenAI SDK for C#来使用DALL-E生成图像。 74 | - [使用AI生成图像,使用Stable Diffusion、C#和ONNX运行时](https://devblogs.microsoft.com/dotnet/generate-ai-images-stable-diffusion-csharp-onnx-runtime/) - 关于如何使用ONNX运行时和.NET访问Stable Diffusion模型来生成图像的概述 75 | 76 | ## 处理数据 77 | 78 | - [用.NET揭开检索增强生成功能的神秘面纱](https://devblogs.microsoft.com/dotnet/demystifying-retrieval-augmented-generation-with-dotnet/) - 关于如何在.NET中用称为检索增强生成的概念处理数据的详细指南。 79 | - [用Redis让.NET智能应用更智慧以及一致](https://devblogs.microsoft.com/dotnet/redis-makes-intelligent-apps-smarter-and-consistent/) 关于如何将Redis运用成智能应用的多功能数据存储。例如检索增强生成,向量搜索查询, 语义缓存 80 | - [AugmentR](https://github.com/bradygaster/AugmentR) - 一个示例聊天机器人,展示了如何在.NET Aspire项目中使用Semantic Kernel,通过公共互联网URL的数据增强聊天。 81 | - [Vector Search AI助手](https://github.com/Azure/Vector-Search-AI-Assistant/tree/cognitive-search-vector) - 演示如何结合来自CosmosDB的数据,并通过认知搜索进行查询,创建AI搜索助手的应用程序。 82 | - [使用MongoDB的Vector Search AI助手](https://github.com/Azure/Vector-Search-AI-Assistant-MongoDBvCore) - 演示如何结合来自Azure CosmosDB for MongoDB的数据,并通过Azure OpenAI服务进行查询的应用程序。 83 | - [Azure 上的检索增强生成示例](https://github.com/microsoft/AzureDataRetrievalAugmentedGenerationSamples/) - 包括许多 C# 示例,演示如何使用 CosmosDB + MongoDB 或 NoSQL。 84 | 85 | 86 | ## 使用 Assistants/Agents 87 | 88 | - [Azure OpenAI:OpenAI助手客户端库](https://learn.microsoft.com/en-us/dotnet/api/overview/azure/ai.openai.assistants-readme?view=azure-dotnet-preview) - **[预发布]** Azure OpenAI SDK中OpenAI助手支持的参考文档,包括示例代码。 89 | 90 | ## 在不同工作负载/应用类型中包含AI 91 | 92 | ### NET MAUI - 移动开发 93 | - [教程:使用 .NET MAUI 和 ChatGPT 创建推荐应用](https://learn.microsoft.com/en-us/windows/apps/windows-dotnet-maui/tutorial-maui-ai) - 指导教程,介绍如何创建适用于 ChatGPT 的简单 .NET MAUI 应用程序。 94 | - [快速入门:将 DALL-E 添加到 .NET MAUI Windows 桌面应用](https://learn.microsoft.com/en-us/windows/apps/windows-dotnet-maui/dall-e-maui-windows) - 指导教程,演示如何创建使用 DALL-E 生成映像的简单 .NET MAUI 应用程序。 95 | 96 | 97 | ### Teams 98 | 99 | - [.NET Conf 2023上使用Teams Toolkit和.NET的AI库构建带有生成式AI的机器人 | .NET Conf 2023](https://youtu.be/E6sEr3OrwgA?si=VmL5yUr3B21yU83u) - 如何为Microsoft Teams创建使用生成式AI和.NET的机器人。 100 | - [使用Azure AI Search和.NET,为Copilot for Microsoft 365上的外部数据启用混合搜索(向量+语义)](https://adoption.microsoft.com/en-us/sample-solution-gallery/sample/officedev-copilot-for-m365-plugins-samples-msgext-doc-search-csharp/) - 微软示例展示如何在Teams消息扩展中整合Azure Search。 101 | 102 | # SDK 103 | 104 | ## Semantic Kernel 105 | - [Overview - Semantic Kernel](https://github.com/microsoft/semantic-kernel) - 一个由微软构建的SDK,允许您“构建可以调用现有代码的代理”。提供了在.NET中工作的本地支持。 106 | - [Semantic Kernel Cookbook](https://github.com/microsoft/SemanticKernelCookBook) - 使用Semantic Kernel实现常见任务的示例集合,提供了.NET开发人员的Polyglot笔记本。 107 | 108 | ## AutoGen.Net 109 | - [AutoGen.Net](https://microsoft.github.io/autogen-for-net/) - [AutoGen](https://microsoft.github.io/autogen/)的官方.NET实现。AutoGen是由MS Research构建的多代理对话框架,允许您轻松构建多代理对话和工作流程。 110 | 111 | ## 协调器 112 | - [LangChain](https://github.com/tryAGI/LangChain/) **[非官方]** -.NET中广受欢迎的LangChain Python项目的实现。注意:目前它处于早期状态,正在寻找贡献者! 113 | 114 | ## 向量存储SDK 115 | 116 | - [NRedis Stack .NET SDK](https://github.com/redis/NRedisStack) - 用Redis做向量搜索的.NET开发工具库 117 | - [Redis OM for .NET](https://redis.io/docs/latest/integrate/redisom-for-net/) - 用Redis做对象搜索和语义缓存的.NET开发框架 118 | - [Milvus C# SDK](https://milvus.io/docs/v2.2.x/install-csharp.md) - 用于与Milvus向量DB解决方案一起工作的.NET SDK。 119 | - [Pinecone](https://github.com/neon-sunset/Pinecone.NET) - **[非官方]** 社区支持的SDK,用于与Pinecone向量DB一起工作。 120 | - [Qdrant .NET SDK](https://github.com/qdrant/qdrant-dotnet) - SDK用于与Qdrant向量DB一起工作。 121 | - [Weaviate](https://github.com/Unipisa/WeaviateNET) - [非官方] 社区支持使用 Weaviate vector DB 的 SDK。 122 | 123 | ## 人工智能服务 124 | 125 | - [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/) - Azure OpenAI服务的概览,包括用于.NET的[快速开始示例](https://learn.microsoft.com/en-us/azure/ai-services/openai/chatgpt-quickstart?tabs=command-line%2Cpython&pivots=programming-language-csharp)。 126 | - [Azure OpenAI服务示例](https://github.com/Azure-Samples/openai/) - 演示如何使用Azure OpenAI SDK的示例笔记本,许多示例为C#/.NET的Polyglot Notebooks。 127 | - [适用于OpenAI GPT引擎的Azure函数绑定](https://github.com/Azure/azure-functions-openai-extension) - **[开发中]** Azure函数中新的OpenAI绑定的非常早期的评审,包括对C#的支持。 128 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # A curated list of .NET + AI resources 2 | [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 3 | 4 | Interested in working with AI in .NET? Here's a collection of samples, tutorials, SDKs, and videos to help you get started and go deeper. Topics covered currently include generative artificial intelligence (GenAI) and large language models (LLMs). 5 | 6 | Inspired by [frontend-dev-bookmarks](https://github.com/dypsilon/frontend-dev-bookmarks), [ruby-bookmarks](https://github.com/dreikanter/ruby-bookmarks), [awesome-machine-learning](https://github.com/josephmisiti/awesome-machine-learning), [awesome-generative-ai](https://github.com/steven2358/awesome-generative-ai) and [awesome-dotnet](https://github.com/quozd/awesome-dotnet). 7 | 8 | Contributions are always welcome! Please take a look at the [contribution guidelines and quality standard pages first](CONTRIBUTING.md). If you find issues with the content/links here, you can also [report them](https://github.com/jmatthiesen/dotnet-ai-resources/issues). If you have general feedback, or have a request for a specific sample, feel free to ask in the [Discussions](https://github.com/jmatthiesen/dotnet-ai-resources/discussions) section as well. 9 | 10 | # License 11 | 12 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 13 | 14 | Note: This list is currently hosted on GitHub by me, [Jordan Matthiesen](https://github.com/jmatthiesen), and inclusion here doesn't imply a direct endorsement from me or my employer. I'm including projects I (and other contributors) find useful and think that the broader .NET developer community will find helpful. Feedback is welcome! 15 | 16 | # Contents 17 | - [Getting Started](#getting-started) 18 | - [News & Social Media](#news--social-media) 19 | - [Community and Forums](#community-and-forums) 20 | - [Tutorials and Samples](#tutorials) 21 | - [Working with Local Models](#working-with-local-models) 22 | - [Working with Data / Retrieval-Augmented-Generation)](#working-with-data) 23 | - [Using Assistants/Agents](#using-assistantsagents) 24 | - [Include AI in different workloads/app types](#include-ai-in-different-workloadsapp-types) 25 | - [SDKs](#sdks) 26 | - [Semantic Kernel](#semantic-kernel) 27 | - [AutoGen.Net](#autogennet) 28 | - [Orchestrators](#orchestrators) 29 | - [Vector Stores](#vector-store-sdks) 30 | - [AI Services](#ai-services) 31 | 32 | # Getting Started 33 | 34 | - [AI for .NET Developers docs](https://learn.microsoft.com/en-us/dotnet/ai/) - The .NET + AI documentation site, providing an overview of AI concepts for .NET developers. 35 | - [Generative AI with .NET for Beginners](https://youtube.com/playlist?list=PLdo4fOcmZ0oW_k4_eDTPWDLUVWz7A9y0M&si=c7B1fz4oQQYHEfy2) - An introductory course from Microsoft, summarizing the differences betwen Generative AI, Machine Learning (ML) and how you can get started with both. 36 | - [Source code for AI Beginner Series](https://github.com/dotnet/beginner-series/tree/main/Artificial%20Intelligence%20and%20Machine%20Learning) - The presentation and sample source from the above intro series. 37 | - [.NET Conf: Focus on AI 2024 event](https://www.youtube.com/watch?v=0btB9W04y0Q&list=PLdo4fOcmZ0oX7Yg1cixIj6hXjz9C5MHJR) - A 2024 event hosted by the .NET team and friends. This event includes intros and some deep dives into a variety of .NET + AI related topics. 38 | - [Building Intelligent Apps with .NET and Azure](https://www.youtube.com/watch?v=-3SrUqjq9Ic&list=PLdo4fOcmZ0oULyHSPBx-tQzePOYlhvrAU) - .NET Conf 2023 session with a guided walkthrough to using OpenAI APIs, through the Azure OpenAI SDK, with .NET. 39 | 40 | # News & Social media 41 | 42 | - [.NET + AI news from the .NET Blog](https://devblogs.microsoft.com/dotnet/category/ai/) - This is the AI category of the official .NET blog from Microsoft, where you can find the latest AI-specific posts from the .NET team. 43 | 44 | # Community and Forums 45 | 46 | - [.NET + AI on StackOverflow](https://stackoverflow.com/questions/tagged/.net+artificial-intelligence) - Search results for the `.net` + `artificial-intelligence` tags on StackOverflow, a great place to post questions to the community. 47 | - [Azure AI Community](https://discord.com/invite/ByRwuEEgH4) - Discord community for discussions about Azure AI. 48 | 49 | # Tutorials and Samples 50 | 51 | ## Tutorials 52 | 53 | - [Build your own Course Assistant with AI](https://youtu.be/BRaltelZt6U?si=uuUvRc_9jSW4L601) "Are you using Azure OpenAI Service to build Copilot applications? Do you understand the concept of Copilot Stack? In this session we will use Semantic Kernel to build your first Copilot application based on Copilot Stack." - Hosted by Luis Quintanilla (Microsoft) and Kinfey Lo (Microsoft) 54 | - [Semantic Kernel tutorial with dotnet: From Zero to Raccoon-Hero](https://www.youtube.com/playlist?list=PLPK0YODPQ5naaUwDNFay0mlRwaV_AbrX6) - A video series tutorial showing how to create a production-ready LLM tool using Azure OpenAI, .NET, Semantic Kernel and OpenTelemetry. 55 | 56 | ## Reference Applications 57 | 58 | - [Azure Search with OpenAI - C# Sample](https://github.com/Azure-Samples/azure-search-openai-demo-csharp/) - [Documentation](https://learn.microsoft.com/dotnet/azure/ai/get-started-app-chat-template?tabs=github-codespaces) | [Announcement Post](https://devblogs.microsoft.com/dotnet/transform-business-smart-dotnet-apps-azure-chatgpt/) ChatGPT + Enterprise data with Azure OpenAI and Cognitive Search (.NET) 59 | - [eShop Reference Application](https://github.com/dotnet/eShop/) - An eCommerce sample application built on .NET 8, .NET Aspire, and using Semantic Kernel to demonstrate an AI chat bot. 60 | - [eShopSupport](https://github.com/dotnet/eShopSupport) - A sample customer support application for the eShop eCommerce solution. This sample demonstrates a variety of AI features: data generation, sentiment analysis, entity extraction, summarization, classification, as well as chat interactions. 61 | 62 | ## Working with Local Models 63 | 64 | - [Using Phi2 with TorchSharp](https://github.com/LittleLittleCloud/Torchsharp-phi) - A sample demonstrating how to access the Phi2 model in your local system, using .NET with the help of the [TorchSharp](https://github.com/dotnet/TorchSharp) library. 65 | - [Using Llama2 with TorchSharp](https://github.com/LittleLittleCloud/Torchsharp-llama) - This sample shows how to use the Llama2 model from your local system, using .NET with the help of the [TorchSharp](https://github.com/dotnet/TorchSharp) library. 66 | 67 | ## Using Multi-modal Models 68 | 69 | - [Generate images with Azure OpenAI Servide](https://learn.microsoft.com/en-us/azure/ai-services/openai/dall-e-quickstart?tabs=dalle3%2Ccommand-line&pivots=programming-language-csharp) - Quick start tutorial showing how to use the Azure OpenAI SDK for C# to generate images using DALL-E. 70 | - [Generate images with AI using Stable Diffusion, C#, and ONNX Runtime](https://devblogs.microsoft.com/dotnet/generate-ai-images-stable-diffusion-csharp-onnx-runtime/) - Overview of how you could access the Stable Diffusion model to generate images using .NET with the ONNX runtime 71 | 72 | ## Working with Data 73 | 74 | - [Demystifying Retrieval Augmented Generation with .NET](https://devblogs.microsoft.com/dotnet/demystifying-retrieval-augmented-generation-with-dotnet/) - A detailed walkthrough of how to work with your data in .NET, using the concept known as Retrieval Augmented Generation. 75 | - [Making AI powered .NET apps more consistent and intelligent with Redis](https://devblogs.microsoft.com/dotnet/redis-makes-intelligent-apps-smarter-and-consistent/) - A walkthrough on using Redis as the multi-purpose data store for intelligent apps. Highligint Retrievel Augmented Generation and Semantic Caching with Redis. 76 | - [AugmentR](https://github.com/bradygaster/AugmentR) - An example chat bot demonstrating the use of Semantic Kernel in a .NET Aspire project, augmenting chats with data from public internet URLs. 77 | - [Vector Search AI Assistant](https://github.com/Azure/Vector-Search-AI-Assistant/tree/cognitive-search-vector) - Demo app showing how to combine data from CosmosDB, with Azure OpenAI Services and queries against cognitive search to create an AI search assistant. 78 | - [Vector Search AI Assistant with MongoDB](https://github.com/Azure/Vector-Search-AI-Assistant-MongoDBvCore) - Demo app showing how to combine data from Azure CosmosDB for MongoDB, with queries against Azure OpenAI Services. 79 | - [Samples for Retrieval Augmented Generation on Azure](https://github.com/microsoft/AzureDataRetrievalAugmentedGenerationSamples/) - Includes many examples in C# showing how to work with CosmosDB + MongoDB or NoSQL. 80 | 81 | ### CosmosDB + AI 82 | 83 | - [Build a Copilot app using Azure Cosmos DB, Azure OpenAI Service and Azure App Service](https://github.com/AzureCosmosDB/cosmosdb-nosql-copilot) - 84 | 85 | ## Using Assistants/Agents 86 | 87 | - [Getting started using Azure OpenAI Assistants with C#](https://learn.microsoft.com/en-us/azure/ai-services/openai/assistants-quickstart?tabs=command-line&pivots=programming-language-csharp) - **[Pre-release]** A walkthrough showing how to use AI assistants with the Azure OpenAI SDK and C#. 88 | 89 | - [AntRunner](https://github.com/douglasware/antrunner) - A complete set of .NET tools for creating and using Open AI and Azure Open AI Assistants with support for vector stores, code interpreter files, and function calling with local .NET functions and REST APIs with auth. 90 | 91 | ## Include AI in different workloads/app types 92 | 93 | ### ASP.NET Core 94 | 95 | - [AI Chat App Quickstart using ASP.NET Core and a Blazor frontend](https://github.com/Azure-Samples/ai-chat-quickstart-csharp/) - Includes support for working with OpenAI models, local models, models available through GitHub Models, and Azure AI Model Catalog. 96 | 97 | ### .NET MAUI - Mobile Development 98 | 99 | - [Tutorial: Create a recommendation app with .NET MAUI and ChatGPT](https://learn.microsoft.com/en-us/windows/apps/windows-dotnet-maui/tutorial-maui-ai) - Guided tutorial walking through how to create a simple .NET MAUI application that works with ChatGPT. 100 | - [Quickstart: Add DALL-E to your .NET MAUI Windows desktop app](https://learn.microsoft.com/en-us/windows/apps/windows-dotnet-maui/dall-e-maui-windows) - Guided tutorial walking through how to create a simple .NET MAUI application that generates images using DALL-E. 101 | 102 | ### Teams 103 | 104 | - [Building generative AI powered bots with Teams Toolkit and AI library for .NET | .NET Conf 2023](https://youtu.be/E6sEr3OrwgA?si=VmL5yUr3B21yU83u) - How to create bots for use in Microsoft Teams, using generative AI and .NET. 105 | - [Enable Hybrid Search (Vector + Semantic) for your external data on Copilot for Microsoft 365 using Azure AI Search and .NET](https://adoption.microsoft.com/en-us/sample-solution-gallery/sample/officedev-copilot-for-m365-plugins-samples-msgext-doc-search-csharp/) - Microsoft sample showing how to integrate Azure Search in a Teams message extension. 106 | 107 | # SDKs 108 | 109 | ## AutoGen.Net 110 | 111 | - [AutoGen.Net](https://microsoft.github.io/autogen-for-net/) - Official .NET implementation of the [AutoGen](https://microsoft.github.io/autogen/) python project. AutoGen is a multi-agent conversation framework built by MS Research that allows you to easily construct multi-agent conversation and workflows. 112 | 113 | ## Azure AI Inference SDK 114 | 115 | - [Introducing the Azure AI Inference SDK](https://devblogs.microsoft.com/dotnet/azure-ai-model-catalog-dotnet-inference-sdk/) - This SDK lets you easily access and use a wide range of AI models from the Azure AI Model Catalog for inference tasks like chat. 116 | 117 | ## Microsoft.Extensions.AI 118 | 119 | - [Microsoft.Extensions.AI Source on GitHub](https://github.com/dotnet/extensions/tree/main/src/Libraries/Microsoft.Extensions.AI) 120 | - [Introducing Microsoft.Extensions.AI preview](https://devblogs.microsoft.com/dotnet/introducing-microsoft-extensions-ai-preview/) - A set of core .NET libraries developed in collaboration with developers across the .NET ecosystem, including Semantic Kernel. These libraries provide a unified layer of C# abstractions for interacting with AI services, such as small and large language models (SLMs and LLMs), embeddings, and middleware. 121 | - [Samples for Microsoft.Extensions.AI](https://github.com/dotnet/extensions/tree/main/src/Libraries/Microsoft.Extensions.AI) 122 | 123 | ## OllamaSharp 124 | 125 | - [OllamaSharp source and docs](https://github.com/awaescher/OllamaSharp) - A library for working with [Ollama](https://www.ollama.com) to run AI models locally. 126 | 127 | ## OpenAI SDK 128 | 129 | - [OpenAI SDK for .NET on GitHub](https://github.com/openai/openai-dotnet) - Includes the source, documentation, and samples for working with the library. 130 | - [Announcing the OpenAI Library for .NET](https://devblogs.microsoft.com/dotnet/announcing-the-stable-release-of-the-official-open-ai-library-for-dotnet/) - Announcement blog post shared on the .NET blog. 131 | 132 | ## Semantic Kernel 133 | 134 | - [Semantic Kernel Source on GitHub](https://github.com/microsoft/semantic-kernel) 135 | - [Overview - Semantic Kernel](https://learn.microsoft.com/semantic-kernel/overview/) - A library built by Microsoft that lets you "build agents that can call your existing code." Provides native support for working in .NET. 136 | - [Semantic Kernel Cookbook](https://github.com/microsoft/SemanticKernelCookBook) - A set of examples for achieving common tasks using Semantic Kernel, with Polyglot Notebooks available for .NET developers. 137 | 138 | ## Orchestrators 139 | 140 | - [LangChain](https://github.com/tryAGI/LangChain/) **[Unofficial]** - .NET implementation of the popular LangChain Python project. Note: Currently it's in an early state, and looking for contributors! 141 | 142 | ## Vector Store SDKs 143 | 144 | - [NRedis Stack .NET SDK](https://github.com/redis/NRedisStack) - A .NET SDK for working with Redis Enterprise for Vector Similarity Search 145 | - [Redis OM for .NET](https://redis.io/docs/latest/integrate/redisom-for-net/) - A .NET SDK for Redis Search, Object Mapping, and Semantic Caching 146 | - [Milvus C# SDK](https://milvus.io/docs/v2.2.x/install-csharp.md) - A .NET SDK for working with the Milvus vector DB solution. 147 | - [Pinecone](https://docs.pinecone.io/reference/dotnet-sdk) - Official SDK for working with the Pinecone vector DB. 148 | - [Qdrant .NET SDK](https://github.com/qdrant/qdrant-dotnet) - SDK for working with the Qdrant vector DB. 149 | - [Weaviate](https://github.com/Unipisa/WeaviateNET) - **[Unofficial]** Community supported SDK for using the Weaviate vector DB. 150 | 151 | # Tooling 152 | 153 | - [Prompt files - using Prompty](https://www.prompty.ai) - An asset class and format for LLM prompts that aims to provide observability, understandability, and portability for developers. 154 | - [Add AI to Your .NET Apps Easily with Prompty](https://devblogs.microsoft.com/dotnet/add-ai-to-your-dotnet-apps-easily-with-prompty/) - A blog post with examples of how to use Prompty. 155 | 156 | # AI Services 157 | 158 | - [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/) - An overview of the Azure OpenAI service and including [Quick Start samples for .NET](https://learn.microsoft.com/en-us/azure/ai-services/openai/chatgpt-quickstart?tabs=command-line%2Cpython&pivots=programming-language-csharp). 159 | - [Azure OpenAI Service Samples](https://github.com/Azure-Samples/openai/) - Sample notebooks demonstrating how to use the Azure OpenAI SDK, with may samples in C#/.NET as Polyglot Notebooks. 160 | - [Azure Functions bindings for OpenAI's GPT engine](https://github.com/Azure/azure-functions-openai-extension) - **[In Development]** Very early review of new OpenAI bindings in Azure Functions, including support for C#. 161 | --------------------------------------------------------------------------------