.NET 9 即将发布 RC1, 今年初.NET 团队在发布.NET 9 Preview 1版本时写了一篇文章《我们对 .NET 9 的愿景》,其中特别提到了对AI的展望 .NET 9,我们致力于让 .NET 开发人员更轻松地将人工智能集成到他们现有的和新的应用程序中。 开发人员将找到用于使用 OpenAI 和 OSS 模型(托管和本地)的优秀库和文档,我们将继续在Semantic Kernel,、OpenAI 和 Azure SDK 方面进行合作,以确保 .NET 开发人员拥有构建智能应用程序的一流体验 。
在 .NET 9 中,.NET 社区正在大力推动 AI -- 这非常令人震惊......就像 AI 现在很重要。 在过去大数据、移动互联网时代。由于微软的封闭和不够开放,错过了两个时代,不过在云原生和人工智能时代,.NET已经完成脱胎换骨,变得开放又强大,特别是即将到来的.NET 9,帮助开发人员构建更智能的应用程序方面有非常大的改进。下面是我汇总的.NET 社区里这一年在AI 方面的新进展。
1、TensorFlow.NET升级
TensorFlow.NET 正在通过高性能 C# 绑定和自动微分支持进行升级。完整的 Keras API 现在也采用 C# 语言:
2、OpenAI SDK 集成
OpenAI SDK 使开发人员能够直接访问 OpenAI 最新的公共 AI 模型,包括 GPT-4 及其结构化输出功能。这意味着您将拥有完整的 API 支持,包括同步和异步 API 以满足您的需求 - 甚至是用于实时处理的流式完成。SDK 是可扩展的,因此您可以进一步自定义它。此外,它还与 Azure OpenAI 进行了集成,用于企业级部署,也方便对接各种兼容OpenAI API的各大模型。这为使用对话式 AI、动态内容生成和 AI 驱动功能(如音频转录和文本转语音生成)构建更智能的 .NET 应用程序提供了大量可能性。
3、ONNX 运行时原生支持
无需再费力地进行单独的软件包安装。 我们获得了一个专用命名空间 (Microsoft.ML.OnnxRuntime),其中包含一个 API 来直接加载和运行 ONNX 模型:
4、开发人员友好的ML.NET 4.0
AutoML 通过多指标优化和时间序列预测支持变得更加智能:
Microsoft.ML.GenAI.Core
、Microsoft.ML.GenAI.Phi
、Microsoft.ML.GenAI.LLaMA
和Microsoft.ML.GenAI.Mistral
以及Microsoft.ML.GenAI.StableDiffusion。
5、.NET 9 中的 AI 辅助代码生成
AI 辅助代码生成(代码片段、重构、单元测试)通过 dotnet ai 命令集成到 .NET 9 SDK 中,非常棒:
6、NLP 工具
.NET 9 提供了一组丰富的 NLP 工具,用于标记化、NER*、情感分析和文本分类:
var tokenizer = new Tokenizer(); var tokens = tokenizer.Tokenize("Hello, world!");
var ner = new NamedEntityRecognizer(); var entities = ner.RecognizeEntities("Microsoft was founded by Bill Gates.");
7、.NET 9 中的 GPU 加速
.NET 9 中的 GPU 加速比以往任何时候都更容易获得:
8、简化的 AI 模型部署
.NET 9 通过新的 ASP.NET Core 集成简化了 AI 模型部署:
9、新的数值 API
.NET 9 引入了新的数值 API,以实现高效的张量和矩阵运算:
10、监控和观察您的 LLM 应用程序
大型语言模型 (LLM) 应用程序需要可靠、高性能和高质量的结果。 开发人员需要在开发和生产环境中测量和跟踪LLM 应用程序的结果和行为,并识别和解决任何问题。
11、.NET 的Semantic kernel
Semantic kernel是一种开源 SDK,可在 .NET 应用中启用 AI 集成和业务流程功能。 对于将一个或多个 AI 服务与其他 API 或 Web 服务、数据存储和自定义代码结合使用的 .NET 应用程序,此 SDK 通常是推荐的 AI 编排工具。 语义内核以以下方式使企业开发人员受益:
12、比以往任何时候都更强大.NET 社区
.NET 是开源的,包括 GitHub 上提供的所有库、工具和框架,因此一直在进行大量协作。C# 已经在人工智能领域发展并站稳脚跟,.NET社区也在努力建设中。下面我们列出社区中一些资源供大家参考:
AIDotNet:https://github.com/AIDotNet
Senaprc.AI: https://github.com/Senparc/Senparc.AI
13、.NET 9 + 人工智能
Microsoft 正在 AI 方面进行重大投资,并且他们正在推动 .NET 和开发社区的发展。.NET 生态系统提供了许多强大的工具、库和服务来开发 AI 应用程序。 .NET 支持云和本地 AI 模型连接、适用于各种 AI 和矢量数据库服务的许多不同的 SDK 以及其他工具,有助于构建范围和复杂性不同的智能应用。