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


除了在selected_model.py 文件中添加函数之外,还需要修改app.py的部分代码,如下:
(1) 创建文本输入框让用户输入图片的URLimage_url = st.text_input("请输入图片的URL:")使用Streamlit的text_input函数创建了一个文本输入框,提示用户输入图片的URL 。用户输入的URL存储在变量image_url中 。
(2) 定义函数is_valid_url,验证输入的URLdef is_valid_url(url):regex = re.compile(r'^(?:http|ftp)s?://'# http:// 或 https://r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?.)+(?:[A-Z]{2,6}.?|[A-Z0-9-]{2,}.?)|'# 域名r'localhost|'# 本地地址r'd{1,3}.d{1,3}.d{1,3}.d{1,3}|'# IPv4 地址r'[?[A-F0-9]*:[A-F0-9:]+]?)'# IPv6 地址r'(?::d+)?'# 可选端口号r'(?:/?|[/?]S+)$', re.IGNORECASE)return re.match(regex, url) is not None定义了一个名为is_valid_url的函数 , 该函数接受一个URL字符串作为参数 。通过正则表达式regex验证URL的格式是否有效 。如果URL匹配正则表达式,函数返回True,否则返回False 。有了这个函数就可以判断我们输入的URL是否是符合规则的 。
(3) 调用模型识别图片if st.button("发送"):if selected_model == "gpt-4o":if image_url.strip() and is_valid_url(image_url):response = get_response_from_pic_by_gpt_4o(user_question, image_url)else:response = get_response_from_gpt_4o(user_question)这部分代码是在原来代码基础上进行了修改 , 根据用户选择的模型调用相应的函数处理问题 。如果选择了gpt-4o,首先检查用户是否输入了图片URL且URL格式有效 。如果满足条件 , 则调用get_response_from_pic_by_gpt_4o函数,传入用户输入的问题和图片URL,获取响应 。如果未输入图片URL或URL格式无效,则调用get_response_from_gpt_4o函数 , 传入用户输入的问题,获取响应 。
说白了 , 这段代码通过以下步骤实现了用户输入图片URL并调用相应函数生成响应的功能:

  • 创建一个文本输入框让用户输入图片的URL 。
  • 定义一个函数is_valid_url来验证输入的URL格式是否有效 。
  • 创建一个发送按钮,用户点击按钮后执行代码 。
  • 根据所选模型和图片URL的有效性,调用相应的函数生成并返回响应 。
图片识别功能测试完成代码编写之后 , 我们开始功能的测试,首先确定要识别的图片 , 我们通过地址得到如下图所示的图片 。
GPT-4o:实现跨越文本与视觉的智能交互

文章插图
然后 , 通过streamlit run app.py 启动Web 交互界面 , 如下图所示,输入问题和图片的URL地址 , 然后点击“发送”按钮,请求gpt-4o模型 。
GPT-4o:实现跨越文本与视觉的智能交互

文章插图
从输出的内容可以看出,gpt-4o识别出了整个图片,包括:步道、草地、树木、蓝天、白云、阳光等信息 。
看来gpt-4o的表现还不错,接着我们上点难度 , 提交一张多个数学公式组成的图片,如下图所示,图片包含了多个数学公式 , 我们可以通过地址访问 。
GPT-4o:实现跨越文本与视觉的智能交互

文章插图
看看gpt-4o能否理解、分析、计算出图片中的数学公式,如下图所示,在问题的部分我们告诉大模型“理解并求解图片中的数学题”,然后给出图片的URL地址,最后点击“发送”按钮请求大模型 。
GPT-4o:实现跨越文本与视觉的智能交互

文章插图
由于图片中的公式众多,我们取前面一部分展示给大家 。如下图所示,gpt-4o 解析出图片的公式按照图片公式的序号:(a) (b) (c) 进行排列,针对每个公式提供了详细的解题步骤,检查了一下结果是正确的 。
GPT-4o:实现跨越文本与视觉的智能交互

文章插图
总结通过本文的详细探讨和实例展示,我们看到了GPT-4o在多模态处理上的强大能力 , 以及它在实际应用中的广泛潜力 。无论是处理复杂的数学问题还是进行精确的图像识别,GPT-4o都展现了卓越的性能和速度 。本文提供的集成方法和代码实现为开发者提供了实用的参考,帮助他们将GPT-4o的强大功能融入到自己的应用中 。展望未来,GPT-4o的发布预示着AI技术的又一次飞跃,它将引领人机交互进入一个更加智能和自然的新时代 。
参考https://platform.openai.com/docs/guides/vision 。


推荐阅读