dotnet-agent-framework
🔍 带有 Azure AI Foundry (.NET) 的企业 RAG📋 学习目标本笔记本演示了如何使用 .NET 中的 Microsoft Agent Framework 和 Azure AI Foundry 构建企业级检索增强生成 (RAG) 系统。您将学习创建可用于搜索文档并提供准确的上下文感知响应以及企业安全性和可扩展性的生产就绪代理。 您将构建的企业 RAG 功能: 📚 文档智能:使用 Azure AI 服务进行高级文档处理 🔍 语义搜索:具有企业功能的高性能矢量搜索 🛡️ 安全集成:基于角色的访问和数据保护模式 🏢 可扩展架构:具有监控功能的生产就绪 RAG 系统 🎯 企业 RAG 架构核心企业组件 Azure AI Foundry:具有安全性和合规性的托管企业 AI 平台 持久代理:具有对话历史记录和上下文管理的状态代理 矢量存储管理:企业级文档索引和检索 身份集成:Azure AD 身份验证和基于角色的访问控制 .NET 企业优势 类型安全:RAG 操作和数据结构的编译时验证 异步性能:非阻塞文档处理和搜索操作 内存管理:大型文档集合的高效资...
course-setup__AzureSearch
Azure AI 搜索设置指南本指南将帮助你使用 Azure 门户设置 Azure AI 搜索。请按照以下步骤创建和配置 Azure AI 搜索服务。 先决条件在开始之前,请确保您具备以下条件: Azure 订阅。如果没有 Azure 订阅,可以在 Azure 免费帐户 创建免费帐户。 第 1 步:创建 Azure 存储帐户 按照创建 Azure 存储帐户 说明创建新的 Azure 存储帐户。注意:确保存储帐户的类型是标准通用 V2。 步骤 2:创建 Azure AI 搜索服务 登录Azure 门户。 在左侧导航窗格中,单击“创建资源”。 在搜索框中,键入“Azure AI 搜索”,然后从结果列表中选择 Azure AI 搜索。 单击创建按钮。 在 Basics 选项卡中,提供以下信息: 订阅:选择您的 Azure 订阅。 资源组:创建新资源组或选择现有资源组。 资源名称:输入搜索服务的唯一名称。 区域:选择最接近您的用户的区域。 定价层:选择适合您要求的定价层。您可以从免费套餐开始进行测试。 单击“查看 + 创建”。 检查设置并单击“创建”以创建搜索服务。 步骤 3...
agentic-protocols__code_samples__github-mcp__event-descriptions
活动名称:使用 Azure AI 代理服务构建代码优先应用程序(欧洲、中东和非洲/美国产品)描述Azure AI 代理服务是服务和 SDK 的无缝结合,可简化强大的 AI 驱动解决方案的开发。在本次会议中,你将了解如何使用 Azure 构建自己的代码优先 AI 代理,该代理可以回答问题、执行数据分析以及集成外部数据源。您还将探索更复杂的架构,包括多个代理一起工作。 网址https://developer.microsoft.com/en-us/reactor/events/25325/ 活动名称:使用语义内核通过多代理 AI 转变业务流程描述通过现场演示和实践学习,了解多智能体人工智能系统的强大功能,包括群聊、反射、选择器和群体模式。利用语义内核流程框架来自动化和扩展关键业务流程,从客户支持到使用 Python 的项目管理 网址https://developer.microsoft.com/en-us/reactor/events/25313/ 活动名称:使用 AutoGen v0.4 构建代理应用程序描述开始使用 AutoGen v0.4 构建代理和多代理团队。我...
agentic-protocols__code_samples__github-mcp__MCP_SETUP
MCP 服务器集成指南先决条件 安装 Node.js(版本 14 或更高版本) npm 包管理器 具有所需依赖项的Python环境 设置步骤 安装MCP服务器包 1npm install -g @modelcontextprotocol/server-github 启动MCP服务器 1npx @modelcontextprotocol/server-github 服务器应启动并显示连接 URL。 验证连接 在 Chainlit 界面中查找插头图标 (🔌) 插头图标旁边应出现数字 (1),表示连接成功 控制台应显示:“GitHub 插件设置成功完成”(以及其他状态行) 故障排除常见问题 端口冲突 1Error: listen EADDRINUSE: address already in use 解决方案:使用以下命令更改端口: 1npx @modelcontextprotocol/server-github --port 3001 身份验证问题 确保 GitHub 凭据配置正确 检查 .env 文件包含所需的令牌 验证 GitHub API 访问 连接失败 确...
agentic-design-patterns__code_samples__03-dotnet-agent-framework
🎨 带有 GitHub 模型的代理设计模式 (.NET)📋 学习目标此示例演示了使用 .NET 中的 Microsoft Agent Framework 与 GitHub Models 集成构建智能代理的企业级设计模式。您将学习专业的模式和架构方法,使代理可用于生产、可维护和可扩展。 企业设计模式 🏭 工厂模式:通过依赖注入标准化代理创建 🔧 构建器模式:流畅的代理配置和设置 🧵 线程安全模式:并发对话管理 📋 存储库模式:有组织的工具和能力管理 🎯 .NET 特定的架构优势企业特色 强类型:编译时验证和 IntelliSense 支持 依赖注入:内置 DI 容器集成 配置管理:IConfiguration 和选项模式 Async/Await:一流的异步编程支持 生产就绪模式 日志集成:ILogger 和结构化日志支持 健康检查:内置监控和诊断 配置验证:带有数据注释的强类型 错误处理:结构化异常管理 🔧 技术架构核心 .NET 组件 Microsoft.Extensions.AI:统一人工智能服务抽象 Microsoft.Agents.AI:企业...
qwen3_vl_video_cudagraph_implementation
Qwen3-VL 视频模态 Full CUDA Graph 支持实现基于 PR #35963(已合入 main),在其图像 CUDA Graph 支持的基础上,扩展实现视频模态的 Full CUDA Graph 支持。 修改文件总览 文件 改动类型 说明 vllm/v1/worker/gpu/mm/encoder_cudagraph_defs.py 数据结构扩展 新增多模态配置字段和状态字段 vllm/v1/worker/gpu/mm/encoder_cudagraph.py 核心逻辑扩展 per-modality budget 管理、自动模态检测、时序帧约束检查 vllm/model_executor/models/interfaces.py 协议扩展 新增 get_encoder_cudagraph_num_seqs 方法 vllm/model_executor/models/qwen3_vl.py 模型实现 为所有协议方法添加视频支持 tests/v1/cudagraph/test_encoder_cudagraph.py 测试更新 适配新的多模...
qwen3_vl_mm_kwargs_analysis
Qwen3-VL mm_kwargs 多模态输入分析报告 分析文件:vllm/model_executor/models/qwen3_vl.py 核心结论mm_kwargs 不是单个视觉输入(单张图片或单个视频)的表示,而是请求级别(request-level)的聚合结构,包含该请求中所有图像和/或视频的数据。 mm_kwargs 在 Qwen3-VL 中有两种截然不同的含义,出现在不同的调用层次: 处理时(Processing-time)mm_kwargs:用户传入的”控制参数”,指定如何对媒体数据进行预处理(分辨率、帧率等)。 前向推理时(Forward-time)mm_kwargs:经过处理后传入模型 forward 的”张量数据”,包含该请求所有图像/视频的 pixel values 和 grid 信息。 一、处理时 mm_kwargs(用户侧配置参数)出现在 _get_vision_info、_call_hf_processor、get_max_video_tokens 等处理阶段,由用户在发起请求时传入,用于覆盖处理器的默认配置。 1.1...
qwen3_vl_image_vs_video_inference
Qwen3-VL:图像推理与视频推理的区别1. 输入预处理图像 输入为静态图片,经过 image_processor 处理 使用 Conv3dLayer(temporal_patch_size=2)对图片做 patch 嵌入,但 t=1(单帧) 输出 pixel_values(shape: [num_patches, flattened_patch_size]) grid 信息保存在 image_grid_thw,每条记录为 [1, H, W] 视频 输入为视频帧序列,经过 video_processor 处理 先均匀采样若干帧(如 16 帧),再按 temporal_patch_size=2 分组打包成时序 patch 输出 pixel_values_videos(shape: [num_patches, flattened_patch_size]) grid 信息保存在 video_grid_thw,每条记录为 [T, H, W],T≥1 表示时序维度 2. 输入格式差异 维度 图像 视频 pixel values key pixel_va...
Ray框架中Placement Group概念及作用
好的,我们来详细解释一下 Ray 框架中的 Placement Group 概念及其作用。 核心概念:什么是 Placement Group?Placement Group 是 Ray 中用于精细化控制任务或角色资源布局的抽象概念。它允许你提前声明一“组”资源,并指定这组资源在集群中的“摆放策略”,然后你可以将任务或演员调度到这组资源的“插槽”中。 你可以把它想象成: 传统调度:就像你去餐厅,告诉服务员“我需要两个座位”,服务员会随机找两个空位给你。 使用 Placement Group:就像你提前预定了一个包含特定座位(比如一个沙发座和两个普通座)的卡座,并指定这个卡座要靠窗。之后你的朋友们会直接到这个预定好的卡座就坐。 为什么需要 Placement Group?它的作用是什么?在没有 Placement Group 的情况下,Ray 的默认调度器虽然能高效地分配资源,但它主要关注的是“资源量”(例如,需要 2 个 CPU),而不太关心“资源的位置”。这在很多高级场景下会成为一个瓶颈。 Placement Group 的主要作用体现在以下几个方面: 1. 实现任务间的紧...
Ray框架中Actor概念及作用详解
好的,我们来详细讲解一下 Ray 框架中的 Actor 概念。 1. Actor 是什么?在 Ray 中,Actor 是一个有状态的“工作进程”。你可以把它理解为一个“活的”对象。 普通 Python 类 vs. Ray Actor 一个普通的 Python 类 MyClass 在被实例化后(obj = MyClass()),obj 只是一个存在于当前进程内存中的对象。 一个 Ray Actor 是通过 ray.remote(MyClass) 创建的。当你实例化它时(actor_handle = MyClass.remote()),Ray 会在集群中的某个节点上(可能是在远程机器上)启动一个独立的进程,并在该进程中创建一个 MyClass 的实例。你得到的 actor_handle 并不是对象本身,而是一个指向远程对象(即那个进程中的实例)的引用或句柄。 核心特征:有状态Actor 的关键在于它可以在其整个生命周期内维护和修改内部状态(即它的实例变量,如 self.value)。所有对该 Actor 的方法调用都会在同一个进程中顺序执行,从而安全地修改和访问这个共享状态。...