C# .net ai Agent AI视觉应用 写代码 改作业 识别屏幕 标注等
C# net deepseek RAG AI开发 全流程 介绍_c# 向量处理 deepseek-CSDN博客
视觉多模态大模型 通义千问2.5-VL-72B
AI大模型能看懂图 看懂了后能干啥呢
如看懂图 让Agent 写代码 ,改作业,识别屏幕 标注等等。。。
据说是目前最好的免费图片识别框架 通义千文 免费开源大模型
GitHub - QwenLM/Qwen2.5-VL: Qwen2.5-VL is the multimodal large language model series developed by Qwen team, Alibaba Cloud.

食谱
| 食谱 | 描述 | 打开 |
|---|---|---|
| 普遍认可 | 不仅可以识别动物、植物、人和景点,还可以识别汽车和商品等各种物体。 | |
| 强大的文档解析能力 | 文档的解析已经达到了更高的水平,不仅包括文本,还包括布局位置信息和我们的 Qwen HTML 格式。 | |
| 跨格式的精确对象接地 | 它使用绝对位置坐标,同时支持方框和点,允许定位和标记任务的多样化组合。 | |
| 通用 OCR 和关键信息提取 | 在自然场景和多种语言下提供更强的文本识别能力,支持多样化的关键信息提取需求。 | |
| 视频理解 | 更好的视频 OCR、长视频理解和视频接地。 | |
| 移动代理 | 定位并思考手机控制。 | |
| 计算机使用代理 | 定位和思考控制计算机和 Web。 |



文本+视图 理解
public async Task<IEnumerable<FaceItem>?> GetAnnotationAsync(string imagePath)
{var bytes = await File.ReadAllBytesAsync(imagePath);var chatHistory = new ChatHistory();chatHistory.AddSystemMessage("作为一名图像检测专家,你擅长精确的图像对象检测,以纯文本格式'x1,y1,x2,y2'提供坐标。");chatHistory.AddUserMessage([new TextContent("框出每一个人脸的位置(不包括身体),以json格式输出所有的坐标,只输出纯json字符,不要夹杂其它字符,并且标注性别(男/女)。"),new ImageContent(bytes, "image/jpeg")]);var reply = await chatCompletionService.GetChatMessageContentAsync(chatHistory);if (reply.Content is null) return [];var jsonStr = Regex.Replace(reply.Content, @"^\s*```json|```\s*$", "", RegexOptions.Multiline).Trim();Console.WriteLine(jsonStr);return reply.Content is null ? [] : JsonSerializer.Deserialize<IEnumerable<FaceItem>>(jsonStr);
}

结果
[{"bbox_2d": [608, 79, 654, 130], "label": "女"},{"bbox_2d": [700, 74, 748, 130], "label": "女"},{"bbox_2d": [837, 74, 876, 128], "label": "女"},{"bbox_2d": [916, 68, 956, 128], "label": "男"},{"bbox_2d": [1110, 162, 1174, 224], "label": "女"},{"bbox_2d": [707, 338, 813, 438], "label": "女"},{"bbox_2d": [918, 424, 988, 512], "label": "男"},{"bbox_2d": [1002, 398, 1072, 512], "label": "女"},{"bbox_2d": [1080, 382, 1140, 464], "label": "女"},{"bbox_2d": [1116, 362, 1205, 512], "label": "女"},{"bbox_2d": [590, 578, 678, 672], "label": "女"},{"bbox_2d": [721, 584, 774, 646], "label": "女"},{"bbox_2d": [797, 622, 874, 672], "label": "女"}
]
代码
public class FaceCheckAgentWorker(FaceCheckAgent faceCheckAgent) : BackgroundService
{protected override async Task ExecuteAsync(CancellationToken stoppingToken){var imagePath = "Images/human1.jpg";var faceItems = await faceCheckAgent.GetAnnotationAsync(imagePath);if (faceItems == null) return;using var image = Image.FromFile(imagePath);using var bitmap = new Bitmap(image);foreach (var faceItem in faceItems){var color = faceItem.Label == "女" ? Color.Red : Color.Blue;MyDraw.DrawAnnotationBox(bitmap, faceItem.Box, faceItem.Label, color, 3);}var sampleDir = Path.Combine(Directory.GetCurrentDirectory(), "Output");var outputPath = Path.Combine(sampleDir, Path.GetFileName(imagePath));bitmap.Save(outputPath, ImageFormat.Jpeg);Console.WriteLine($"标注完成,已保存到: {outputPath}");}
}
效果

