Azure Machine Learning - 如何使用 GPT-4 Turbo with Vision

介绍如何在Azure中使用GPT-4 Turbo with Vision

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人

file

GPT-4 Turbo with Vision 介绍

file
GPT-4 Turbo with Vision 是 OpenAI 开发的一个大型多模态模型 (LMM),可以分析图像,并为有关图像的问题提供文本回应。 它结合了自然语言处理和视觉理解,GPT-4 Turbo with Vision 可以回答一般图像相关问题。 如果使用[视觉增强]还可以出示视频。

调用会话补全 API

以下 REST 命令显示了通过代码使用 GPT-4 Turbo with Vision 模型的最基本方法。

将 POST 请求发送到 https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/chat/completions?api-version=2023-12-01-preview

  • RESOURCE_NAME 是 OpenAI 资源的名称
  • DEPLOYMENT_NAME 是 GPT-4 Turbo with Vision 模型部署的名称

必需的标头

  • Content-Type:application/json
  • api-key: {API_KEY}

正文:下列为请求正文示例。 格式与 GPT-4 的聊天补全 API 相同,只是消息内容可以是包含字符串和图像(图像的有效 HTTP 或 HTTPS URL 或者 base-64 编码的图像)的数组。 切记设置 "max_tokens" 值,否则返回输出将被截断。

{"messages": [ {"role": "system", "content": "You are a helpful assistant." },{"role": "user", "content": [{"type": "text","text": "Describe this picture:"},{"type": "image_url","image_url": {"url": "<URL or base-64-encoded image>"}} ] }],"max_tokens": 100, "stream": false 
} 

输出

API 响应应如下所示:

{"id": "chatcmpl-8VAVx58veW9RCm5K1ttmxU6Cm4XDX","object": "chat.completion","created": 1702439277,"model": "gpt-4","prompt_filter_results": [{"prompt_index": 0,"content_filter_results": {"hate": {"filtered": false,"severity": "safe"},"self_harm": {"filtered": false,"severity": "safe"},"sexual": {"filtered": false,"severity": "safe"},"violence": {"filtered": false,"severity": "safe"}}}],"choices": [{"finish_details": {"type": "stop","stop": "<|fim_suffix|>"},"index": 0,"message": {"role": "assistant","content": "The picture shows an individual dressed in formal attire, which includes a black tuxedo with a black bow tie. There is an American flag on the left lapel of the individual's jacket. The background is predominantly blue with white text that reads \"THE KENNEDY PROFILE IN COURAGE AWARD\" and there are also visible elements of the flag of the United States placed behind the individual."},"content_filter_results": {"hate": {"filtered": false,"severity": "safe"},"self_harm": {"filtered": false,"severity": "safe"},"sexual": {"filtered": false,"severity": "safe"},"violence": {"filtered": false,"severity": "safe"}}}],"usage": {"prompt_tokens": 1156,"completion_tokens": 80,"total_tokens": 1236}
}

每个响应都包含 "finish_details" 字段。 子字段 "type" 具有以下可能值:

  • stop:API 返回了完整的模型输出。
  • max_tokens:由于 max_tokens 输入参数或模型的标记限制,模型输出不完整。
  • content_filter:由于内容筛选器的标志,省略了内容。

如果 finish_details.typestop,则还有一个 "stop" 属性指定导致输出结束的标记。

图像处理中的详细信息参数设置:低、高、自动

模型中的详细信息参数提供三种选择:lowhighauto,用于调整模型解释和处理图像的方式。 默认设置为自动,其中模型将根据图像输入的大小在低或高之间做出决定。

  • low 设置:模型不会激活“高分辨率”模式,而是处理分辨率较低的 512x512 版本,从而加快响应速度,减少在细化细节并不重要的方案中的标记消耗。
  • high 设置:模型将激活“高分辨率”模式。 在此设置下,模型首先查看低分辨率图像,然后根据输入图像生成详细的 512x512 段。 每个段使用两倍的标记预算,从而获得对图像的更详细解释。”

对图像使用视觉增强

