简介
你想知道如何访问和使用 OpenAI 模型的能力吗?在这个过程中你可能会遇到哪些挑战,以及你可以考虑哪些替代方案?本博客旨在揭示 OpenAI API 密钥的复杂性。
我们将引导你完成获取自己的 API 密钥、配置环境以及发送第一个请求的整个过程。我们还将讨论常见问题、保护 API 密钥安全的最佳实践,并展示在实际项目中集成 OpenAI API 密钥的真实案例。此外,我们将分析 OpenAI API 密钥的局限性,包括日益增加的审查机制和高昂的调用成本,并向你介绍 Novita AI 作为替代解决方案,这可能成为你 AI 探索道路上的关键转折点。
什么是 OpenAI API 密钥?
OpenAI API 密钥是用户在注册时分配的唯一凭证,它既是标识符,也是访问 OpenAI API 服务的身份验证令牌。该密钥使开发者能够安全地将 OpenAI 强大的 AI 能力集成到他们的应用程序中。
每个 API 密钥都与特定的权限和使用限制相关联,这些权限和限制决定了通过 API 可访问的操作和数据。API 密钥在控制访问、监控使用情况以及确保客户端应用程序与 OpenAI 服务器之间的安全交互方面发挥着至关重要的作用,从而支持跨各种应用程序和行业的广泛 AI 驱动功能。
哪些模型为 OpenAI API 提供支持?
OpenAI API 由多种模型支持,每种模型都提供独特的能力和定价选项。这些模型可以通过微调针对特定用例进行定制。
- GPT-4o:最快、最具成本效益的旗舰模型。
- GPT-4 Turbo 和 GPT-4:上一代高智能模型。
- GPT-3.5 Turbo:适用于基本任务的快速、经济型模型。
- DALL-E:能够根据自然语言提示生成和编辑图像的模型。
- TTS:将文本转换为自然语音的模型。
- Whisper:将音频转录为文本的模型。
- Embeddings:将文本转换为数值数据的模型。
- Moderation:专门检测潜在敏感或不安全文本的模型。
- GPT base:理解和生成自然语言或代码但不遵循指令的模型。
- Deprecated:已弃用模型的完整列表及其建议的替代品。
我可以使用 OpenAI API 密钥做什么?
文本生成
这些模型根据接收到的信息生成文本响应。模型的输入称为“提示”,它在引导输出方面起着关键作用,本质上充当任务完成的指令或示例。
利用 OpenAI 的文本生成模型,开发者可以创建多种应用程序,例如起草文档、编码、查询知识库、文本分析、为软件实现自然语言接口、在各个学科中提供辅导、语言翻译以及游戏环境中的角色模拟。
函数调用
函数调用允许你描述模型能够识别并以包含函数参数的 JSON 数据进行响应的函数。模型本身不直接执行函数;相反,它会生成 JSON 输出,你的应用程序可以使用该输出来调用你代码中的函数。
嵌入(Embeddings)
嵌入是表示文本字符串含义和上下文的数字向量。这些向量衡量不同文本片段之间的相关程度。它们在各种应用中非常有用,例如搜索(结果按与查询的相关性排序)或聚类(将相似的文本字符串分组在一起)。
微调
微调通过允许用户针对特定任务优化和自定义模型,从而提升其文本生成模型的性能。用户可以通过准备和上传自己的训练数据来启动微调,然后训练一个更符合其应用程序要求的专用模型。
图像生成
图像生成意味着你可以使用文本提示生成图像。
视觉
某些模型可以接收图像并回答相关问题。
文本转语音
文本转语音的过程涉及将书面文本(例如博客文章)转换为语音音频。该技术能够以多种语言创建音频内容,并提供音频输出的实时流式传输。
语音转文本
语音转文本的过程涉及将任何语言的语音音频转换为书面文本。然后将其翻译并转录为英文。
内容审核
内容审核评估文本以确定是否包含潜在有害内容。开发者可以利用此端点分析文本输入并识别可能被认为有害或不适当的材料。此功能允许应用程序自动过滤或处理此类内容,有助于维护更安全、更积极的用户体验。
如何获取并设置自己的 OpenAI API 密钥?
第 1 步:账户设置
- 创建/打开 OpenAI 账户:访问 OpenAI 平台并注册或登录。
- 导航到 API 密钥页面:登录后,转到 API 密钥管理页面。
- 创建新的私密密钥:点击“Create new secret key”,并可选择命名该密钥。
- 保存密钥:务必将 API 密钥保存在安全的地方,不要与任何人共享。
第 2 步:快速入门语言选择
- 选择 curl/Python/Node.js:以下指南以 Python 作为与 OpenAI API 交互的编程语言。如果你选择 curl 或 Node.js,可以访问 OpenAI 平台查看相应的快速入门教程。
第 3 步:设置 Python
- 检查 Python 安装:打开终端或命令提示符,输入
python。如果已安装,你将进入 Python 解释器。 - 安装 Python:如果未安装 Python,请从官方 Python 网站下载并安装最新版本,确保至少安装 Python 3.7.1。
第 4 步:安装 OpenAI Python 库
- 升级 pip:使用
pip install --upgrade pip确保 pip 是最新版本。 - 安装库:使用
pip install --upgrade openai安装 OpenAI Python 库。
第 5 步:设置 API 密钥
- 为所有项目设置 API 密钥(推荐):将环境变量
OPENAI_API_KEY设置为你的 API 密钥值。
MacOS/Linux:export OPENAI_API_KEY="your_api_key_here"
Windows:set OPENAI_API_KEY="your_api_key_here"
- 为单个项目设置 API 密钥:如果未使用环境变量,你需要在 Python 脚本中使用
openai.api_key = "your_api_key_here"设置密钥。
第 6 步:发送第一个 API 请求
- 创建 Python 脚本:创建一个名为
openai-test.py的新文件。 - 编写 Python 代码:将提供的示例代码复制粘贴到
openai-test.py中:
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair."},
{"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}
]
)
print(completion.choices[0].message)
- 运行脚本:在终端或命令提示符中执行
python openai-test.py来运行脚本。
OpenAI API 常见问题排查
常见 API 错误
以下是最常见的 API 错误列表,请查看错误代码的含义:

