GPT-4o:实现跨越文本与视觉的智能交互( 五 )


GPT-4o:实现跨越文本与视觉的智能交互

文章插图
如下图所示 , 结果是x=5/7 y=13/7 。
GPT-4o:实现跨越文本与视觉的智能交互

文章插图
我们可以将 x=5/7 y=13/7 都带入到方程式 2x + 3y = 7 4x y = 1 进行演算,发现结果同时满足两个方程式,“Qwen-plus”完成数学题 。
最后,来看看gpt-4o的表现,如下图所示,选择“gpt-4o”然后提交同样的问题 。
GPT-4o:实现跨越文本与视觉的智能交互

文章插图
如下图所示,gpt-4o得到了和“Qwen-plus”相同的结果,从执行过程上看,gpt-4o通过三步计算出方程的解之后,还加了一个“第四步”将计算的结果带入原方程进行演算,显得比较“严谨” 。
GPT-4o:实现跨越文本与视觉的智能交互

文章插图
通过上面的实验,我们发现GPT-4o在解决方程组的问题上表现出了强大的能力 。它不仅能够准确地识别并理解输入的方程组,还能够逐步地提供详细的解题过程 。这充分展示了GPT-4o在以下几个方面的优势:
  • 精确的数学运算能力:GPT-4o能够准确地进行代数运算,包括加减乘除以及分数运算 。在解题过程中,它清晰地展示了每一步的计算步骤 , 确保结果的正确性 。
  • 逻辑推理和问题分解能力:在解决方程组时,GPT-4o展示了良好的逻辑推理能力 。它首先通过消元法简化方程,然后逐步解出每一个变量的值,整个过程条理清晰,步骤分明 。
  • 文本生成和解释能力:除了数学运算,GPT-4o还能够生成易于理解的文本解释 。这对于帮助用户理解解题过程和结果非常有用,特别是在教育和学习场景中 , 能够起到很好的辅导作用 。
虽然此次展示的是文本和数学能力,但是从响应速度上看GPT-4o比之前的GPT-4有明显的提升 。但是这些能力还是在文字生成方面,通过前面的介绍GPT-4o还具备处理图像、音频等多模态信息的能力 。它能够综合利用多种信息源,提供更加全面和准确的解决方案 。接下来我们还要介绍其在多模态处理方面的能力 。
图片理解功能的实现上面我们已经详细介绍了GPT-4o在文本理解、推理和生成方面的强大能力 。通过对复杂数学问题的准确解答,GPT-4o展示了其在处理复杂文本任务上的卓越性能 。接下来,我们将深入探讨GPT-4o的视觉处理能力 。
为了全面评估其在这一方面的表现,我们准备了两张图片进行测试 。首先,我们将展示一张风景图片,看看GPT-4o是否能够准确理解图片内容,识别出其中的细节和场景信息 。其次,我们将测试一张包含多个数学公式的图片,检验GPT-4o是否能够识别这些公式并理解它们的含义,甚至进一步解答其中涉及的数学方程式 。
图片识别代码执行直接上代码, 在原有的selected_model.py文件中加入新函数 , 让gpt-4o进行视觉识别 。代码如下:
def get_response_from_pic_by_gpt_4o(question:str,url: str):human_message = HumanMessage(content=[{ "type": "text", "text": question },{ "type": "image_url", "image_url": { "url": url }}])llm = ChatOpenAI(model="gpt-4o")response = llm.invoke([ human_message ])print(response.content)return response.content(1) 定义视觉处理函数定义了一个名为get_response_from_pic_by_gpt_4o的函数,该函数接受两个参数:一个字符串类型的question用来接收用户的提问,另一个字符串类型的url用来接收图片的URL地址 。函数将根据这两个参数生成并返回一个响应,也就是识别图片的内容信息 。
(2) 创建HumanMessage对象human_message = HumanMessage(content=[{ "type": "text", "text": question },{ "type": "image_url", "image_url": { "url": url }}])创建了一个HumanMessage对象,并将其赋值给变量human_message 。该对象包含一个content列表 , 列表中的第一个元素是包含文本问题的字典,第二个元素是包含图片URL的字典 。这种结构将文本和图片信息组合在一起,以便传递给大语言模型 。
(3) 调用gpt-4o处理图片信息llm = ChatOpenAI(model="gpt-4o")response = llm.invoke([ human_message ])return response.content实例化一个ChatOpenAI对象 , 并将其赋值给变量llm 。该对象使用了模型gpt-4o,用于处理输入的human_message并生成响应 。接着,调用llm对象的invoke方法,传入包含human_message的列表 。该方法会处理输入的消息并返回一个响应 。返回的响应赋值给变量response , 并将识别图片的内容信息content通过response.content的方式返回给调用者 。


推荐阅读