GPT-4 Turbo with Vision 提供对 Azure AI 服务定制增强功能的独占访问权限。 与 Azure AI 视觉结合使用时,它可以为聊天模型提供有关图像中可见文本和对象位置的更详细信息,从而增强聊天体验。

“光学字符识别 (OCR)”集成使模型能够针对密集文本、转换后的图像和数字较多的财务文档生成更高质量的响应。 它还涵盖了更广泛的语言。

对象接地集成为数据分析和用户交互带来了新的层面,因为该功能可以在视觉上区分和突出显示其处理的图像中的重要元素。

将 POST 请求发送到 https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/extensions/chat/completions?api-version=2023-12-01-preview

  • RESOURCE_NAME 是 OpenAI 资源的名称
  • DEPLOYMENT_NAME 是 GPT-4 Turbo with Vision 模型部署的名称

必需的标头

  • Content-Type:application/json
  • api-key: {API_KEY}

正文:

格式与 GPT-4 的聊天补全 API 类似,但消息内容可以是包含字符串和图像(图像的有效 HTTP 或 HTTPS URL 或者 base-64 编码的图像)的数组。

还必须包括 enhancementsdataSources 对象。 enhancements 为会话中请求的视觉增强功能。 它具有 groundingocr 属性,每个属性都有一个布尔 enabled 属性。 使用这些内容请求 OCR 服务和/或对象检测/定位服务。 dataSources 为视觉增强需要的计算机视觉资源数据。 它具有应为 "AzureComputerVision"type 属性和 parameters 属性。 将 endpointkey 设置为计算机视觉资源的终结点 URL 和访问密钥。 切记设置 "max_tokens" 值,否则返回输出将被截断。

{"enhancements": {"ocr": {"enabled": true},"grounding": {"enabled": true}},"dataSources": [{"type": "AzureComputerVision","parameters": {"endpoint": "<your_computer_vision_endpoint>","key": "<your_computer_vision_key>"}}],"messages": [{"role": "system","content": "You are a helpful assistant."},{"role": "user","content": [{"type": "text","text": "Describe this picture:"},{"type": "image_url","image_url": {"url":"<URL or base-64-encoded image>" }}] }],"max_tokens": 100, "stream": false 
} 

输出

如此,从模型收到的聊天响应应包括有关图像的增强信息,例如对象标签和边界框以及 OCR 结果。 API 响应应如下所示:

{"id": "chatcmpl-8UyuhLfzwTj34zpevT3tWlVIgCpPg","object": "chat.completion","created": 1702394683,"model": "gpt-4","choices":[{"finish_details":{"type": "stop","stop": "<|fim_suffix|>"},"index": 0,"message":{"role": "assistant","content": "The image shows a close-up of an individual with dark hair and what appears to be a short haircut. The person has visible ears and a bit of their neckline. The background is a neutral light color, providing a contrast to the dark hair."},"enhancements":{"grounding":{"lines":[{"text": "The image shows a close-up of an individual with dark hair and what appears to be a short haircut. The person has visible ears and a bit of their neckline. The background is a neutral light color, providing a contrast to the dark hair.","spans":[{"text": "the person","length": 10,"offset": 99,"polygon": [{"x":0.11950000375509262,"y":0.4124999940395355},{"x":0.8034999370574951,"y":0.4124999940395355},{"x":0.8034999370574951,"y":0.6434999704360962},{"x":0.11950000375509262,"y":0.6434999704360962}]}]}],"status": "Success"}}}],"usage":{"prompt_tokens": 816,"completion_tokens": 49,"total_tokens": 865}
}

每个响应都包含 "finish_details" 字段。 子字段 "type" 具有以下可能值:

  • stop:API 返回了完整的模型输出。
  • max_tokens:由于 max_tokens 输入参数或模型的标记限制,模型输出不完整。
  • content_filter:由于内容筛选器的标志,省略了内容。

如果 finish_details.typestop,则还有一个 "stop" 属性指定导致输出结束的标记。

对视频使用视觉增强

