当前位置: 首页 > article >正文

OpenAI API - 快速入门开发

文章目录

  • 开发者快速入门
    • 分析图像输入
    • 使用工具扩展模型
    • 提供闪电般的 AI 体验
    • 构建代理
    • 进一步探索
  • 模型
      • 精选模型
      • 推理模型
      • 旗舰聊天模型
      • 成本优化模型
      • 实时模型
      • 旧版 GPT 模型
      • DALL·E
      • 文本转语音
      • 转写
      • 嵌入
      • 调度
      • 工具特定模型
      • GPT 基础模型
  • Libraries
    • 创建和导出 API 密钥
    • 安装官方 SDK
      • JavaScript
      • Python
    • Azure OpenAI 库
    • 社区库
      • C# / .NET
      • C++
      • Clojure
      • Crystal
      • Dart/Flutter
      • Delphi
      • Elixir
      • Go
      • Java
      • Julia
      • Kotlin
      • Node.js
      • PHP
      • Python
      • R
      • Ruby
      • Rust
      • Scala
      • Swift
      • Unity
      • Unreal Engine
    • Other OpenAI repositories


开发者快速入门

使用 OpenAI API 的第一步。

https://platform.openai.com/docs/quickstart

OpenAI API 为文本生成、自然语言处理、计算机视觉等领域提供了一种简单接口,用于访问最先进的 AI 模型。此示例从提示中生成 文本输出,就像您使用 ChatGPT 一样。

从模型生成文本

import OpenAI from "openai";
const client = new OpenAI();

const completion = await client.chat.completions.create({
    model: "gpt-4o",
    messages: [
        {
            role: "user",
            content: "Write a one-sentence bedtime story about a unicorn.",
        },
    ],
});

console.log(completion.choices[0].message.content);

配置您的开发环境
安装并配置官方OpenAI SDK以运行上述代码。
https://platform.openai.com/docs/libraries


文本生成和提示
了解更多关于提示、消息角色和构建对话式应用的信息。
https://platform.openai.com/docs/guides/text


分析图像输入

您也可以将图像输入提供给模型。扫描收据、分析截图或在现实世界中寻找物体,使用 计算机视觉。

分析图像内容

import OpenAI from "openai";
const openai = new OpenAI();

const response = await openai.chat.completions.create({
    model: "gpt-4o-mini",
    messages: [
        {
            role: "user",
            content: [
                { type: "text", text: "What's in this image?" },
                {
                    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",
                    },
                },
            ],
        },
    ],
});

console.log(response.choices[0].message.content);

计算机视觉指南
学习如何使用模型输入图像并从图像中提取意义。
https://platform.openai.com/docs/guides/images


使用工具扩展模型

使用工具使模型能够访问新的数据和功能。您可以选择调用自己的自定义代码,或者使用 OpenAI 的强大的内置工具。此示例使用网络搜索来使模型能够访问互联网上的最新信息。

从互联网获取完成信息

import OpenAI from "openai";
const client = new OpenAI();

const completion = await client.chat.completions.create({
    model: "gpt-4o-search-preview",
    web_search_options: {},
    messages: [{
        "role": "user",
        "content": "What was a positive news story from today?"
    }],
});

console.log(completion.choices[0].message.content);

使用内置工具
了解强大的内置工具,如网络搜索和文件搜索。
https://platform.openai.com/docs/guides/tools


函数调用指南
学习如何使模型调用您自己的自定义代码。
https://platform.openai.com/docs/guides/function-calling


提供闪电般的 AI 体验

使用新的 实时 API 或服务器端发送的 流式事件,您可以构建高性能、低延迟的用户体验。

从 API 流式传输服务器发送的事件

import OpenAI from "openai";
const openai = new OpenAI();

const stream = await openai.chat.completions.create({
    model: "gpt-4o",
    messages: [
        {
            role: "user",
            content: "Say 'double bubble bath' ten times fast." ,
        }
    ],
    stream: true,
});

for await (const chunk of stream) {
    console.log(chunk);
    console.log(chunk.choices[0].delta);
    console.log("****************");
}

