5.6 Microsoft Semantic Kernel:专注于将LLM集成到现有应用中的框架

5.6.1 Semantic Kernel概述

Microsoft Semantic Kernel(以下简称SK)是一个开源的软件开发工具包(SDK),旨在帮助开发者将大型语言模型(LLM)无缝集成到现有的应用程序中。它支持C#、Python和Java等多种编程语言,提供了轻量级、模块化的框架,用于构建智能代理(Agent)并实现AI与传统代码的协同工作。SK的核心目标是通过提供统一的AI编排层,简化企业在现有系统上引入LLM的复杂性,同时确保企业级可靠性、安全性和可扩展性。

SK的设计理念是将LLM视为一种能力增强工具,通过与现有代码、数据源和API的深度集成,赋予应用程序自然语言处理、任务自动化和智能决策能力。它不仅支持单一LLM的调用,还能通过其代理框架和插件生态系统实现多代理协作,适用于从简单聊天机器人到复杂企业工作流的多种场景。

SK的独特优势包括:

  • 模型无关性:支持OpenAI、Azure OpenAI、Hugging Face、NVIDIA等多种LLM,开发者可以根据需求灵活选择模型。
  • 插件生态:通过插件机制,开发者可以将现有代码或外部API封装为可被LLM调用的功能模块。
  • 企业级特性:内置可观察性、安全性(例如通过Microsoft Graph的权限管理)和稳定的API,适合大规模生产环境。
  • 跨语言支持:C#、Python和Java的实现遵循各语言的开发习惯,确保开发体验自然流畅。

以下将详细探讨SK的架构、核心组件、实现方法以及在企业应用中的实践指南。

5.6.2 Semantic Kernel核心架构与组件

SK的架构围绕"内核"(Kernel)这一核心概念构建,Kernel作为一个依赖注入容器,负责管理AI服务、插件和上下文信息。以下是SK的核心组件及其功能:

5.6.2.1 内核(Kernel)

Kernel是SK的中枢,负责协调LLM、插件和外部服务的交互。它通过依赖注入管理所有资源,确保AI应用的模块化与可扩展性。Kernel的主要职责包括:

  • 服务选择:根据任务需求选择合适的AI服务(如Azure OpenAI或Hugging Face)。
  • 提示渲染:将用户输入和模板化提示词(Prompt)组合,生成可供LLM处理的请求。
  • 函数调用:解析LLM的响应,调用相应的插件或原生函数。
  • 上下文管理:维护会话状态和上下文信息,支持长期交互。

5.6.2.2 插件(Plugins)

插件是SK的功能扩展单元,封装了可被LLM调用的功能。SK支持两种类型的插件:

  • 语义函数(Semantic Functions):基于提示词的函数,直接调用LLM生成自然语言响应。例如,一个语义函数可以通过提示词生成文本摘要。
  • 原生函数(Native Functions):用C#、Python或Java编写的传统代码,处理LLM不擅长的任务,如数学计算、API调用或数据库操作。