Python 库错误
在使用 API 时,你可能会遇到一些常见的 Python 库错误。了解错误类型以便进行故障排除:

如何处理错误
import openai
from openai import OpenAI
client = OpenAI()
try:
#Make your OpenAI API request here
response = client.completions.create(
prompt="Hello world",
model="gpt-3.5-turbo-instruct"
)
except openai.APIError as e:
#Handle API error here, e.g. retry or log
print(f"OpenAI API returned an API Error: {e}")
pass
except openai.APIConnectionError as e:
#Handle connection error here
print(f"Failed to connect to OpenAI API: {e}")
pass
except openai.RateLimitError as e:
#Handle rate limit error (we recommend using exponential backoff)
print(f"OpenAI API request exceeded rate limit: {e}")
pass
有关错误代码的更多信息,请访问 OpenAI 平台网站。
如何保护我的 API 密钥安全?
为每个用户分配唯一密钥
为每个团队成员分配不同的 API 密钥,以防止未经授权的共享并确保问责制。
避免客户端暴露
切勿将 API 密钥嵌入客户端应用程序(如 Web 浏览器或移动应用)中,以防止恶意行为者滥用。
不提交到仓库
避免将 API 密钥包含在源代码仓库中,以防止意外泄露,尤其是在公共仓库中。
利用环境变量
使用 OPENAI_API_KEY 等环境变量将密钥安全地存储在应用程序代码之外,便于安全共享和管理。
实施密钥管理解决方案
使用专门用于管理敏感密钥的服务,增强安全性,并提供额外的保护层以防止泄露。
监控和轮换密钥
定期监控 API 使用情况以检测异常,并定期轮换密钥,以最大限度地降低未经授权访问和潜在滥用的风险。
在项目中集成 OpenAI API 密钥的真实案例有哪些?
自动化内容创建
- 场景:一家内容营销机构使用 OpenAI API 根据给定主题或大纲生成草稿文章、博客文章和社交媒体更新。
- 应用:GPT-3.5 Turbo 等模型的文本生成能力能够创建引人入胜且上下文相关的内容。
增强客户支持
- 场景:一个电商平台集成了由 OpenAI 文本生成模型驱动的聊天机器人,提供 24/7 客户支持,解答查询并解决问题。
- 应用:聊天机器人可以理解用户提示并生成适当的回复,提高客户满意度并缩短响应时间。
编码辅助
- 场景:一个开发团队使用 OpenAI API 创建 AI 编码助手,用于建议代码片段、调试现有代码以及自动生成常规代码段。
- 应用:利用 GPT base 等模型的理解和生成能力,开发者可以提高生产力并缩短开发时间。
教育平台
- 场景:一个在线学习平台集成 AI 以提供个性化辅导,在数学、科学和人文学科等领域生成解释并解答疑问。
- 应用:文本生成模型可以模拟辅导员的回复,提供适合学习者理解水平的解释和指导。
语言翻译服务
- 场景:一家翻译服务公司使用 OpenAI API 将文本从一种语言转换为另一种语言,促进企业和个人的跨语言交流。
- 应用:具有多语言能力的模型可以生成不仅在语言上准确而且在上下文上也恰当的翻译。
图像生成与编辑
- 场景:一家设计机构使用 DALL-E 根据客户的描述性文本提示创建独特图像或编辑现有视觉素材。
- 应用:图像生成能力允许快速构思和迭代设计想法,无需手动插画。
搜索相关性与聚类
- 场景:一个搜索引擎或电商网站使用嵌入(Embeddings)模型,通过理解用户查询和产品描述的语义来提升搜索结果的相关性。
- 应用:嵌入有助于对搜索结果进行排序或对相似产品进行分组,通过提供更准确和个性化的结果来增强用户体验。
内容审核
- 场景:一个社交媒体平台使用审核(Moderation)模型自动检测并标记潜在有害或不适当的内容,确保安全的在线环境。
- 应用:审核模型分析文本输入以识别和处理敏感内容,减轻人工审核员的负担,加快审核流程。
OpenAI API 的 LLM 定价
GPT-4o