使用流式事件
使用服务器端事件快速将模型响应流式传输给用户。
https://platform.openai.com/docs/guides/streaming-responses


开始使用实时API
使用 WebRTC 或 WebSockets 为超快语音到语音 AI 应用程序。
https://platform.openai.com/docs/guides/realtime


构建代理

使用 OpenAI 平台构建 代理 ,使其能够代表用户采取行动——例如 控制计算机 。使用 Python 代理 SDK 在后端创建编排逻辑。

from agents import Agent, Runner
import asyncio

spanish_agent = Agent(
    name="Spanish agent",
    instructions="You only speak Spanish.",
)

english_agent = Agent(
    name="English agent",
    instructions="You only speak English",
)

triage_agent = Agent(
    name="Triage agent",
    instructions="Handoff to the appropriate agent based on the language of the request.",
    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())

# ¡Hola! Estoy bien, gracias por preguntar. ¿Y tú, cómo estás?

构建能够采取行动的代理程序
学习如何使用 OpenAI 平台构建强大、高效的 AI 代理。
https://platform.openai.com/docs/guides/agents


进一步探索

我们对 OpenAI 平台所能实现的功能仅仅触及了皮毛。以下是一些您可能想要进一步探索的资源。


深入探索提示和文本生成
了解有关提示、消息角色以及构建像聊天机器人这样的对话式应用程序的更多信息。
https://platform.openai.com/docs/guides/text


分析图像内容
学习如何使用模型中的图像输入并从图像中提取意义。
https://platform.openai.com/docs/guides/images


从模型生成结构化 JSON 数据
从模型生成符合您指定的JSON模式的JSON数据。
https://platform.openai.com/docs/guides/structured-outputs


调用自定义代码以帮助生成响应
赋予模型调用您自己的自定义代码以帮助生成响应的能力。这样做是为了让模型能够访问它否则无法访问的数据或系统。
https://platform.openai.com/docs/guides/function-calling


完整API参考
查看 OpenAI 平台的完整 API 参考文档。
https://platform.openai.com/docs/api-reference


模型

https://platform.openai.com/docs/models

探索所有可用的模型并比较它们的性能。


精选模型

  • GPT-4.5 Preview
    最大且功能最强大的 GPT 模型
  • o3-mini
    快速、灵活、智能推理模型
  • GPT-4o
    快速、智能、灵活的 GPT 模型

推理模型

o系列模型,擅长复杂、多步骤的任务。



  • o3-mini : 快速、灵活、智能推理模型
  • o1 : 高智能推理模型
  • o1-mini : 一个比o1更快、更经济的推理模型
  • o1-pro : 一个具有更多计算能力以获得更好响应的o1版本

旗舰聊天模型

我们的多功能、高智能旗舰模型。

  • GPT-4.5 Preview : 最大的、功能最强大的 GPT 模型
  • GPT-4o : 快速、智能、灵活的 GPT 模型
  • GPT-4o Audio : GPT-4o 模型,能够处理音频输入和输出
  • ChatGPT-4o : GPT-4o 模型用于 ChatGPT

成本优化模型

更小、更快且运行成本更低的模型。

  • GPT-4o mini : 快速、经济的专注任务小型模型
  • GPT-4o mini 音频 : 较小的模型,能够进行音频输入和输出

实时模型

能够进行实时文本和音频输入输出的模型。

  • GPT-4o Realtime : 模型能够实时处理文本和音频输入输出
  • GPT-4o mini Realtime : 较小的实时文本和音频输入输出模型

旧版 GPT 模型

支持我们通用和聊天模型的旧版版本。

  • GPT-4 Turbo : 一个较旧的、高智能的GPT模型
  • GPT-4 : 一个较老的高智能 GPT 模型
  • GPT-3.5 Turbo : 遗留的 GPT 模型,用于更便宜的聊天和非聊天任务

DALL·E

能够根据自然语言提示生成和编辑图像的模型。

  • DALL·E 3 : 我们的最新图像生成模型
  • DALL·E 2 : 我们的第一个图像生成模型

文本转语音