插件通过OpenAPI规范定义,确保与其他系统(如Microsoft 365 Copilot或ChatGPT)的互操作性。开发者可以通过标注(如C#中的[KernelFunction])或配置文件将现有代码转化为插件。

5.6.2.3 规划器(Planner)

规划器是SK的高级组件,负责将复杂任务分解为多个子任务,并动态编排插件的调用顺序。规划器利用LLM的推理能力,生成执行计划,支持以下模式:

  • 顺序规划:按固定顺序执行一系列函数。
  • 条件规划:根据上下文动态选择执行路径。
  • 递归推理:通过多次调用LLM优化任务分解和执行。

规划器特别适合需要多步骤推理的任务,例如自动生成报告或处理多系统集成的业务流程。

5.6.2.4 记忆(Memory)

SK的记忆机制支持短期和长期上下文管理,分为:

  • 短期记忆(Volatile Memory):存储当前会话的上下文,适合实时交互。
  • 长期记忆(Vector Store):通过向量数据库(如Azure AI Search、Elasticsearch或Pinecone)存储嵌入(Embedding),支持语义搜索和知识检索。

记忆机制通过与向量数据库的集成,实现了高效的检索增强生成(RAG),使LLM能够基于企业数据生成更准确的响应。

5.6.2.5 代理框架(Agent Framework)

SK的代理框架支持构建自主或协作型智能代理。代理可以分为:

  • 单代理:独立完成任务,如智能客服。
  • 多代理:多个代理协作完成复杂工作流,如数据分析与报告生成。

代理框架通过与AutoGen的集成,提供了多代理对话和任务分配功能,进一步增强了SK在复杂场景中的适用性。

5.6.2.6 连接器(Connectors)

连接器是SK与外部系统交互的桥梁,支持与Microsoft Graph、REST API、数据库等集成。例如,通过Microsoft Graph连接器,SK可以基于用户权限动态生成个性化的响应。

5.6.3 Semantic Kernel的实现方法

以下是基于SK构建企业应用的典型开发流程,结合代码示例说明如何实现一个简单的智能代理。

5.6.3.1 环境配置

首先,安装SK的SDK。对于C#,可以通过NuGet安装:

bash

bash 复制代码
dotnet add package Microsoft.SemanticKernel

对于Python,安装PyPI包:

bash

bash 复制代码
pip install semantic-kernel

配置AI服务(如Azure OpenAI)的环境变量:

bash

bash 复制代码
export AZURE_OPENAI_API_KEY="your-api-key"
export AZURE_OPENAI_ENDPOINT="your-endpoint"
export AZURE_OPENAI_DEPLOYMENT="your-deployment"

5.6.3.2 创建内核

以下是一个C#示例,初始化内核并添加Azure OpenAI服务:

csharp

csharp 复制代码
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;

var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(
    deploymentName: Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT"),
    endpoint: Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT"),
    apiKey: Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY")
);
var kernel = builder.Build();

5.6.3.3 定义插件

创建一个原生函数插件,计算字符串长度:

csharp

csharp 复制代码
public class TextPlugin
{
    [KernelFunction]
    public int GetLength(string input) => input.Length;
}

将插件添加到内核:

csharp

csharp 复制代码
kernel.Plugins.AddFromType<TextPlugin>("TextPlugin");

5.6.3.4 创建代理

定义一个简单的聊天代理:

csharp

csharp 复制代码
var agent = new ChatCompletionAgent
{
    Name = "TextAgent",
    Instructions = "You are a helpful assistant that processes text inputs.",
    Kernel = kernel
};

5.6.3.5 执行任务

调用代理处理用户输入:

csharp

csharp 复制代码
await foreach (var response in agent.InvokeAsync("Count the length of 'Hello, World!'"))
{
    Console.WriteLine(response.Message); // 输出:13
}

5.6.3.6 集成外部API

假设需要调用天气API,可以定义一个插件:

csharp

csharp 复制代码
public class WeatherPlugin
{
    [KernelFunction]
    public async Task<string> GetWeatherAsync(string city)
    {
        // 模拟API调用
        return await Task.FromResult($"Weather in {city}: Sunny, 25°C");
    }
}

在提示词中调用插件:

csharp

csharp 复制代码
var prompt = "What's the weather in Shanghai?";
var result = await kernel.InvokePromptAsync(prompt);
Console.WriteLine(result); // 输出:Weather in Shanghai: Sunny, 25°C

5.6.4 企业应用实践

SK在企业场景中的应用广泛,以下结合典型案例说明其实现方式。

5.6.4.1 智能客服

需求:构建一个智能客服系统,能够回答用户问题并调用CRM系统记录交互。 实现:

  1. 配置记忆:使用Azure AI Search存储历史对话,支持上下文感知。
  2. 定义插件:创建插件调用CRM API,记录用户问题和解决方案。
  3. 代理设计:部署一个协作代理,结合LLM生成回答和插件执行操作。
  4. 部署:通过Azure Functions实现无服务器部署,确保高可用性。

5.6.4.2 数据分析助手

需求:生成销售数据的洞察报告,并支持自然语言查询。 实现:

  1. 数据连接:通过连接器访问SQL数据库,提取销售数据。
  2. 语义函数:设计提示词,将用户查询转化为SQL查询。
  3. 规划器:自动分解复杂查询(如"对比去年和今年的销售额"),生成多步执行计划。
  4. 可视化:通过插件调用Power BI API,生成可视化报告。

5.6.4.3 知识管理

需求:构建企业知识库,支持员工通过自然语言查询内部文档。 实现:

  1. 向量存储:使用Pinecone存储文档嵌入,支持语义搜索。
  2. RAG集成:结合LLM和检索结果生成准确回答。
  3. 权限控制:通过Microsoft Graph连接器,确保回答符合用户权限。

5.6.5 优势与局限性

5.6.5.1 优势

  • 无缝集成:与现有代码和API的高度兼容性,降低迁移成本。
  • 企业级支持:内置安全性和可观察性,适合生产环境。
  • 灵活性:支持多种LLM和编程语言,适应不同技术栈。
  • 生态系统:与Microsoft生态(如Azure、Microsoft 365)的深度集成。

5.6.5.2 局限性

  • 文档不足:部分语言(如Python、Java)的文档和示例相对C#较少,可能增加学习曲线。
  • 复杂性:对于简单任务,SK的配置可能显得过于复杂。
  • 依赖外部服务:部分功能(如向量存储)需要依赖Azure或其他云服务,增加部署成本。

5.6.6 最佳实践

  1. 模块化设计:将功能分解为独立插件,提高代码可维护性。
  2. 提示工程:优化提示词设计,确保LLM生成结果准确且高效。
  3. 性能监控:利用SK的日志和可观察性功能,实时监控系统性能。
  4. 增量实施:从小规模原型开始,逐步扩展到复杂工作流。
  5. 社区参与:利用SK的GitHub仓库和社区资源,获取最新更新和支持。

5.6.7 未来发展

SK正在快速迭代,未来可能在以下方向进一步增强:

  • 多模态支持:整合图像、音频等多模态数据,扩展应用场景。
  • AutoGen深度集成:通过与AutoGen的融合,提供更强大的多代理协作能力。
  • 无代码平台:结合AutoGen Studio,推出更易用的低代码开发工具。
  • 本地化部署:增强对本地模型(如Ollama)的支持,满足数据隐私需求。

5.6.8 总结

Microsoft Semantic Kernel通过其轻量级、模块化的设计,为企业提供了将LLM集成到现有应用的强大工具。其核心组件(Kernel、插件、规划器、记忆、代理框架)共同构建了一个灵活的AI编排层,支持从简单任务到复杂工作流的多种场景。尽管存在文档和复杂性方面的挑战,SK的企业级特性和与Microsoft生态的深度集成使其成为构建智能应用的理想选择。通过遵循最佳实践并结合实际案例,企业可以利用SK快速实现AI驱动的数字化转型。

AutoGen和Microsoft Semantic Kernel(SK)是两种主流的开源框架,用于构建基于大语言模型(LLM)的智能代理(Agent)应用。两者都支持LLM驱动的自动化任务,但在设计理念、功能特性、应用场景和实现方式上存在显著差异。以下从多个维度对AutoGen和SK进行详细比较,以帮助开发者选择适合自身需求的框架。


  1. 概述与设计理念

AutoGen

  • 概述:AutoGen是由Microsoft开发的一个开源框架,专注于多代理(Multi-Agent)协作系统的构建。它通过定义多个具有特定角色和能力的代理,支持复杂的对话和任务协作,特别适合需要动态交互和自动化工作流的场景。
  • 设计理念:以多代理协同为核心,强调代理间的对话和任务分解,模拟人类团队协作模式。AutoGen将LLM视为"可对话的计算单元",通过对话驱动任务执行。
  • 目标用户:AI研究人员、需要多代理系统的开发者、自动化任务工程师。

Semantic Kernel (SK)

  • 概述:SK是Microsoft开发的一个开源SDK,旨在将LLM无缝集成到现有应用程序中,提供统一的AI编排层。它支持单代理和多代理场景,强调与企业现有系统和代码的深度集成。
  • 设计理念:以"内核"为中心,通过模块化组件(插件、规划器、记忆等)整合LLM和传统代码,简化企业应用的开发和部署。SK更像是一个通用的AI集成框架,适用于多种场景。
  • 目标用户:企业开发者、技术决策者、需要将AI集成到现有系统的工程师。

比较

  • AutoGen专注于多代理对话和协作,适合探索复杂的代理交互逻辑。
  • SK更通用,强调LLM与现有系统的集成,适合企业级应用开发。
  • AutoGen更偏向研究和实验,SK更注重生产环境的稳定性和可扩展性。

  1. 核心功能与组件

AutoGen

  • 代理模型
    • 支持多种代理类型:用户代理(UserProxyAgent)、助手代理(AssistantAgent)、群聊代理(GroupChatAgent)。
    • 代理通过自然语言对话协作,动态分配任务。
  • 对话机制
    • 核心是对话驱动的任务执行,代理通过消息传递协商和完成任务。
    • 支持自定义对话模式(如顺序对话、群聊、嵌套对话)。
  • 工具调用
    • 提供工具集成功能,代理可以调用Python代码、API或其他外部工具。
    • 工具调用依赖于LLM的函数调用能力(如OpenAI的Function Calling)。
  • 记忆管理
    • 对话历史存储在内存中,支持上下文感知,但缺乏长期记忆或向量数据库集成。
  • 规划与编排
    • 通过对话动态规划任务,缺乏显式的规划器组件。
    • 依赖LLM的推理能力分解复杂任务。
  • 生态支持
    • 集成OpenAI、Azure OpenAI、Hugging Face等LLM。
    • 支持与SK的部分互操作(如代理框架集成)。

Semantic Kernel

  • 代理模型
    • 支持单代理(ChatCompletionAgent)和多代理(通过AutoGen或其他框架集成)。
    • 代理基于Kernel管理,强调模块化设计。
  • 对话机制
    • 通过提示词和插件驱动任务执行,交互逻辑由开发者定义。
    • 支持对话上下文管理,但更注重任务导向而非自由对话。
  • 工具调用
    • 提供强大的插件系统,支持语义函数(基于LLM)和原生函数(C#/Python/Java代码)。
    • 插件通过OpenAPI规范定义,支持与企业API和数据库无缝集成。
  • 记忆管理
    • 提供短期记忆(会话上下文)和长期记忆(向量数据库,如Azure AI Search、Pinecone)。
    • 支持检索增强生成(RAG),适合知识密集型应用。
  • 规划与编排
    • 内置规划器(Planner),支持顺序、条件和递归推理规划。
    • 规划器可自动分解复杂任务并生成执行计划。
  • 生态支持
    • 支持多种LLM(OpenAI、Azure OpenAI、Hugging Face、NVIDIA等)。
    • 与Microsoft生态深度集成(如Microsoft Graph、Azure Functions、Power BI)。
    • 支持C#、Python、Java,适合多种技术栈。

比较

  • 代理协作:AutoGen的多代理对话机制更灵活,适合动态交互场景;SK的代理更结构化,依赖规划器和插件。
  • 工具集成:SK的插件系统更强大,支持原生代码和企业级API;AutoGen的工具调用更轻量,依赖LLM推理。
  • 记忆管理:SK的长期记忆和RAG能力更适合知识库应用;AutoGen的记忆局限于对话历史。
  • 规划能力:SK的规划器提供显式的任务分解和编排;AutoGen依赖对话动态规划,灵活但可能不够结构化。
  • 生态支持:SK与Microsoft生态的深度集成和跨语言支持更适合企业;AutoGen更轻量,适合快速原型开发。

  1. 技术实现与开发体验

AutoGen

  • 编程语言:主要支持Python,代码风格简洁。

  • 开发流程

    1. 定义代理及其角色(例如,编码器、测试员、规划者)。
    2. 配置LLM服务(OpenAI、Azure OpenAI等)。
    3. 设置对话模式(单代理、群聊等)。
    4. 实现工具调用或自定义函数。
    5. 执行对话并处理结果。
  • 代码示例(Python):

    python

    python 复制代码
    from autogen import AssistantAgent, UserProxyAgent, config_list_from_json
    
    config_list = config_list_from_json("OAI_CONFIG_LIST.json")
    assistant = AssistantAgent("Assistant", llm_config={"config_list": config_list})
    user = UserProxyAgent("User", human_input_mode="ALWAYS")
    user.initiate_chat(assistant, message="Write a Python script to calculate factorial.")
  • 开发体验

    • 易于上手,适合快速原型开发。
    • 文档和社区支持较为活跃,但复杂场景的调试可能较困难。
    • 依赖LLM的对话能力,任务结果可能因提示词设计而异。

Semantic Kernel

  • 编程语言:支持C#、Python、Java,C#生态最成熟。

  • 开发流程

    1. 初始化Kernel并配置AI服务。
    2. 定义插件(语义函数或原生函数)。
    3. 配置代理或规划器,定义任务逻辑。
    4. 实现记忆或外部系统集成。
    5. 部署并监控应用。
  • 代码示例(C#):

    csharp

    csharp 复制代码
    using Microsoft.SemanticKernel;
    var builder = Kernel.CreateBuilder();
    builder.AddAzureOpenAIChatCompletion("deployment", "endpoint", "api-key");
    var kernel = builder.Build();
    var result = await kernel.InvokePromptAsync("Write a Python script to calculate factorial.");
    Console.WriteLine(result);
  • 开发体验

    • 配置较复杂,学习曲线稍陡,但适合企业级开发。
    • C#文档详尽,Python和Java文档相对较少。
    • 提供强大的调试和可观察性工具,适合生产环境。

比较

  • 语言支持:SK支持多语言,适合多样化的技术栈;AutoGen专注于Python,开发更轻量。
  • 开发复杂度:AutoGen的对话驱动开发更直观,适合快速实验;SK的模块化设计更复杂,但更适合结构化应用。
  • 调试与监控:SK提供企业级的可观察性和日志支持;AutoGen的调试依赖开发者手动分析对话历史。

  1. 应用场景

AutoGen

  • 优势场景
    • 多代理协作:如代码生成与测试(一个代理写代码,另一个代理测试)。
    • 自动化工作流:如市场分析(数据收集、分析、报告生成)。
    • 研究与实验:探索代理间动态交互逻辑。
  • 典型案例
    • 智能编程助手:多个代理协作完成代码编写、调试和优化。
    • 任务自动化:通过对话分解复杂任务(如行程规划)。
    • 教育与模拟:模拟团队协作,研究多代理行为。

Semantic Kernel

  • 优势场景
    • 企业系统集成:将LLM集成到CRM、ERP或知识库系统。
    • 知识密集型应用:如智能客服、数据分析助手。
    • 生产级部署:需要高可用性、安全性和可扩展性的场景。
  • 典型案例
    • 智能客服:结合Microsoft Graph和向量数据库,提供个性化回答。
    • 数据分析:通过插件调用SQL和Power BI,生成洞察报告。
    • 知识管理:基于RAG的内部文档查询系统。

比较

  • AutoGen适合需要动态交互和多代理协作的场景,如自动化工作流或研究。
  • SK更适合需要与现有系统深度集成、支持复杂业务逻辑的企业应用。
  • AutoGen更灵活但可能缺乏结构化;SK更结构化但配置成本较高。

  1. 优势与局限性

AutoGen

  • 优势
    • 多代理协作能力强大,适合复杂任务分解。
    • 轻量级,易于快速原型开发。
    • 对话驱动的任务执行灵活,适应动态场景。
    • 开源社区活跃,迭代速度快。
  • 局限性
    • 缺乏长期记忆和向量数据库支持,难以处理知识密集型任务。
    • 对LLM推理能力依赖较强,结果稳定性可能较低。
    • 生产环境支持较弱,缺乏企业级安全性与可观察性。
    • 仅支持Python,限制了技术栈选择。

Semantic Kernel

  • 优势
    • 支持多语言(C#、Python、Java),适应多样化技术栈。
    • 强大的插件系统和企业级集成能力,适合生产环境。
    • 提供长期记忆和RAG,适合知识密集型应用。
    • 与Microsoft生态深度集成,提供安全性、可观察性和高可用性。
  • 局限性
    • 配置和开发复杂度较高,学习曲线陡峭。
    • Python和Java生态相对C#较弱,文档支持不足。
    • 对于简单任务,SK的模块化设计可能显得过于复杂。
    • 部分功能依赖Azure等云服务,增加部署成本。

比较

  • AutoGen在多代理协作和快速原型开发方面更具优势;SK在企业集成、生产部署和知识管理方面更强。
  • AutoGen适合研究和轻量级应用;SK适合需要稳定性和可扩展性的企业场景。
  • AutoGen的局限性在于生产支持不足;SK的局限性在于开发复杂度和部分生态不成熟。

  1. 社区与生态

AutoGen

  • 社区:开源社区活跃,GitHub Star数较高,迭代频繁。
  • 文档:提供丰富的入门教程和案例,但复杂场景的文档较少。
  • 生态:与OpenAI、Hugging Face等LLM集成,支持与SK的部分互操作。
  • 未来发展:可能进一步增强多模态支持和与SK的融合。

Semantic Kernel

  • 社区:Microsoft支持的开源项目,社区稳步增长,C#生态更成熟。
  • 文档:C#文档详尽,Python和Java文档有待完善。
  • 生态:与Microsoft生态(Azure、Microsoft 365、Power BI)深度集成,支持多种LLM和向量数据库。
  • 未来发展:计划增强多模态支持、AutoGen集成和无代码开发工具。

比较

  • AutoGen的社区更偏向研究和开源开发者;SK的社区更偏向企业用户和Microsoft生态开发者。
  • AutoGen的文档更适合快速上手;SK的文档更适合企业级开发但不够全面。
  • SK的生态更丰富,适合企业集成;AutoGen的生态更轻量,适合灵活实验。

  1. 选择建议

选择AutoGen的场景

  • 需要多代理协作完成复杂任务(如代码生成、自动化工作流)。
  • 快速原型开发或研究多代理交互逻辑。
  • 技术栈以Python为主,开发者熟悉LLM对话机制。
  • 不需要复杂的生产环境支持或长期记忆。

选择Semantic Kernel的场景

  • 需要将LLM集成到现有企业系统(如CRM、ERP、知识库)。
  • 开发生产级应用,要求高可用性、安全性和可扩展性。
  • 需要支持多语言(C#、Python、Java)或与Microsoft生态集成。
  • 涉及知识密集型任务,需RAG或向量数据库支持。

结合使用的可能性

  • AutoGen和SK并非互斥,可以结合使用。例如,使用AutoGen实现多代理对话逻辑,通过SK的插件和记忆机制集成企业数据和API。
  • Microsoft正在推动两者的互操作性,未来可能通过AutoGen的代理框架增强SK的多代理能力。

  1. 总结
维度 AutoGen Semantic Kernel
设计理念 多代理协作,对话驱动任务执行 LLM与现有系统集成,模块化AI编排
核心功能 多代理对话、工具调用、动态规划 插件系统、规划器、记忆管理(RAG)、企业集成
编程语言 Python C#、Python、Java
开发复杂度 低,适合快速原型开发 中高,适合企业级开发
应用场景 多代理协作、自动化工作流、研究 企业系统集成、知识管理、生产级部署
优势 灵活、轻量、易上手 企业级支持、模块化、跨语言、生态丰富
局限性 生产支持弱、记忆能力有限 开发复杂、部分文档不足、云服务依赖
社区与生态 活跃、偏研究 稳步增长、偏企业、Microsoft生态支持

结论

  • 如果你需要快速构建多代理协作系统或进行AI研究,AutoGen是更轻量、灵活的选择。
  • 如果你需要在企业环境中集成LLM、支持复杂业务逻辑和生产部署,SK是更稳健、全面的框架。
  • 对于需要结合多代理协作和企业集成的场景,可以探索两者的互操作性,利用AutoGen的对话能力和SK的集成能力。
相关推荐
睿创咨询几秒前
科技与商业动态简报
人工智能·科技·ipd·商业
科技在线1 分钟前
科技赋能建筑新未来:中建海龙模块化建筑产品入选中国建筑首批产业化推广产品
大数据·人工智能
极小狐13 分钟前
极狐GitLab 如何 cherry-pick 变更?
人工智能·git·机器学习·gitlab
沛沛老爹18 分钟前
从线性到非线性:简单聊聊神经网络的常见三大激活函数
人工智能·深度学习·神经网络·激活函数·relu·sigmoid·tanh
0x21126 分钟前
[论文阅读]ReAct: Synergizing Reasoning and Acting in Language Models
人工智能·语言模型·自然语言处理
OpenC++34 分钟前
【C++QT】Buttons 按钮控件详解
c++·经验分享·qt·leetcode·microsoft
mucheni38 分钟前
迅为iTOP-RK3576开发板/核心板6TOPS超强算力NPU适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品
arm开发·人工智能·边缘计算
Jamence39 分钟前
多模态大语言模型arxiv论文略读(三十六)
人工智能·语言模型·自然语言处理
猿饵块1 小时前
opencv--图像变换
人工智能·opencv·计算机视觉
LucianaiB1 小时前
【金仓数据库征文】_AI 赋能数据库运维:金仓KES的智能化未来
运维·数据库·人工智能·金仓数据库 2025 征文·数据库平替用金仓