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 asynciospanish_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.pswp.cn/web/73849.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73849.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73849.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

藍橋杯省賽 棋盤 3533 二維差分+二維前綴和

傳送門 0棋盤 - 藍橋云課 const int N 2e3 10;int n,m; int a[N][N];void insert(int x11,int y11,int x22,int y22) {a[x11][y11] ;a[x11][y22 1] --;a[x22 1][y11] --;a[x22 1][y22 1] ; }void solve() {cin >> n >> m;for (int i 1;i < m;i ){int x11…

《C++Linux編程進階:從0實現muduo 》-第6講.C++死鎖問題如何分析調試-原子操作,互斥量,條件變量的封裝

重點內容 視頻講解&#xff1a;《CLinux編程進階&#xff1a;從0實現muduo C網絡框架系列》-第6講.C死鎖問題如何分析調試-原子操作,互斥量,條件變量的封裝 代碼改動 lesson6代碼 實現&#xff1a;base/Atomic.h 實現&#xff1a;base/Mutex.h 實現&#xff1a;base/Condit…

洛谷題單1-P5708 【深基2.習2】三角形面積-python-流程圖重構

題目描述 一個三角形的三邊長分別是 a a a、 b b b、 c c c&#xff0c;那么它的面積為 p ( p ? a ) ( p ? b ) ( p ? c ) \sqrt{p(p-a)(p-b)(p-c)} p(p?a)(p?b)(p?c) ?&#xff0c;其中 p 1 2 ( a b c ) p\frac{1}{2}(abc) p21?(abc)。輸入這三個數字&#xff…

matplotlib標題比x,y軸字體大,明明標題字體更大?

原始代碼&#xff1a; plt.xlabel(訓練輪次&#xff08;Epochs&#xff09;, fontsize14, fontweightbold, fontpropertieschinese_font) # 設置中文字體、加大、加粗 plt.ylabel(R值, fontsize14, fontweightbold, fontpropertieschinese_font) # 設置中文字體、加大、加粗…

Baklib內容中臺的核心優勢是什么?

智能化知識管理引擎 Baklib的智能化知識管理引擎通過多源數據整合與智能分類技術&#xff0c;實現企業知識資產的自動化歸集與動態更新。系統內置的語義分析算法可自動識別文檔主題&#xff0c;結合自然語言處理技術生成結構化標簽體系&#xff0c;大幅降低人工標注成本。針對…

Android學習總結之ContentProvider跨應用數據共享

在 Android 開發中&#xff0c;跨應用數據共享是構建開放生態的關鍵需求。作為四大組件之一&#xff0c;ContentProvider通過標準化接口和安全機制&#xff0c;成為實現這一需求的核心樞紐。本文將圍繞其生命周期方法、核心機制、自定義實現及最佳實踐展開&#xff0c;幫助開發…

計算機底層基石:原碼、反碼、補碼、移碼深度剖析

在計算機的世界里&#xff0c;所有數據最終都以二進制的形式進行存儲與運算。原碼、反碼、補碼和移碼作為二進制數據的重要編碼方式&#xff0c;對計算機實現高效數據處理起著關鍵作用。接下來&#xff0c;我們將深入剖析這幾種編碼。? 一、原碼? 1.1 定義? 原碼是最簡單…

Bitnode和Bitree有什么區別 為什么Bitree前多了*

Bitnode 和 Bitree 的區別在于它們的類型定義和用途&#xff1a; Bitnode: 這是一個結構體類型&#xff0c;表示二叉樹中的一個節點。 它包含三個成員&#xff1a; data&#xff1a;存儲節點的數據&#xff08;這里是 char 類型&#xff09;。 lchild&#xff1a;指向左子節點…

AI 時代,我們該如何寫作?

當ChatGPT/DeepSeek能在幾秒鐘內產出一篇文章&#xff0c;而且生成能力日益精進&#xff0c;你是否也曾思考&#xff0c;我還能做什么&#xff1f; 當2024年AI開始進入人們的視野&#xff0c;我在CSDN 上的博客也悄然發生了變化&#xff0c;以前一篇文章發布后&#xff0c;閱讀…

第三卷:覆舟山決戰(73-108回)正反人物群像

第三卷&#xff1a;覆舟山決戰&#xff08;73-108回&#xff09;正反人物群像 核心矛盾&#xff1a;寒門稱帝→權力異化→歷史循環 主題&#xff1a;通過人物群像展現屠龍者成魔的必然性與制度壓迫的永恒性 一、正派陣營&#xff08;理想主義殘余&#xff09; 1. 檀道濟&…

vscode 通過Remote-ssh遠程連接服務器報錯 could not establish connection to ubuntu

vscode 通過Remote-ssh插件遠程連接服務器報錯 could not establish connection to ubuntu&#xff0c;并且出現下面的錯誤打印&#xff1a; [21:00:57.307] Log Level: 2 [21:00:57.350] SSH Resolver called for "ssh-remoteubuntu", attempt 1 [21:00:57.359] r…

Nginx RTMP DASH 模塊分析 (ngx_rtmp_dash_module.c)

ngx_rtmp_dash_module.c實現了一個 Nginx RTMP 模塊&#xff0c;主要功能是支持通過 DASH&#xff08;動態自適應流媒體&#xff09;協議進行流媒體發布。DASH&#xff08;Dynamic Adaptive Streaming over HTTP&#xff09;是一種流行的視頻流協議&#xff0c;它允許根據網絡狀…

飛書電子表格自建應用

背景 coze官方的插件不支持更多的飛書電子表格操作&#xff0c;因為需要自建應用 飛書創建文件夾 創建應用 開發者后臺 - 飛書開放平臺 添加機器人 添加權限 創建群 添加剛剛創建的機器人到群里 文件夾邀請群 創建好后&#xff0c;就可以拿到id和key 參考教程&#xff1a; 創…

LangFlow系列:LangFlow快速入門示例

本文介紹了開源AI開發工具LangFlow的快速入門方法。LangFlow作為可視化框架&#xff0c;支持通過拖拽組件構建多智能體及RAG應用&#xff0c;兼容主流大語言模型與向量數據庫。文章從環境搭建、核心功能到實戰案例逐步講解&#xff0c;演示如何利用其可視化界面創建智能聊天機器…

基于龍芯3A5000處理器,全國產標準6U VPX板卡解決方案

1&#xff0c;產品功能 本產品為一款高可靠性的基于龍芯3A5000處理器以及 7A2000芯片組的標準6U VPX板卡&#xff0c;具有以太網、SATA、PCIE&#xff0c;以及顯示等接口&#xff0c;產品功能框圖如圖1所示&#xff1a; 圖1 系統框圖 2&#xff0c;技術指標 序號 項目 指標…

無人機進行航空數據收集對于分析道路狀況非常有用-使用無人機勘測高速公路而不阻礙交通-

無人機進行航空數據收集對于分析道路狀況非常有用-使用無人機勘測高速公路而不阻礙交通- 瑞士擁有1,400 多公里長的高速公路網絡。這些公路將人和貨物從山谷高原運送到阿爾卑斯山的最高山口。維護這些高速公路使國家得以順利運轉。高速公路維護的重要性顯而易見&#xff0c;但在…

Android設計模式之工廠方法模式

一、定義&#xff1a; 定義一個用于創建對象的接口&#xff0c;讓子類決定實例化哪個類。 二、組成&#xff1a; 1.抽象工廠&#xff1a;工廠模式的核心&#xff0c;聲明工廠方法&#xff0c;返回抽象產品對象。 2.具體工廠&#xff1a;實現工廠方法&#xff0c;返還具體的產品…

推薦系統(十七):在TensorFlow中用戶特征和商品特征是如何Embedding的?

在前面幾篇關于推薦模型的文章中&#xff0c;筆者均給出了示例代碼&#xff0c;有讀者反饋——想知道在 TensorFlow 中用戶特征和商品特征是如何 Embedding 的&#xff1f;因此&#xff0c;筆者特意寫作此文加以解答。 1. 何為 Embedding &#xff1f; 關于 Embedding&#x…

c++第三課(基礎c)

1.前文 2.break 3.continue 4.return 0 1.前文 上次寫文章到現在&#xff0c;有足足這么多天&#xff08;我也不知道&#xff0c;自己去數吧&#xff09; 開始吧 2.break break是結束循環的意思 舉個栗子 #include<bits/stdc.h> using namespace std; int main(…

關于ArcGIS中加載影像數據,符號系統中渲染參數的解析

今天遇到一個很有意思的問題&#xff0c;故記錄下來&#xff0c;以作參考和后續的研究。歡迎隨時溝通交流。如果表達錯誤或誤導&#xff0c;請各位指正。 正文 當我們拿到一幅成果影像數據的時候&#xff0c;在不同的GIS軟件中會有不同效果呈現&#xff0c;但這其實是影像是…