可以将文本转换为自然发音的语音的模型。

  • GPT-4o mini TTS : 文本到语音模型,由 GPT-4o mini 驱动
  • TTS-1 : 文本到语音模型,针对速度进行了优化
  • TTS-1 HD : 文本到语音模型,针对质量进行了优化

转写

模型可以转录和翻译音频为文本。

  • GPT-4o Transcribe : 语音转文本模型,由 GPT-4o 驱动
  • GPT-4o mini Transcribe : 语音转文字模型,由 GPT-4o mini 驱动
  • Whisper : 通用语音识别模型

嵌入

一组可以将文本转换为向量表示的模型。

  • text-embedding-3-small : 小型嵌入模型
  • text-embedding-3-large : 最具能力的嵌入模型
  • text-embedding-ada-002 : 更老的嵌入模型

调度

精细调整的模型,用于检测输入是否可能敏感或不安全。

  • omni-moderation : 识别文本和图像中的潜在有害内容
  • text-moderation : 前一代仅基于文本的审核模型

工具特定模型

模型以支持特定的内置工具。

  • GPT-4o Search Preview : GPT 模型用于 Chat Completions 中的网页搜索
  • GPT-4o mini Search Preview : 快速、经济实惠的小型网页搜索模型
  • computer-use-preview : 专用计算机使用工具模型

GPT 基础模型

较老的模型,未经过指令遵循训练。

  • babbage-002 : GPT-3 ada 和 babbage 基础模型的替代方案
  • davinci-002 : GPT-3 curie 和 davinci 基础模型的替代方案

Libraries

https://platform.openai.com/docs/libraries

设置您的开发环境以使用 OpenAI API 和您首选语言的 SDK。

本页介绍如何设置您的本地开发环境以使用 OpenAI API。您可以使用我们官方支持的 SDK 之一、社区库或您自己首选的 HTTP 客户端。

创建和导出 API 密钥

开始之前,在仪表板中创建一个 API 密钥,您将使用该密钥安全地访问 API。将密钥存储在安全的位置,例如 .zshrc 文件 或计算机上的其他文本文件。生成 API 密钥后,将其作为 环境变量 导出到终端。


macOS / Linux

Export an environment variable on macOS or Linux systems

export OPENAI_API_KEY="your_api_key_here"

Windows

Export an environment variable in PowerShell

setx OPENAI_API_KEY "your_api_key_here"

OpenAI SDK 配置为从系统环境中自动读取您的 API 密钥。


安装官方 SDK

JavaScript

要在类似于 Node.js、Deno 或 Bun 的服务器端 JavaScript 环境中使用 OpenAI API,您可以使用官方的 OpenAI TypeScript 和 JavaScript SDK。通过使用 npm 或您首选的包管理器来安装 SDK 开始使用:

使用 npm 安装 OpenAI SDK

npm install openai

使用安装好的 OpenAI SDK,创建一个名为 example.mjs 的文件,并将示例代码复制到其中:
测试一个基本的API请求

import OpenAI from "openai";
const client = new OpenAI();

const completion = await client.chat.completions.create({
    model: "gpt-4o",
    messages: [
        {
            role: "user",
            content: "Write a one-sentence bedtime story about a unicorn.",
        },
    ],
});

console.log(completion.choices[0].message.content);

执行代码 node example.mjs(或 Deno 或 Bun 的等效命令)。片刻之后,你应该能看到你的 API 请求的输出。


Python

要在 Python 中使用 OpenAI API,可以使用官方的 OpenAI SDK for Python。使用 pip 安装 SDK,开始使用:

使用 pip 安装 OpenAI SDK

pip install openai

安装 OpenAI SDK 后,创建一个名为 example.py 的文件,并将示例代码复制到其中:

测试基本 API 请求

from openai import OpenAI
client = OpenAI()

response = client.responses.create(
    model="gpt-4o",
    input="Write a one-sentence bedtime story about a unicorn."
)

print(response.output_text)

使用 python example.py 执行代码。一会儿,您就会看到 API 请求的输出结果。