GPT-3.5 Turbo

OpenAI API 密钥的局限性
日益增加的审查
OpenAI API 日益增加的审查已成为许多用户和开发者关注的话题。随着人工智能不断发展并融入我们日常生活的各个方面,其内容过滤和审核方式受到了密切关注。虽然内容审核的初衷通常是防止错误信息、非法活动和有害内容的传播,但一些用户对他们认为的过度干预表示不满。批评者认为,审查可能会限制讨论的范围,阻碍信息的自由流动,并可能侵犯言论自由。

高昂的调用成本

OpenAI API 的高昂调用成本是希望将高级 AI 能力集成到应用程序中的开发者和企业需要考虑的一个重要因素。GPT-4 等模型提供不同的 token 限制和相关成本,对于需要大量交互或处理大量数据的应用程序来说,费用会迅速增加。例如,具有 32k token 限制的 GPT-4 模型每次调用的成本为 0.12 美元,总调用成本可能高达 18.00 美元。同样,GPT-4 Turbo 模型虽然每次调用更经济,为 0.03 美元,但对于高使用量的情况仍是一笔可观的投资。这些成本可能成为小型实体和初创公司的进入障碍,因为它们可能没有财务资源来支持此类支出,从而可能限制 AI 社区的可及性和创新。
Novita AI LLM API 密钥——OpenAI API 密钥的替代方案
Novita AI LLM API 概述
为了克服使用 OpenAI API 密钥的局限性,Novita AI LLM API 向开发者(尤其是 AI 初创公司的开发者)提供具有性价比且无审查的 LLM API 密钥。我们的目标是提供一个 API 密钥,带来无限的 AI 创新可能性。
具体来说,我们的 LLM API 提供多种 LLM 选择,具有低调用成本和强大的性能。你可以选择满足你需求的 LLM。

此外,我们的 LLM API 提供与 OpenAI API 完全相同的可调参数,包括 top p、temperature、presence penalty 和 max tokens。

由于我们的 API 协议与 OpenAI API 协议一致,如果你正在使用 OpenAI API 或习惯类似的协议,你可以无缝切换并调用我们的 LLM API。
如何获取 Novita AI API 密钥
第 1 步:注册账户
导航到 Novita AI 网站,点击顶部菜单中的“Log In”按钮。目前,你可以使用 Google 或 GitHub 账户登录。登录后,你将免费获得 0.5 美元的积分!

第 2 步:生成 API 密钥
为了通过 API 进行身份验证,请在请求标头中包含 Bearer Token(例如,-H “Authorization: Bearer ***”)。我们将为你提供一个新的 API 密钥。

你还可以通过选择“Add new key”来创建自己的密钥。
第 3 步:执行 API 调用
只需几行代码,你就可以发出 API 调用并利用 Hermes 13B 和其他高级模型的能力:
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# Get the Novita AI API Key by referring: https://novita.ai/get-started/Quick_Start.html#_3-create-an-api-key
api_key="<YOUR Novita AI API Key>",
)
model = "nousresearch/nous-hermes-llama2-13b"
completion_res = client.completions.create(
model=model,
prompt="A chat between a curious user and an artificial intelligence assistant".
stream = True, # or False
max_tokens = 512,
)
结论
在本博客中,我们探索了 OpenAI API 密钥的多方面世界,从其初始设置到实际应用再到潜在陷阱。我们讨论了为 API 提供支持的模型,例如 GPT-4 和 DALL-E,以及它们提供的多种功能,包括文本生成、函数调用、嵌入和微调。我们还提供了获取和设置自己 API 密钥的分步指南,以及排查常见问题和保护密钥安全的技巧。
然而,我们也承认了局限性,例如日益增加的审查和高昂的调用成本,这会影响用户体验和 AI 技术的普遍可及性。
为了解决这些局限性,我们向开发者介绍了 Novita AI LLM API 密钥作为 OpenAI API 密钥的替代方案,提供了具有性价比且无审查的选择。
常见问题
1. 为什么 OpenAI 选择发布 API 而不是开源模型?
OpenAI 选择发布 API 而不是开源其模型,主要有三个原因:
资金支持:通过 API 将技术商业化有助于为持续的 AI 研究、安全措施和政策工作提供资金。
可访问性:维护大型 AI 模型的复杂性和成本使得小型组织难以使用。API 使这些模型变得可访问,无需广泛的专业知识或资源。
控制与安全:通过 API 发布允许 OpenAI 监控和控制访问,快速响应可能因开源模型而产生的潜在滥用或有害应用。
Novita AI 是一个全能的云平台,助力你实现 AI 抱负。通过无缝集成的 API、无服务器计算和 GPU 加速,我们提供具有成本效益的工具,帮助你快速构建和扩展 AI 驱动的业务。消除基础设施烦恼,免费开始使用——Novita AI 让你的 AI 梦想成真。