GPT-4 Turbo with Vision 提供对 Azure AI 服务定制增强功能的独占访问权限。 视频提示集成使用 Azure AI 视觉视频检索对视频中的一组帧进行采样,并创建视频中语音的转录。 它使 AI 模型能够给出有关视频内容的摘要和答案。

按照以下步骤设置视频检索系统并将其与 AI 聊天模型集成:

  1. 获取与正在使用的 Azure OpenAI 资源位于同一区域中的 Azure AI 视觉资源。

  2. 按照[使用矢量化检索视频]中的指示创建视频检索索引。 创建索引后返回到本指南。

  3. 将索引名称、视频的 documentId 参数以及视频的 blob 存储 SAS URL 保存到一个临时位置。 在后面的步骤中会用到这些参数。

  4. 将 POST 请求准备到 https://{RESOURCE_NAME}.openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/extensions/chat/completions?api-version=2023-12-01-preview

    • RESOURCE_NAME 是 OpenAI 资源的名称
    • DEPLOYMENT_NAME 是 GPT-4 视觉模型部署的名称

    必需的标头

    • Content-Type:application/json
    • api-key: {API_KEY}
  5. 将以下 JSON 结构添加到请求正文中:

    {"enhancements": {"video": {"enabled": true}},"dataSources": [{"type": "AzureComputerVisionVideoIndex","parameters": {"endpoint": "<your_computer_vision_endpoint>","key": "<your_computer_vision_key>","computerVisionBaseUrl": "<your_computer_vision_endpoint>","computerVisionApiKey": "<your_computer_vision_key>","indexName": "<name_of_your_index>","videoUrls": ["<your_video_SAS_URL>"]}}],"messages": [ {"role": "system", "content": "You are a helpful assistant." },{"role": "user","content": [{"type": "text","text": "Describe this video:"}]},{"role": "user","content": [{"type": "acv_document_id","acv_document_id": "<your_video_ID>"}]}],"max_tokens": 100, 
    } 
    

    请求包括 enhancementsdataSources 对象。 enhancements 为会话中请求的视觉增强功能。 dataSources 为视觉增强需要的计算机视觉资源数据。 它具有应为 "AzureComputerVisionVideoIndex"type 属性,以及包含 AI 视觉和视频信息的 parameters 属性。

  6. 将自己的信息填写在上述所有 <placeholder> 字段中:按需输入 OpenAI 和 AI 视觉资源的终结点 URL 和密钥,并按照之前的步骤检索视频索引信息。

  7. 将 POST 请求发送到 API 终结点。 它应包含 OpenAI 和 AI 视觉凭据、视频索引的名称以及单个视频的 ID 和 SAS URL。

输出

从模型收到的聊天响应应包含有关视频的信息。 API 响应应如下所示:

{"id": "chatcmpl-8V4J2cFo7TWO7rIfs47XuDzTKvbct","object": "chat.completion","created": 1702415412,"model": "gpt-4","choices":[{"finish_details":{"type": "stop","stop": "<|fim_suffix|>"},"index": 0,"message":{"role": "assistant","content": "The advertisement video opens with a blurred background that suggests a serene and aesthetically pleasing environment, possibly a workspace with a nature view. As the video progresses, a series of frames showcase a digital interface with search bars and prompts like \"Inspire new ideas,\" \"Research a topic,\" and \"Organize my plans,\" suggesting features of a software or application designed to assist with productivity and creativity.\n\nThe color palette is soft and varied, featuring pastel blues, pinks, and purples, creating a calm and inviting atmosphere. The backgrounds of some frames are adorned with abstract, organically shaped elements and animations, adding to the sense of innovation and modernity.\n\nMidway through the video, the focus shifts to what appears to be a browser or software interface with the phrase \"Screens simulated, subject to change; feature availability and timing may vary,\" indicating the product is in development and that the visuals are illustrative of its capabilities.\n\nThe use of text prompts continues with \"Help me relax,\" followed by a demonstration of a 'dark mode' feature, providing a glimpse into the software's versatility and user-friendly design.\n\nThe video concludes by revealing the product name, \"Copilot,\" and positioning it as \"Your everyday AI companion,\" implying the use of artificial intelligence to enhance daily tasks. The final frames feature the Microsoft logo, associating the product with the well-known technology company.\n\nIn summary, the advertisement video is for a Microsoft product named \"Copilot,\" which seems to be an AI-powered software tool aimed at improving productivity, creativity, and organization for its users. The video conveys a message of innovation, ease, and support in daily digital interactions through a visually appealing and calming presentation."}}],"usage":{"prompt_tokens": 2068,"completion_tokens": 341,"total_tokens": 2409}
}

