OpenAI 开发者快速入门
快速上手 OpenAI API,实现文本生成、图像分析、文件处理等功能。
一、生成文本
1. 基础示例:调用模型生成文本
cURL 示例:
curl "https://api.openai.com/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-5",
"input": "写一个关于独角兽的睡前故事,一句话说完。"
}'
Python 示例:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5",
input="写一个关于独角兽的睡前故事,一句话说完。"
)
print(response.output_text)
二、分析图像和文件
1. 分析图像内容
cURL 示例:
curl "https://api.openai.com/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-5",
"input": [
{
"role": "user",
"content": [
{"type": "input_text", "text": "这张图片里有什么?"},
{"type": "input_image", "image_url": "https://example.com/cat_and_otter.png"}
]
}
]
}'
Python 示例:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5",
input=[
{
"role": "user",
"content": [
{"type": "input_text", "text": "这张图片里有什么?"},
{"type": "input_image", "image_url": "https://example.com/cat_and_otter.png"}
]
}
]
)
print(response.output_text)
2. 分析文件内容
cURL 示例(使用文件 URL):
curl "https://api.openai.com/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-5",
"input": [
{
"role": "user",
"content": [
{"type": "input_text", "text": "分析这封信并总结关键点。"},
{"type": "input_file", "file_url": "https://example.com/letter.pdf"}
]
}
]
}'
Python 示例(上传文件):
from openai import OpenAI
client = OpenAI()
# 上传文件
file = client.files.create(
file=open("document.pdf", "rb"),
purpose="user_data"
)
# 使用文件
response = client.responses.create(
model="gpt-5",
input=[
{
"role": "user",
"content": [
{"type": "input_file", "file_id": file.id},
{"type": "input_text", "text": "这份文件的主要内容是什么?"}
]
}
]
)
print(response.output_text)
三、扩展模型功能(使用工具)
1. 使用网络搜索工具
cURL 示例:
curl "https://api.openai.com/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-5",
"tools": [{"type": "web_search"}],
"input": "今天有什么好消息?"
}'
Python 示例:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5",
tools=[{"type": "web_search"}],
input="今天有什么好消息?"
)
print(response.output_text)
2. 使用文件搜索工具
Python 示例:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5",
input="OpenAI 的 Deep Research 是什么?",
tools=[{
"type": "file_search",
"vector_store_ids": ["<vector_store_id>"]
}]
)
print(response)
3. 调用自定义函数
Python 示例:
from openai import OpenAI
client = OpenAI()
tools = [
{
"type": "function",
"name": "get_weather",
"description": "获取指定地点的当前温度。",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市和国家,例如:北京,中国"
}
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="gpt-5",
input=[
{"role": "user", "content": "今天北京的天气怎么样?"}
],
tools=tools,
)
print(response.output[0].to_json())
四、流式响应与实时应用
1. 流式传输响应
Python 示例:
from openai import OpenAI
client = OpenAI()
stream = client.responses.create(
model="gpt-5",
input=[
{
"role": "user",
"content": "快速说十遍‘双倍泡泡浴’。",
},
],
stream=True,
)
for event in stream:
print(event)
五、构建 AI 代理
1. 语言分流代理示例
Python 示例:
from agents import Agent, Runner
import asyncio
spanish_agent = Agent(
name="西班牙语代理",
instructions="你只说西班牙语。"
)
english_agent = Agent(
name="英语代理",
instructions="你只说英语。"
)
triage_agent = Agent(
name="分流代理",
instructions="根据请求的语言,将任务转交给合适的代理。",
handoffs=[spanish_agent, english_agent],
)
async def main():
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
关键链接
注意事项
- 替换
$OPENAI_API_KEY为你的实际 API 密钥。 - 确保安装了对应的 SDK(如
openaiPython 包)。 - 文件上传需指定用途(如
purpose="user_data")。 - 流式响应需设置
stream=True。
如需更多帮助,可查阅 OpenAI 官方文档。