SemanticKernel之ImageToText
内容提要
本篇介绍了使用ImageToText来获取图片内的信息的方法。通过AI判断上传的图片是否正确。后端代码使用了Microsoft.SemanticKernel和OpenAI库,前端代码使用了Bootstrap和jQuery库。
延伸解读
两阶段识别策略的优势
文章指出,之前将问题和图片直接作为入参时效果不稳定。调整后,先让模型描述图片特征,再基于特征进行文本判断,效果更好。这种方法通过分解任务,让模型先关注视觉信息,再结合文本推理,提高了判断准确性。虽然消耗更多token,但作者认为值得。
技术栈与实现要点
后端使用Microsoft.SemanticKernel和OpenAI库,调用gpt-4-vision-preview模型。前端采用Bootstrap和jQuery,通过点击图片触发AJAX请求。代码中,ChatHistory被清空以复用,图片以URI形式传入,模型返回特征后,再构造新提示进行二分类判断。
应用场景与判断逻辑
示例中,用户上传图片,AI判断是否为“Residence Card”。判断依据是图片是否包含特定文字,如“Residence Card”、“GOVERNMENT OF JAPAN”等。模型被要求仅回答“Yes”或“No”,无法识别时也回答“No”。前端根据结果改变文字颜色,绿色表示是,红色表示否。
Q&A
如何使用ImageToText获取图片信息?
用户上传图片后,AI会判断图片是否正确,并提取其中的信息。
后端代码使用了哪些库?
后端代码使用了Microsoft.SemanticKernel和OpenAI库。
前端代码是如何实现图片上传的?
前端代码使用Bootstrap和jQuery库来实现图片上传和结果显示功能。
AI是如何判断上传的图片的?
AI通过询问图片特征并进行二次文本询问来判断图片的内容。
用户如何查看判断结果?
用户点击图片后,系统会进行判断并返回结果,结果会在页面上显示。
ImageToText的识别效果如何提高?
通过先询问图片特征,再进行文本询问,可以提高识别效果。