每个响应都包含 "finish_details" 字段。 子字段 "type" 具有以下可能值:

  • stop:API 返回了完整的模型输出。
  • max_tokens:由于 max_tokens 输入参数或模型的标记限制,模型输出不完整。
  • content_filter:由于内容筛选器的标志,省略了内容。

如果 finish_details.typestop,则还有一个 "stop" 属性指定导致输出结束的标记。

视频提示的定价示例

GPT-4 Turbo with Vision 的定价是动态的,取决于使用的特定功能和输入。 有关 Azure OpenAI 定价的全面视图,请参阅Azure OpenAI 定价。

基本费用和附加功能如下所述:

GPT-4 Turbo with Vision 的基本定价为:

  • 输入:每 1000 个令牌 0.01 USDX
  • 输出:每 1000 个令牌 0.03 USDX

视频提示与视频检索加载项集成:

  • 引入:每分钟视频 0.05 USDX
  • 事务:每 1000 个视频检索索引的 1000 个查询 0.25 USDX

处理视频将涉及使用额外的令牌确定关键帧进行分析。 这些附加令牌的数量大致相当于文本输入中令牌的总和加上 700 个令牌。

计算

对于典型的用例,假设我使用了 3 分钟的视频和 100 个令牌提示输入。 视频部分的脚本长度为 100 个令牌,我处理提示时,生成了 100 个输出令牌。 此事务的定价如下所示:

详细信息总成本
GPT-4 Turbo with Vision 输入令牌100 个文本令牌$0.001
用于确定帧的附加成本100 个输入令牌 + 700 个令牌 + 1 个视频检索 txn0.00825 USDX
图像输入和脚本输入20 个图像(每个图像 85 个令牌) + 100 个脚本令牌0.018 USDX
输出令牌100 个令牌(假定)0.003 USDX
总成本0.03025 USDX

此外,还有 0.15 USDX 的一次性索引成本,用于为此 3 分钟的视频段生成视频检索索引。 可以跨任意数量的视频检索和 GPT-4 Turbo with Vision 重复使用此索引。

限制

图像支持

  • “每个聊天会话的图像增强限制”:无法对单个聊天调用中的多个图像应用增强功能。
  • “最大输入图像大小”:输入图像的最大大小限制为 20 MB。
  • “增强 API 中的对象定位”:当增强 API 用于对象定位时,模型会检测对象重复项,它将为所有重复项生成一个边界框和标签,而不是为每个重复项生成单独的边界框和标签。
  • “低分辨率准确度”:使用“低分辨率”设置分析图像可以加快响应速度,且某些用例使用的输入令牌更少。 但是,这可能会影响对图像对象和文本识别的准确性。
  • “图像聊天限制”:在聊天操场或 API 中上传图像时,每个聊天调用有 10 张图像的限制。

视频支持

  • “低分辨率”:使用 GPT-4 Turbo with Vision 的“低分辨率”设置来分析视频帧可能会影响对视频中小对象和文本识别的准确性。
  • “视频文件限制”:支持 MP4 和 MOV 文件类型。 在 Azure AI 操场中,视频长度必须少于 3 分钟。 使用 API 时没有此类限制。
  • 提示限制:视频提示仅包含一个视频,不包含图像。 在操场中可以清除会话以尝试其他视频或图像。
  • “有限的帧选择”:目前服务从整个视频中选择 20 帧,这可能无法捕获所有关键时刻或细节。 帧选择可以大致均匀地分布在整个视频中,也可以通过特定的视频检索查询集中选择,具体取决于提示。
  • “语言支持”:目前,系统主要支持英语以进行脚本定位。 脚本不提供有关歌词的准确信息。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人

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

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

