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.pswp.cn/diannao/75525.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75525.shtml
英文地址,請注明出處:http://en.pswp.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…