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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/75525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker多阶段构建:告别臃肿镜像的终极方案

Docker多阶段构建:告别臃肿镜像的终极方案 你是否遇到过这样的问题:一个简单的应用,Docker镜像却高达1GB?编译工具、临时文件、开发依赖全被打包进去,导致镜像臃肿且不安全。 多阶段构建(Multi-stage Build) 就是为解决这一问题而生——它像搬家时“只带必需品”,让生…

大模型应用开发之大模型工作流程

一&#xff1a;大模型的问答工作流程 1.1: 分词和向量化 如上图所示&#xff0c;我们如果让大模型去回答问题&#xff0c;首先我们会输入一些文字给到大模型&#xff0c;大模型本质上是个数学模型&#xff0c;它是理解不了人类的整句话的&#xff0c;所以它会把我们的对应的句…

SpringMVC 请求处理

SpringMVC 请求处理深度解析&#xff1a;从原理到企业级应用实践 一、架构演进与核心组件协同 1.1 从传统Servlet到前端控制器模式 SpringMVC采用前端控制器架构模式&#xff0c;通过DispatcherServlet统一处理请求&#xff0c;相比传统Servlet的分散处理方式&#xff0c;实…

12届蓝桥杯—货物摆放

货物摆放 题目描述 小蓝有一个超大的仓库&#xff0c;可以摆放很多货物。 现在&#xff0c;小蓝有 nn 箱货物要摆放在仓库&#xff0c;每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向&#xff0c;每箱货物的边都必须严格平行于长、宽、高。 小蓝希望所…

Reactor/Epoll为什么可以高性能?

在 Reactor 模式中使用 epoll_wait 实现低 CPU 占用率的核心原理是 ​事件驱动的阻塞等待机制&#xff0c;而非忙等待。以下通过分步骤解析其工作原理和性能优势&#xff1a; void network_thread() {int epoll_fd epoll_create1(0);epoll_event events[MAX_EVENTS];// 添加U…

批量优化与压缩 PPT,减少 PPT 文件的大小

我们经常能够看到有些 PPT 文档明明没有多少内容&#xff0c;但是却占用了很大的空间&#xff0c;存储和传输非常的不方便&#xff0c;这时候通常是因为我们插入了一些图片/字体等资源文件&#xff0c;这些都可能会导致我们的 PPT 文档变得非常的庞大&#xff0c;今天就给大家介…

Java基础 3.22

1.break练习 //1-100之内的数求和&#xff0c;求当和第一次大于20的当前数i public class Break01 {public static void main(String[] args) {int n 0;int count 0;for (int i 1; i < 100; i) {count i;System.out.println("当前和为" count);if (count &g…

高性能MySQL笔记

高性能MySQL笔记 《高性能MySQL》第1章 MySQL架构**第一章核心知识点总结****多选题**多选题答案**答案与详解总结** 《高性能MySQL》第2章 可靠性程世界中的监控核心知识点多选题答案及解析重点巩固方向 《高性能MySQL》第3章 Performance Schema**第三章核心知识点总结****多…

导游职业资格考试:从迷茫到清晰的备考指南

当你决定报考导游职业资格考试时&#xff0c;可能会感到有些迷茫&#xff0c;不知道从何处入手。别担心&#xff0c;这份备考指南将带你从迷茫走向清晰。​ 第一步&#xff0c;全面了解考试。导游职业资格考试分为笔试和面试。笔试的四个科目各有特点&#xff0c;《政策与法律…

【BFS】《BFS 攻克 FloodFill:填平图形世界的技术密码》

文章目录 前言例题一、 图像渲染二、 岛屿数量三、岛屿的最大面积四、被围绕的区域 结语 前言 什么是BFS&#xff1f; BFS&#xff08;Breadth - First Search&#xff09;算法&#xff0c;即广度优先搜索算法&#xff0c;是一种用于图或树结构的遍历算法。以下是其详细介绍&am…

Linux安装MySQL数据库并使用C语言进行数据库开发

