# 引言
在人工智能领域,多模态输入是一个激动人心的领域,它允许模型同时处理多种数据类型(如文本、图像、音频等)。本文将介绍如何利用多模态提示模板(Prompt Templates)来格式化多模态输入。在我们的示例中,我们将请求模型对一幅图像进行描述。
# 主要内容
## 多模态提示的价值
多模态提示让AI模型能够更自然地理解和处理混合类型的数据。例如,通过将图像和文本结合,可以实现更复杂的任务,如视觉问答、图像生成等。
## 使用Prompt Templates格式化输入
我们将使用`ChatPromptTemplate`和`ChatOpenAI`来处理图像描述任务。通过提供图像的Base64编码,我们可以将其嵌入到提示中。
## API访问的注意事项
由于某些地区的网络限制,开发者在使用API时可能需要考虑使用API代理服务来提高访问的稳定性。这有助于确保请求能够顺利地到达API端点。
# 代码示例
以下是一个完整的代码示例,展示如何调用模型对单个图像进行描述:
```python
import base64
import httpx
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
# 获取图像并进行Base64编码
image_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"
image_data = base64.b64encode(httpx.get(image_url).content).decode("utf-8")
# 初始化模型
model = ChatOpenAI(model="gpt-4o")
# 创建多模态Prompt模板
prompt = ChatPromptTemplate.from_messages(