惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
L
LINUX DO - 最新话题
Help Net Security
Help Net Security
N
News | PayPal Newsroom
www.infosecurity-magazine.com
www.infosecurity-magazine.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Last Watchdog
The Last Watchdog
S
Security @ Cisco Blogs
W
WeLiveSecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
V
Vulnerabilities – Threatpost
Google Online Security Blog
Google Online Security Blog
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tor Project blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
PCI Perspectives
PCI Perspectives
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
S
SegmentFault 最新的问题
J
Java Code Geeks
P
Privacy & Cybersecurity Law Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 【当耐特】
博客园_首页
H
Hacker News: Front Page
T
Threatpost
Jina AI
Jina AI
博客园 - Franky
月光博客
月光博客
L
LINUX DO - 热门话题
The Cloudflare Blog
H
Heimdal Security Blog
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
Cloudbric
Cloudbric
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
S
Secure Thoughts
T
Tenable Blog
I
Intezer
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
从零到AI高手:用OpenAI API极速打造智能应用! - 少数派
2024-09-02 · via 少数派

像我之前也提到过,AI 的发展愈发迅猛这是无可置疑的,但很多人知道AI好,却不会引进实际的业务中去。无论是市面上常见的文本生成工具,还是智能Copilot,这些应用都展示了AI的强大能力。面对这些新技术,许多设计师可能会好奇:如何才能将这些能力运用到自己的项目中?其实你能用且会用AI工具做端外提效已经超过80%的人了,但如何将能力接入端内?实实在在的给项目提效,而非个人。有些底层逻辑你还是要懂的。

OpenAI 的 GPT 模型是当前自然语言处理领域的核心技术之一。它不仅功能强大,而且极具灵活性,能够应对多种复杂的任务。然而,对于许多设计师来说,如何实际操作这些模型,尤其是如何利用 OpenAI 提供的 API,仍然是一个挑战。本文将详细介绍 OpenAI API 的工作原理,带你一步步了解 GPT 模型的核心概念,并让你感知到如何将这些技术应用到实际项目的底层逻辑。

这篇文章主要是技术分享,由于我是设计师出身,有些地方可能总结得不够全面,还请专业人士多多指教!

1. GPT 模型与关键概念

1.1 GPT 模型概述

在进入实际应用讲解之前,我们首先需要理解 GPT 模型的核心原理。GPT 是生成式预训练 Transformer(Generative Pre-trained Transformer)的缩写。这种模型经过大量的文本数据训练,能够理解和生成自然语言文本。与这些模型的交互方式通常是通过提供一个“提示”,即一段输入文本,模型会根据提示生成一个连贯的响应。正是这种能力使得 GPT 模型能够用于从内容生成到创意写作等各种任务。

GPT 模型的设计理念源自 Transformer 架构,这是一种神经网络模型,特别擅长处理序列数据。与传统的循环神经网络(RNN)不同,Transformer 依赖于自注意力机制,能够并行处理整个文本序列。这使得它在处理长文本时效率更高,并且能够捕捉更复杂的语言结构和语义关系。

这些特性使得 GPT 模型在自然语言处理 (NLP) 领域中大放异彩。无论是编写代码、撰写文章、生成对话,还是执行其他复杂的语言任务,GPT 都展示出了卓越的性能。

1.2 嵌入与代币

在 NLP 领域,嵌入 (Embeddings) 和代币 (Tokens) 是两个非常重要的概念。理解这两个概念有助于我们更好地掌握 GPT 模型的工作原理。

嵌入是指将文本数据转化为向量表示的过程。这些向量保留了文本的语义信息,使得机器能够理解文本的含义。OpenAI 提供的文本嵌入模型能够将文本字符串转换为嵌入向量,这些向量可用于各种任务,如搜索、聚类和推荐。在实际应用中,嵌入的质量直接影响到模型的表现,因为它决定了模型对文本语义的理解程度。