相关文章

系统命名与 SQL 命名之争 - 第 1 部分

创建数据库对象的命名规范 创建数据库对象时&#xff0c;开发人员可以选择一种命名方法&#xff0c;可以选择遵循传统 IBM i 行为的系统命名模式 (*SYS)&#xff0c;也可以选择遵循SQL 标准规则的 SQL 命名规范 (*SQL)。 DB2 for i 与其他数据库管理系统 (DBMS) 之间的主要差别…

C++ const 关键字使用

2019独角兽企业重金招聘Python工程师标准>>> 为什么使用const&#xff1f;采用符号常量写出的代码更容易维护&#xff1b;指针常常是边读边移动&#xff0c;而不是边写边移动&#xff1b;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号…

论大象如何装进冰箱

全世界只有3.14 % 的人关注了爆炸吧知识在这美好的一天&#xff0c;想和大家讨论一个有趣的数学话题&#xff1a;怎么才能将一只大象装进冰箱呢&#xff1f;数学的方法把大象放到冰箱里的分析学方法1&#xff09;先把大象微分&#xff0c;然后把它放到冰箱里&#xff0c;再在冰…

2020下半年新机最新消息_提前剧透 2020 年下半年五大新机

华为 Mate40系列 美帝一系列封杀骚操作&#xff0c;并没有影响到华为手机下一代的处理器——台积电代工的、采用了 5nm 进程的 Mate40 处理器——麒麟 1020。为了 3D 脸部识别&#xff0c;可能还是采用刘海屏。Mate40 Pro 的曲率更大&#xff0c;正面屏幕的视觉冲击更加震撼&am…

手把手教你学Dapr - 5. 状态管理

介绍使用状态管理&#xff0c;您的应用程序可以将数据作为键/值对存储在支持的状态存储中。您的应用程序可以使用 Dapr 的状态管理 API 使用状态存储组件来保存和读取键/值对&#xff0c;如下图所示。例如&#xff0c;通过使用 HTTP POST&#xff0c;您可以保存键/值对&#xf…

Android之drawlayout使用和总结

DrawLayout 今天发的Android之SlidingMenu博客之后,有人说out了,说用DrawLayout,我插,被叼了,然后我就到网上查drawLayout是什么?原来是侧滑菜单,好吧,赶快学习下,网上很多例子,都不怎么全面,然后找了找了呀,终于找到到了个成形的,然后自己改了下,不说了,先爆照 …

eclipse 汉化教程(语言包)

Eclipse 汉化图形教程此教程仅仅以links方式安装eclipse插件&#xff0c;且接下来主要以eclipse安装语言包为例&#xff0c;如果教程过程中哪里不对&#xff0c;请指出&#xff0c;谢谢。因使Eclipse版本太多&#xff0c;我这里就以eclipse3.5.2为例&#xff0c;讲讲如何将其汉…

4. MyBatis几个可以优化的地方

与其说是优化, 还不如说是让配置更简单.一: 连接数据库的配置单独放到一个属性文件中在 src 路径下新建一个 db.properties 属性文件, 并把数据库连接信息放入文件中, 然后在 conf.xml 文件中导入属性文件引用就可以了, 这样更好管理.1. 新建 db.properties 文件2. 写入属性信息…

免费使用的支付宝,到底是怎么一年赚1206亿的?

全世界只有3.14 % 的人关注了爆炸吧知识眨眼间&#xff0c;马云居然退休已经一年了&#xff0c;真可谓白驹过隙&#xff0c;恍惚而逝啊&#xff01;不过&#xff0c;你以为马云退休了&#xff0c;就清风明月&#xff0c;万事不管了。太年轻&#xff01;其实马云依旧掌控者蚂蚁集…

C#中使用opencv处理图像