AI 改作业 并标注
public async Task<IEnumerable<HomeworkItem>?> GetAnnotationAsync(string imagePath){var bytes = await File.ReadAllBytesAsync(imagePath);var chatHistory = new ChatHistory();chatHistory.AddSystemMessage("""你是一个作业批改助手,请你标注出图片中的所有题(包括回答),并通过JSON返回批改结果。JSON格式的批改结果需要包含以下内容:- "q_box": 题目的bbox_2d边界框- "qc": 题目内容- "a_box": 回答的bbox_2d边界框- "ac": 回答内容- "is": 回答是否正确(布尔值,true或false)- 如果回答错误 在 "er"中详细说明错误情况示例如下:[{"q_box": [0, 0, 0, 0],"qc": "题目内容","a_box": [0, 0, 0, 0],"ac": "回答内容","is": false,"er": "如果回答错误,这里详细说明错误情况,没有错误可以不要该字段"}]""");chatHistory.AddUserMessage([new TextContent("批改作业"),new ImageContent(bytes, "image/png")]);var reply = await chatCompletionService.GetChatMessageContentAsync(chatHistory);if (reply.Content is null) return [];var jsonStr = Regex.Replace(reply.Content, @"^\s*```json|```\s*$", "", RegexOptions.Multiline).Trim();Console.WriteLine(jsonStr);return reply.Content is null ? [] : JsonSerializer.Deserialize<IEnumerable<HomeworkItem>>(jsonStr);}