代币是文本的基本构建块。代币化是将文本分割成一个个最小语义单元的过程。例如,“Hello, world!” 这个短语,有点代码基础的应该都不陌生吧,哈哈哈! 那这个短语可能就会被分割成四个代币:“Hello”、“,”、“world“、”!”。在 GPT 模型中,代币化的结果会影响到模型的输入和输出。特别需要注意的是,每次 API 调用时,输入和输出的总代币数不能超过模型的最大上下文长度。因此,理解代币的工作原理对于有效利用 GPT 模型至关重要。

可以在 这里  测试一下:

官网上的 tokenizer 测试

GPT 模型使用的代币化过程基于字节对编码 (Byte Pair Encoding, BPE)。这种方法通过不断合并频繁出现的字符对,最终生成固定大小的词汇表,从而实现代币化。由于 BPE 的特性,一个词可能被分割成多个代币,尤其是对于较长或复杂的单词。例如,“tokenization” 可能会被分割成 “token”、“ization” 两个代币。这种分割方式在实际使用中对模型性能有重要影响,特别是在处理多语言文本或专有名词时。

不同的模型API调用的价格不一样,这个可以去官网上了解不同模型的定价,我这里就先放一张截图:

GPT-4O不同版本的API调用价格

2. OpenAI API 的工作原理

2.1 API 基础

API(应用程序编程接口)是一组允许程序相互通信的规则。简单来说,API 是开发者与服务之间的桥梁。通过 API,开发者可以访问特定的功能或数据,而不需要了解背后的复杂实现细节。

OpenAI 的 API 使开发者能够访问其强大的 GPT 模型。这意味着你可以通过简单的 HTTP 请求与模型进行交互,发送输入文本并接收模型生成的输出文本。这种方式使得复杂的自然语言处理任务变得更加容易实现。

例如,要与 OpenAI 的 GPT 模型进行交互,你只需发送一个 HTTP POST 请求,其中包含你想要提供的提示文本和 API 密钥。然后,API 会处理你的请求,并返回一个响应,其中包含模型生成的文本。这种简单而强大的机制使得 GPT 模型能够轻松集成到各种应用程序中,从聊天机器人到内容生成器,无所不包。

2.2 模型选择与代币管理

当使用 OpenAI API 时,你会发现可以选择不同的模型。这些模型各有优劣,适用于不同的任务。当前的最新模型包括 GPT-3.5 和 GPT-4。这些模型在处理自然语言任务时展示了卓越的性能,但它们之间仍然存在一些差异。例如,GPT-4 在理解复杂上下文和生成更连贯的长文本方面表现得更为出色,而 GPT-3.5 则更适合处理较简单的任务。

在选择模型时,还需要考虑代币管理。每个模型都有其最大上下文长度,这决定了它可以处理的最大代币数。为了确保 API 调用的有效性,必须控制提示和响应的总代币数不超过这个限制。理解并有效管理代币使用,对于优化模型性能、减少成本至关重要。

在实际操作中,代币管理可以通过以下几种方式实现:

  • 简化提示:确保提示的简洁性和直接性,避免不必要的冗长描述。
  • 控制输出:通过调整模型的参数(如温度、max_tokens)来限制输出的长度和随机性。
  • 分割长文本:对于超长文本,可以将其分割成多个段落,并分别处理这些段落,从而避免超过模型的上下文长度限制。

3. 实际操作:与 OpenAI API 交互

3.1 安装与验证

要开始使用 OpenAI API,你首先需要安装必要的工具和进行验证。以下是使用 Python 与 OpenAI API 交互的基本步骤。

安装 OpenAI Python 库

pip install openai

安装完成后,你需要获取一个 OpenAI API 密钥。这个密钥用于验证你的请求并确保安全性。在发送 API 请求时,需要在 HTTP 标头中包含此密钥。

示例代码

import openai

# 设置 API 密钥
openai.api_key = 'your-api-key'