了解详情请访问 GitHub
探索更多SDK功能和选项,请访问库的GitHub README页面。
https://github.com/openai/openai-node


Azure OpenAI 库

微软的 Azure 团队维护的库与 OpenAI API 和 Azure OpenAI 服务兼容。阅读以下库文档,了解如何使用它们与 OpenAI API。

  • Azure OpenAI 客户端库 for .NET
  • Azure OpenAI 客户端库 for JavaScript
  • Azure OpenAI 客户端库 for Java
  • Azure OpenAI 客户端库 for Go

社区库

以下库是由更广泛的开发者社区构建和维护的。您还可以在GitHub上关注我们的OpenAPI规范存储库,以获取关于我们何时对我们的API进行更改的及时更新。

请注意,OpenAI不会验证这些项目的正确性或安全性。请自行承担风险


C# / .NET

  • Betalgo.OpenAI by Betalgo
  • OpenAI-API-dotnet by OkGoDoIt
  • OpenAI-DotNet by RageAgainstThePixel

C++

  • liboai by D7EAD

Clojure

  • openai-clojure by wkok

Crystal

  • openai-crystal 由 sferik 开发

Dart/Flutter

  • openai by anasfik

Delphi

  • DelphiOpenAI by HemulGM

Elixir

  • openai.ex 由 mgallo

Go

  • go-gpt3 由 sashabaranov

Java

  • simple-openai by Sashir Estela
  • Spring AI

Julia

  • OpenAI.jl 由 rory-linehan 开发

Kotlin

  • openai-kotlin by Mouaad Aallam

Node.js

  • openai-api 由 Njerschow
  • openai-api-node 由 erlapso
  • gpt-x 由 ceifa
  • gpt3 由 poteat
  • gpts 由 thencc
  • @dalenguyen/openai 由 dalenguyen
  • tectalic/openai 由 tectalic

PHP

  • orhanerday/open-ai 由 orhanerday 提供
  • tectalic/openai 由 tectalic 提供
  • openai-php client 由 openai-php 提供

Python

  • 时序 by OthersideAI

R

  • rgpt3 by ben-aaron188

Ruby

  • openai by nileshtrivedi
  • ruby-openai by alexrudall

Rust

  • async-openai 由 64bit 提供
  • fieri 由 lbkolev 提供

Scala

  • openai-scala-client 由 cequence-io 开发

Swift

  • AIProxySwift 由 Lou Zell
  • OpenAIKit 由 dylanshine
  • OpenAI 由 MacPaw

Unity

  • OpenAi-Api-Unity by hexthedev
  • com.openai.unity by RageAgainstThePixel

Unreal Engine

  • OpenAI-Api-Unreal by KellanM

Other OpenAI repositories

  • tiktoken - counting tokens
  • simple-evals - simple evaluation library
  • mle-bench - library to evaluate machine learning engineer agents
  • gym - reinforcement learning library
  • swarm - educational orchestration repository

2025-03-29(日)


http://www.kler.cn/a/614305.html

相关文章:

  • 使用Python的pytesseract进行网站模拟登录的脚本,主要针对古诗文网(gushiwen.cn)的登录功能。
  • 图论问题集合
  • 加载MiniLM-L12-v2模型及知识库,调用Deepseek进行问答
  • 【Hysteria】部署+测试
  • 虚拟机docker配置ES
  • Docker:ERROR [internal] load metadata for docker.io/library/java:8-alpine问题解决
  • UDS故障码(DTC)SAE格式和HEX相互转换公式
  • B3647 【模板】Floyd
  • ubuntu 安装mysql
  • 【计算机网络】网络原理
  • 智能路由系统-信息泄露漏洞挖掘
  • 第30周Java分布式入门 ThreadLocal
  • Tomcat深度解析:Java Web服务的核心引擎
  • Qwen-0.5b linux部署
  • sql注入语句学习
  • Scala总结(二)
  • 【leetcode】拆解与整合:分治并归的算法逻辑
  • 基于 IEC 61499 标准的开放自动化技术发展现状与展望
  • pycharm与python版本
  • Redis 实现分布式锁详解