欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > 全能大模型GPT-4o体验和接入教程

全能大模型GPT-4o体验和接入教程

2024/10/24 6:49:53 来源:https://blog.csdn.net/qq_42731358/article/details/143144705  浏览:    关键词:全能大模型GPT-4o体验和接入教程

GPT-4o体验和接入教程

  • 前言
  • 一、原生API
  • 二、Python Langchain
  • Spring AI
  • 总结


前言

Open AI发布了产品GPT-4o,o表示"omni",全能的意思。

GPT-4o可以实时对音频、视觉和文本进行推理,响应时间平均为 320 毫秒,和人类之间对话相当。

也就是,以后跟你进行文字聊天、语音聊天、视频聊天的都可能是AI,当然,这样强大的模型,应用场景肯定不止聊天。

如何使用GPT-4o呢?目前可以通过API的方式来使用GPT-4o,但也只能使用到它的文字生成和图像理解的能力,后续会逐步开发音频和视频的能力。

那我们来看看以下几种接入和使用GPT-4o的方式。

一、原生API

在Python环境下,先安装openai依赖

pip install openai

运行以下代码即可体验gpt-4o:

from openai import OpenAIfrom config import BASE_URL, API_KEYclient = OpenAI(base_url=BASE_URL, api_key=API_KEY)response = client.chat.completions.create(model="gpt-4o",messages=[{"role": "user","content": [{"type": "text", "text": "这张图片里有什么?"},{"type": "image_url","image_url": {"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",},},],}],max_tokens=300,
)print(response.choices[0])

图片为:
在这里插入图片描述
得到的答案为:

Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='这张图片展示了一条木板路,通向一片开阔的草地。周围长满了绿草和一些灌木,远处可以看到一些树木。天空晴朗,蓝天上有一些白云,整个场景显得非常宁静和自然。', role='assistant', function_call=None, tool_calls=None))

怎么样,描述的还不错吧。

如果把model换成:

model="gpt-4-turbo"

我自己体验下来,确实速度要慢很多,生成的描述上,GPT-4o给我的感觉确实更好一些,更加文艺一些。

Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='这张图片展示了一条穿过绿色草地的木板路。图片背景是广阔的蓝天和些许白云,木板路两旁是高高的草丛和散布的灌木。整个景象给人一种平静和自然的感觉。这是一个很好的户外散步或自然探索的场所。', role='assistant', function_call=None, tool_calls=None))

二、Python Langchain

python版本的langchain可以不更新版本就直接使用GPT-4o,先安装依赖:

pip install langchain
pip install langchain-openai

代码如下:

from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAIfrom config import API_KEY, BASE_URLmodel = ChatOpenAI(model_name="gpt-4o", openai_api_base=BASE_URL, openai_api_key=API_KEY)prompt = ChatPromptTemplate.from_messages([("system", "解析图片链接,并告诉我这张图片里有什么?"),("human", "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg")
])chain = prompt | modelprint(chain.invoke({}))

结果为:

content='这张图片显示的是一个自然步道(Nature Boardwalk)。步道由木材建造,穿越一个自然区域,看起来像是湿地或湖泊边缘。周围有茂密的绿色植被,包括草地和树木。步道上有几个人在散步,享受自然风光。天空蓝蓝的,天气看起来很好。总体来说,这张图片展现了一个宁静、绿意盎然的户外环境,非常适合散步和休闲活动。' response_metadata={'token_usage': {'completion_tokens': 113, 'prompt_tokens': 68, 'total_tokens': 181}, 'model_name': 'gpt-4o', 'system_fingerprint': 'fp_729ea513f7', 'finish_reason': 'stop', 'logprobs': None} id='run-d863e902-5b10-4cd3-a47e-daf414a1c92b-0'

Spring AI

@GetMapping("/chat")
public String generate() {Prompt prompt = new Prompt(List.of(new SystemMessage("解析图片链接,并告诉我这张图片里有什么?"),new UserMessage("https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg")),OpenAiChatOptions.builder().withModel("gpt-4o").build());return chatClient.call(prompt).getResult().getOutput().getContent();
}

结果为
在这里插入图片描述
当然,也有可能是测试的场景比较简单,没有发现问题。

总结

个人体验而言,GPT-4o确实在速度和效果上都非常不错,特别是速度上比GPT-4-turbo要快很多,效果上。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com