# 定义请求
response = openai.Completion.create(
    model="gpt-4",
    prompt="告诉我一些关于机器学习的有趣事实。",
    max_tokens=150
)

# 打印响应
print(response['choices'][0]['text'].strip())

在上面的代码中,我们使用了 openai.Completion.create 方法来发送一个请求。我们提供了模型名称、提示文本以及生成文本的最大长度(max_tokens)。最终的响应会返回一个包含生成文本的字典对象,你可以从中提取并显示文本内容。

3.2 发出请求与解析响应

使用 OpenAI API 发出请求后,API 会返回一个响应,这个响应通常是 JSON 格式的。了解如何解析这个响应,对于进一步处理生成的文本至关重要。

响应结构

一个典型的 API 响应可能包含以下几个关键部分:

  • id: 响应的唯一标识符。
  • object: 表示响应类型,例如 "text_completion"。
  • created: 响应生成的时间戳。
  • model: 使用的模型名称。
  • choices: 生成的文本选择列表,通常我们只会使用第一个选择。
  • usage: 显示生成该响应所使用的代币数量。

示例响应

{
  "id": "cmpl-5uXf8u9GZFmVgtHKg3JpJ7nE5X",
  "object": "text_completion",
  "created": 1690446648,
  "model": "gpt-4",
  "choices": [
    {
      "text": "\n\n机器学习是人工智能的一个分支,致力于开发可以从数据中学习的算法。",
      "index": 0,
      "logprobs": null,
      "finish_reason": "length"
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 35,
    "total_tokens": 50
  }
}

在这个响应中,最重要的部分是 choices,它包含了模型生成的文本。你可以通过 choices[0]['text'] 来获取这个文本并进行进一步处理。

3.3 提示工程:制作有效提示

提示工程是使用 GPT 模型生成高质量响应的关键技术。有效的提示不仅能够引导模型生成理想的结果,还能提高模型的响应效率。

提示的设计可以分为以下几种策略:

明确指令:清晰简洁的提示可以有效减少模型生成错误信息的可能性。例如,与其简单地问“谁是世界上最好的足球运动员?”,不如直接说明背景:“在 2022 年的世界杯上,谁表现最为突出?”

分步提示:对于复杂任务,可以将提示分解为多个步骤。例如,如果你想生成一篇关于机器学习的简短文章,你可以先要求模型提供一个概述,然后分别生成每个章节的内容。

使用上下文:在对话生成中,提供上下文信息可以帮助模型生成更连贯的响应。例如,通过添加一条系统消息“你是一名体育记者”,可以让模型更好地理解接下来的问题。

控制输出格式:在某些情况下,你可能需要模型生成特定格式的输出。例如,你可以要求模型以 JSON 格式返回信息,或者以列表形式展示数据。

示例代码

response = openai.Completion.create(
    model="gpt-4",
    prompt="请用三点总结人工智能的未来发展趋势:",
    max_tokens=50,
    temperature=0.5
)

print(response['choices'][0]['text'].strip())

在这个例子中,我们通过设置 temperature 参数控制模型输出的随机性,同时通过 max_tokens 限制输出长度,确保响应集中在我们需要的内容上。

4. 实战示例:创建定制化 AI 代理

4.1 从简单到复杂的 AI 代理

创建一个 AI 代理的过程可以从一个简单的聊天机器人开始,然后逐步扩展其功能。以下是一个使用 OpenAI API 构建简单 AI 代理的示例:

第一步:初始化代理

首先,我们定义一个函数来初始化代理并设置基本的对话上下文。

import openai

openai.api_key = 'your-api-key'

def initialize_agent():
    return [{"role": "system", "content": "你是一位友好的 AI 助手,随时准备帮助用户。"}]

conversation_history = initialize_agent()

第二步:发送用户消息并获取响应

我们定义一个函数,用于发送用户消息并将其添加到对话历史中。

def send_message(conversation_history, user_message):
    conversation_history.append({"role": "user", "content": user_message})
    
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=conversation_history
    )
    
    assistant_message = response['choices'][0]['message']['content']
    conversation_history.append({"role": "assistant", "content": assistant_message})
    
    return assistant_message