小老板们都表示 功能很牛逼。。。
C# net deepseek RAG AI开发 全流程 介绍_c# 向量处理 deepseek-CSDN博客
相关文章:
C# .net ai Agent AI视觉应用 写代码 改作业 识别屏幕 标注等
C# net deepseek RAG AI开发 全流程 介绍_c# 向量处理 deepseek-CSDN博客 视觉多模态大模型 通义千问2.5-VL-72B AI大模型能看懂图 看懂了后能干啥呢 如看懂图 让Agent 写代码 ,改作业,识别屏幕 标注等等。。。 据说是目前最好的免费图片识别框架 通…...
不使用自动映射驼峰命名法,直接在接口上使用注解@Results方法映射
3. 使用注解方式配置 在接口方法上使用 Results 注解: java 复制 Select("SELECT user_name, create_time FROM user WHERE id #{id}") Results({Result(column "user_name", property "userName"),Result(column "crea…...
15届蓝桥JavaB组 前6道题解
15届蓝桥JavaB组 前6道题解 报数游戏类斐波那契循环数分布式队列食堂最优分组星际旅行 报数游戏 import java.util.Scanner;//分析: //20和24的最小公倍数是120 //题目给出了前10个数,发现第10个数是120,说明每10个数出现一个公倍数 //第20个…...
蓝桥杯 14 天 十五届蓝桥杯 数字诗意
static boolean kkk(long x) {if(x1)return true;else {// 初始化xx为1,用于计算2的幂long xx 1;// 循环60次,检查2的幂是否等于xfor (int i 1; i < 60; i) {xx * 2; // 每次将xx乘以2if (xx x) { // 如果xx等于x,说明x是2的幂…...
MP4音视频格式
1.MP4 MP4是一种用于封装音视频/字幕/图片/章节信息等数据的多媒体容器格式,是MPEG-4系列的成员之一 2.文件结构 MP4由一层层的嵌套Box(atom)组成 [ size (4 bytes) ][ type (4 bytes)][ payload (嵌套box或者数据) ] 3.常见Box 类型名称…...
国内GitHub镜像源全解析:加速访问与替代方案指南
在数字化开发日益普及的今天,GitHub作为全球最大的代码托管平台,已成为开发者不可或缺的资源库。然而,由于网络环境的限制,国内用户在访问GitHub时常常面临速度慢、连接不稳定等问题。为了提升开发效率,国内涌现出多个GitHub镜像源,为开发者提供了快速、稳定的代码克隆与…...
CentOS 7 挂载与卸载文件系统笔记
挂载文件系统 挂载的基本概念 挂载是将存储设备(如硬盘分区、U 盘、光盘等)连接到 Linux 文件系统的特定目录(挂载点),使得系统能够访问存储设备上的数据。 查看已挂载的文件系统 命令:mount 或 df -h mo…...
责任链模式-java
1、spring依赖注入模式 @Configuration public class ChainConfig {@Beanpublic ChainSpringFactory chainSpringFactory(List<IHandler<DemoOne,Boolean>> handlerList){return new ChainSpringFactory(handlerList);}} public class DemoOne { }public abstract…...
Vue3动态加载组件,警告:Vue received a Component than was made a reactive object
场景 2个按钮,点击之后,下面加载不同的组件。 现象 分析 实际动态加载的组件,不是深层响应式的,推荐使用 shallowReactive 或 shallowRef,即浅层作用形式,仅最外层是响应式,以此来提升性能。…...
【源码阅读/Vue Flask前后端】简历数据查询功能
目录 一、Flask后端部分modelServiceroute 二、Vue前端部分index.js main.vue功能界面templatescriptstyle 一般就是三个层面,model层面用来建立数据库的字段,service用来对model进行操作,写一些数据库操作的代码,route就是具体的…...
Vue背景介绍+声明式渲染+数据响应式
一、Vue背景 1. 为什么学Vue 1.前后端开发就业必备技能 2.岗位多,绝⼤互联⽹公司都在使⽤Vue,还可以助⼒SpringBoot、C等项⽬开发 3.提⾼开发效率 更少的时间,干更多的活,提高项目开发速度 原生JS做法 Vue做法 总而言之: 使用Vue能够赋能、提升就业竞争…...
HarmonyOS NEXT 鸿蒙中手写和使用第三方仓库封装Logger打印工具
应用场景 在鸿蒙开发中,我们在很多时候调试代码都需要用到日志打印工具,但无论是hilog还是console.log,都用起来相对麻烦,而且需要手动将对象转换为JSON字符串的方式才能打印,并且在控制台日志中输出的格式也非常丑。所以下面我们…...
如何使用 CSS 的backdrop - filter属性实现背景模糊等特效,有哪些兼容性问题?
大白话如何使用 CSS 的backdrop - filter属性实现背景模糊等特效,有哪些兼容性问题? 嘿,朋友!今天咱们来聊聊 CSS 里超酷的 backdrop-filter 属性,它能让你轻松实现背景模糊等超炫特效。咱们先看看这属性到底是啥&…...
批量合并 PDF 文档,支持合并成单个文档,也支持按文件夹合并 PDF 文档
在日常工作中,合并多个 PDF 文档为一个文件是非常常见的需求。通过合并 PDF,不仅能够更方便地进行管理,还能在特定场景下(如批量打印)提高效率。那么,当我们需要批量合并多个 PDF 文件时,是否有…...
rbpf虚拟机-汇编和反汇编器
文章目录 一、概述二、主要功能三、关键函数解析3.1 汇编器3.1.1 parse -转换为Instruction列表3.1.2 assemble_internal-转换为Insn 3.2 反汇编器3.2.1 to_insn_vec-转换为机器指令 四、总结 Welcome to Code Blocks blog 本篇文章主要介绍了 [rbpf虚拟机-汇编和反汇编器] ❤…...
虚拟现实--->unity学习
前言:这学期劳动课选了虚拟现实,其中老师算挺认真的,当然对一些不感兴趣的同学来说是一种折磨,我对这个unity的学习以及后续的虚幻引擎刚开始连基础的概念都没有,后面渐渐也是滋生了一些兴趣,用这篇博客记录…...
一文详解QT环境搭建:ubuntu20.4安装配置Qt5
随着软件开发技术的不断进步,跨平台应用程序的需求日益增长,开发者们面临着如何在不同操作系统之间保持代码的一致性和效率的问题。Qt作为一个成熟的跨平台C框架,在这方面提供了卓越的支持,不仅简化了GUI应用程序的创建过程&#…...
Gateway实战(三)、断言-时间、Cookie信息
spring cloud-Gateway实战三、断言 断言一)、时间断言相关1、适用场景2、Demo案例二)、断言- Cookie信息1、用户身份验证与会话管理场景及Demo案例2、A/B测试及Demo案例断言 简单了解: 断言是一种在程序设计中用于检查程序状态或条件的机制,在gateway网关里,断言的作用是…...
PyTorch中的Tensor
PyTorch中的Tensor 是核心数据结构,类似于 NumPy 的多维数组,但具备 GPU 加速和自动求导等深度学习特性。 一、基本概念 核心数据结构 Tensor 是存储和操作数据的基础单元,支持标量(0D)、向量(1D&am…...
C++11大数加减
C11大数加减 // 20190412.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include "pch.h" #include <iostream> #include <algorithm> // sort find find_if #include <string> #include <vector> using names…...
OpenGL —— 基于Qt的视频播放器 - ffmpeg硬解码,QOpenGL渲染yuv420p或nv12视频(附源码)
🔔 OpenGL 相关技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中…) 运行效果...
【IDEA的个性化配置】
目录: 一:隐藏项目路径二:禁用斜体注释三:重新Maven构建未完待续... 一:隐藏项目路径 😊在IDEA左侧的Project目录中,项目名称后面显示了项目的文件路径地址,如果不喜欢可以隐藏&…...
Vue 类与样式
数据绑定的一个常见需求场景是操纵元素的 CSS class 列表和内联样式。因为 class 和 style 都是 attribute,我们可以和其他 attribute 一样使用 v-bind 将它们和动态的字符串绑定。但是,在处理比较复杂的绑定时,通过拼接生成字符串是麻烦且易…...
【Kafka】分布式消息队列的核心奥秘
文章目录 一、Kafka 的基石概念主题(Topic)分区(Partition)生产者(Producer)消费者(Consumer) 二、Kafka 的架构探秘Broker 集群副本机制 三、Kafka 的卓越特性高…...
自动化发布工具CI/CD实践Jenkins部署与配置教程
1. 前言背景 其实一直想把jenkins 的笔记整理下,介于公司这次升级jenkins2.0 ,根据自己部署的一些经验,我把它整理成笔记。 之前我们的jenkins1.0 时代 还一直停留在 free style 或者 maven 风格的项目,随着项目的日益增多&#x…...
python中的demjson包介绍
demjson是Python中的一个第三方模块库,专门用于编码和解码JSON数据。以下是关于demjson包的详细介绍: 一、主要功能 编码与解码: demjson提供了将Python对象(如字典、列表等)编码成JSON字符串的功能。同时,…...
什么是SQL作业
SQL作业是在数据库服务器上按特定时间或间隔自动执行的计划任务或流程,这些作业由Microsoft SQL Server中的SQL Server代理管理,对于自动执行日常任务(如数据库系统中的备份、数据导入和报告生成)以及确保及时准确地处理和更新数据…...
Android实践开发制作小猴子摘桃小游戏
Android实践制作小猴子摘桃小游戏 实践素材项目源文件获取:Android可能存在版本差异项目如果不能正确运行,可以使用里面的素材自己构建项目Android实践制作小猴子摘桃小游戏Android实践制作小猴子摘桃小游戏https://mp.weixin.qq.com/s/jNU_hVfj9xklsil…...
springboot整合couchbase(集群)
springboot整合couchbase 1、Couchbase1.1、介绍1.2、Bucket1.3、Couchbase SDK 2、(key,value)写入couchbase集群2.1、总体图2.2、依赖2.3、CouchbaseConfig 配置文件2.4、代码使用 1、Couchbase 1.1、介绍 1.2、Bucket 在 Couchbase 中,bucket 是一个重要的概念…...
VsCode启用右括号自动跳过(自动重写) - 自录制gif演示
VsCode启用右括号自动跳过(自动重写) - 自录制gif演示 前言 不知道大家在编程时候的按键习惯是怎样的。输入完左括号后编辑器一般会自动补全右括号,输入完左括号的内容后,是按→跳过右括号还是按)跳过右括号呢? for (int i 0; i < a.s…...
