以下是Python的openai
库的详细介绍,结合参考资料和实际应用场景整理:
1. 概述
OpenAI Python库是OpenAI官方提供的工具包,用于通过Python代码便捷访问OpenAI的各类AI模型(如GPT系列、DALL-E、Whisper等)。它封装了REST API请求,支持文本生成、图像创建、语音处理等任务。
2. 安装与版本管理
安装
虚拟环境(推荐)
1 2 3 4
| python -m venv venv venv\Scripts\activate pip install openai
|
3. 配置API密钥
方式1:直接设置
1 2
| import openai openai.api_key = "sk-your-api-key"
|
方式2:环境变量(更安全)
1 2
| export OPENAI_API_KEY="sk-your-api-key"
|
1 2 3
| import openai client = openai.OpenAI()
|
自定义API路径
若需代理或私有部署,需指定base_url
并添加/v1
后缀:
1 2
| from openai import OpenAI client = OpenAI(base_url="https://your-proxy.com/v1", api_key="sk-xxx")
|
4. 基础功能示例
文本生成(ChatGPT)
1 2 3 4 5
| response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "用Python写一个快速排序算法"}] ) print(response.choices.message.content)
|
图像生成(DALL-E)
1 2 3 4 5 6
| response = client.images.generate( model="dall-e-3", prompt="赛博朋克风格的城市夜景", size="1024x1024" ) print(response.data.url)
|
5. 高级功能
流式响应(逐字输出)
1 2 3 4 5 6 7
| stream = client.chat.completions.create( model="gpt-4", messages=[{"role": "user", "content": "写一首关于春天的诗"}], stream=True ) for chunk in stream: print(chunk.choices.delta.content, end="")
|
函数调用(结构化输出)
1 2 3 4 5 6 7 8 9 10 11 12 13
| tools = [{ "type": "function", "function": { "name": "get_weather", "parameters": {"type": "object", "properties": {"location": {"type": "string"}}} } }] response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "北京今天天气如何?"}], tools=tools ) print(response.choices.message.tool_calls)
|
6. 应用场景
- 智能客服:基于ChatGPT实现自动问答
- 内容创作:生成文章、代码、营销文案
- 多模态处理:图像生成(DALL-E)、语音转文本(Whisper)
7. 注意事项
- 费用控制:API调用按Token计费,需监控用量(可通过
usage
字段查看)
- 数据安全:避免传输敏感数据,遵守OpenAI数据使用政策
- 错误处理:捕获
APIError
等异常:1 2 3 4
| try: response = client.chat.completions.create(...) except openai.APIError as e: print(f"API调用失败: {e.status_code}")
|
参考资料
- API配置与密钥管理
- 安装与版本检查
- 核心功能与案例
- 高级用法与最佳实践