user_input = "告诉我今天的新闻热点是什么?"
response = send_message(conversation_history, user_input)
print(response)

第三步:扩展代理功能

随着代理的基础功能建立起来,你可以添加更多的功能,例如将代理与外部 API 集成,实现动态数据检索。下面是一个示例,展示如何将代理与天气 API 集成。

import requests

def get_weather(location):
    api_key = "your-weather-api-key"
    url = f"http://api.weatherapi.com/v1/current.json?key={api_key}&q={location}&aqi=no"
    response = requests.get(url)
    weather_data = response.json()
    return f"{location} 的天气是 {weather_data['current']['condition']['text']},温度为 {weather_data['current']['temp_c']}°C。"

def send_message_with_weather(conversation_history, user_message):
    if "天气" in user_message:
        location = user_message.split("天气")[1].strip()
        weather_info = get_weather(location)
        assistant_message = f"以下是你请求的天气信息:\n{weather_info}"
        conversation_history.append({"role": "assistant", "content": assistant_message})
    else:
        assistant_message = send_message(conversation_history, user_message)
    
    return assistant_message

user_input = "告诉我北京的天气"
response = send_message_with_weather(conversation_history, user_input)
print(response)

在这个示例中,我们通过识别用户输入中的关键词“天气”,调用外部 API 获取实时数据并将其整合到代理的响应中。

4.2 使用工具和高级功能

OpenAI API 提供了一些高级工具,可以进一步增强 AI 代理的功能。例如,代码解释器和文件检索工具。

使用代码解释器

代码解释器允许代理直接运行 Python 代码并返回结果。这对于自动化任务和数据分析非常有用。

import openai

def run_code(code):
    response = openai.Completion.create(
        model="gpt-4",
        prompt=f"执行以下 Python 代码:\n```python\n{code}\n```",
        max_tokens=150,
        temperature=0
    )
    return response['choices'][0]['text'].strip()

code_to_run = """
import math
result = math.sqrt(25)
result
"""
output = run_code(code_to_run)
print(f"代码执行结果: {output}")

使用文件检索

文件检索工具允许代理在给定的文档中搜索信息。这在处理大量数据或长文档时非常有用。

def upload_and_search_file(file_path, query):
    file = openai.File.create(
        file=open(file_path),
        purpose='search'
    )
    response = openai.Completion.create(
        model="gpt-4",
        prompt=f"在上传的文件中找到与 '{query}' 相关的信息。",
        file_ids=[file['id']],
        max_tokens=150
    )
    return response['choices'][0]['text'].strip()

file_path = "path_to_your_file.pdf"
query = "人工智能的发展历程"
result = upload_and_search_file(file_path, query)
print(result)

结论

通过本文的介绍,我们从基础到进阶,详细探讨了如何使用 OpenAI API 构建和定制基于 GPT 模型的应用。从理解 GPT 模型的核心概念,到实际操作中的安装、验证、提示工程,再到创建功能齐全的 AI 代理,本文为你提供了全面的指导。

随着技术的发展,GPT 模型的应用场景也在不断扩展。未来,AI 的能力将更加广泛,应用也会更加深入。作为开发者,可以利用这些工具创造出更强大、更个性化的应用,满足各种需求。作为设计师,我们要了解底层逻辑,并掌握一定的代码基础,才能更好的配合技术侧推进项目建设。

无论你是设计师,还是开发者,掌握和学习 OpenAI API 并将其应用到实际项目中,都是我认为现阶段的玩法必备。希望本文能为你提供启发,激发你在 AI 开发领域的更多创意。继续探索、不断创新,你将发现人工智能的无限可能!