目录 一、前言 二、安装VMware运行Ubuntu 1.安装VMware 2.使用VMware打开Ubuntu 三、配置VMware使用网卡 1.添加NAT网卡 四、Linux下安装MySQL数据库 五、安装MySQL开发库 六、演示代码 sql_connect.c sql_connect.h main.c中数据库相关代码 结尾 一、前言 由于最…

ROS2 部署大语言模型节点

4GB GPU的DeepSeek-Coder 1.3B模型&#xff0c;并且它已经被量化或优化过。以下是具体的步骤&#xff1a; 安装必要的依赖项&#xff1a; pip install transformers torch grpcio googleapis-common-protos创建一个新的ROS 2包&#xff1a; cd ~/ros2_ws/src ros2 pkg creat…

本人设计的最完全的光压发电机模型

双螺旋转子光压发电机结构模型 作者&#xff1a;龚仕成 单位&#xff1a;四川水利职业技术学院电力工程系 日期&#xff1a;2024年3月25日 摘要 本文提出了一种基于梯形螺旋沟槽多层复合材料转子的光压发电机结构模型&#xff0c;通过光-机-电协同设计实现高效能量转换。通…

六十天Linux从0到项目搭建(第五天)(file、bash 和 shell 的区别、目录权限、默认权限umask、粘滞位、使用系统自带的包管理工具)

1. file [选项] 文件名 用于确定文件类型的实用工具。它会通过分析文件内容&#xff08;而不仅仅是文件扩展名&#xff09;来判断文件的实际类型 示例输出解析 $ file /bin/bash /bin/bash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, i…

基于大模型预测的初治菌阳肺结核诊疗方案研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 二、初治菌阳肺结核概述 2.1 疾病定义与病理机制 2.2 流行病学特征 2.3 传统诊疗方法与局限性 三、大模型在初治菌阳肺结核预测中的应用原理 3.1 大模型技术简介 3.2 数据收集与预处理 3.3 模型构建与训练 3.4 模型…

常见中间件漏洞之一 ----【Tomcat】

中间件Tomcat介绍&#xff1a; tomcat是⼀个开源⽽且免费的jsp服务器&#xff0c;默认端⼝ : 8080&#xff0c;属于轻量级应⽤服务器。它可以实现 JavaWeb程序的装载&#xff0c;是配置JSP&#xff08;Java Server Page&#xff09;和JAVA系统必备的⼀款环境。 在历史上也披露…

GoogleNet的简易实现

这里使用GooleNet对MNIST手写数据集进行分类&#xff0c;最后的效果达到了在测试集98%的准确率。这里关于该网络的细节可以在网络上搜索到&#xff0c;相关原理也可以搜索到&#xff0c;这里仅展示网络的代码实现&#xff0c;这里是基于pytorch实现的&#xff0c;详细的代码如下…

javaweb自用笔记:Mybatis

目录 mybatis 配置sql书写提示 JDBC 数据库连接池 lombok mybatis 只需要定义Mapper接口就好&#xff0c;不需要有实现类&#xff0c;因为框架底层会自动生成实现类 配置sql书写提示 JDBC 数据库连接池 lombok XML映射文件 动态SQL

Rust从入门到精通之精通篇:22.Unsafe Rust 详解

Unsafe Rust 详解 在 Rust 的设计哲学中,安全性是核心原则之一。Rust 的所有权系统、借用检查器和类型系统共同保证了内存安全和线程安全。然而,有些底层操作无法通过 Rust 的安全检查机制进行验证,这就是 unsafe Rust 存在的原因。在本章中,我们将深入探讨 unsafe Rust,…

比手动备份快 Iperius全自动加密备份,NAS/云盘/磁带机全兼容

IperiusBackupFull是一款专为服务器和工作站设计的备份解决方案&#xff0c;它同时也是一款针对Windows 7/8/10/11/Server系统的简洁且可靠的备份软件。该软件支持增量备份、数据同步以及驱动器镜像&#xff0c;确保能够实现完全的系统恢复。在备份存储方面&#xff0c;Iperius…