OpenCV(Open Source Computer Vision Library)是一个(开源免费)发行的跨平台计算机视觉库&#xff0c;可以运行在Linux、Windows、Android、ios等操作系统上&#xff0c;它轻量级而且高效---由一系列C函数和少量C类构成&#xff0c;同时提供了Python、Ruby、MATLAB等语言的接口…

php psr 编码规范_PHP之PSR-4规范:自动加载

1. 概述本 PSR 是关于由文件路径 自动载入 对应类的相关规范&#xff0c;本规范是可互操作的&#xff0c;可以作为任一自动载入规范的补充&#xff0c;其中包括 PSR-0&#xff0c;此外&#xff0c;本 PSR 还包括自动载入的类对应的文件存放路径规范。关于「能愿动词」的使用为了…

两台服务器虚拟成一个ip地址,两台服务器如何用一个ip地址

两台服务器如何用一个ip地址 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。检查Pkey是否一致。查看弹性云服务器内部分配到的Pkey…

SQL注入漏洞全接触--高级篇

2019独角兽企业重金招聘Python工程师标准>>> 看完入门篇和进阶篇后&#xff0c;稍加练习&#xff0c;破解一般的网站是没问题了。但如果碰到表名列名猜不到&#xff0c;或程序作者过滤了一些特殊字符&#xff0c;怎么提高注入的成功率?怎么样提高猜解效率?请大家接…

除了沉迷酒色之外,你还做过什么?

1 是了&#xff0c;说的就是我▼2 你这叫落井又下石...▼3 如何让衣服瞬间好看&#xff1f;▼4 自己品品...▼5 买家秀与卖家秀▼6 舍友的水杯...妥妥养生局&#xff01;▼7 还有...▼你点的每个赞&#xff0c;我都认真当成了喜欢

ssl certificate 验证

2019独角兽企业重金招聘Python工程师标准>>> 生成certificate&#xff1a; client 验证certificate&#xff1a; 转载于:https://my.oschina.net/u/255456/blog/545568

使用C#开发交互式命令行应用

前言如果你开发过vue应用&#xff0c;应该对其交互式命令行印象深刻&#xff1a;它允许你无需任何编程经验&#xff0c;仅需回答问题&#xff0c;就可完成vue应用创建。虽然作为.NETer&#xff0c;大部分情况下我们不会使用命令行&#xff0c;但是还是希望能用C#开发出这样的交…

300 s7 置零指令_西门子1200与200、200 SMART置位复位指令的区别

S7-1200的位逻辑指令&#xff0c;这也是我们在学习PLC编程时最先接触到的指令&#xff0c;最基本的指令。位逻辑运算指令是对二进制位进行操作的指令&#xff0c;数据类型是BOOL型&#xff0c;这其中又包括了触点指令与赋值指令、置位与复位指令、沿脉冲检测指令这三个部分。在…

惊现试衣间照片流出??

1 论断句的重要性▼2 这是个有味道的手机壳▼3 啊这...就挺秃然的&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 男朋友的瘦肉礼物&#xff08;via.苍南派&#xff09;▼5 哭泣吧&#xff0c;打工人&#xff01;&#xff01;▼6 朋友送的生日礼物被子还是衣服啊…

【转载】创建型-工厂方法模式

介绍&#xff1a;在简单工厂模式中&#xff0c;我们提到&#xff0c;工厂方法模式是简单工厂模式的一个延伸&#xff0c;它属于Gof23中设计模式的创建型设计模式。它解决的仍然是软件设计中与创建对象有关的问题。它可以更好的处理客户的需求变化。引入我们继续来说"new&q…

主机挂载存储_备战CKA每日一题——第3天 | 对接CSI存储知识

本活动在微信公众号【我的小碗汤】上举行&#xff0c;这里参与答题无效哦&#xff01; 昨日考题 在Kubernetes PVCPV体系下通过CSI实现的volume plugins动态创建pv到pv可被pod使用有哪些组件需要参与&#xff1f; A. PersistentVolumeController CSI-Provisoner CSI controll…