AIGC: 4 IT从业者如何构建自己的AI知识体系

file

图片是我使用dall.e模型生成的图片,

提示词: 程序员系统学习OpenAI开发者平台系统学习。

我按照SCQA模型,来开始今天的内容。

S 场景

今天是2024年3月23日,我在深圳,从事IT行业,每个人从事的行业各不相同,

但是都在被AI冲击,或多或少的改变工作方式。

C 卡点

很多IT从业人员,一定使用过ChatGPT,或者国内外推出的各种AI工具。

比如替代搜索引擎进行知识问答;

在工作领域利用AI工具生成文本,图片,视频等;

但是从开发者的视角,如果没有系统的学习AI知识。则无法很好的跟业务结合研发带AI色彩的产品,助力业务增长。

Q 问题

如何系统的建立AI知识体系?

A 回答

首先,AI的起源地是OpenAI,所以原汁原味的一手资料和资讯都在OpenAI .

然后,按照OpenAI的开发者平台的文档来学习,实践,思考,就可以系统的掌握和建立自己的AI知识体系。

最后,熟悉实践思考之后的AI知识体系建立之后,就可以在产品角度结合业务场景进行连接和落地,带来业务的新的增长。

下面是OpenAI开发者平台的首页导航。手工整理。

file


发起CompletionAPI请求

OpenAI API 开发者快速入门

开始使用OpenAI API

OpenAI API为开发者提供了一个简单的接口,可以在他们的应用程序中创建一个由OpenAI最先进的模型驱动的智能层。

Chat Completions端点为ChatGPT提供支持,并提供了一种简单的方式,可以将文本作为输入,并使用像GPT-4这样的模型来生成输出。

这个快速入门旨在帮助你设置本地开发环境并发送你的首个API请求。如果你是一位经验丰富的开发者或者想要立即开始使用OpenAI API,

API参考文档和GPT指南是一个很好的起点。在这个快速入门过程中,你将学习到:

  • 如何设置你的开发环境
  • 如何安装最新的SDK

  • OpenAI API的一些基本概念

  • 如何发送你的首个API请求

如果你在开始时遇到任何挑战或有疑问,请加入我们的开发者论坛。

账户设置

首先,创建一个OpenAI账户或登录。接下来,导航到API密钥页面并“创建新的密钥”,可以选择性地为密钥命名。确保将密钥保存在安全的地方,不要与他人分享。

快速入门语言选择

选择你想要开始使用OpenAI API的工具或编程语言。

Python是一种流行的编程语言,因其易用性而常用于数据应用、Web开发以及许多其他编程任务。

OpenAI提供了一个定制的Python库,使得在Python中使用OpenAI API变得简单高效。

第一步:设置Python环境

  1. 安装Python

要使用OpenAI的Python库,您需要确保您的计算机上已经安装了Python。有些计算机预装了Python,

而有些则需要您自己设置。要检查您的计算机是否已安装Python,您可以打开终端或命令行:

  • MacOS:打开终端:您可以在应用程序文件夹中找到它,或者使用Spotlight(Command + Space)搜索它。
  • Windows:打开命令提示符:您可以通过在开始菜单中搜索"cmd"来找到它。

接下来,输入python然后按回车/确认键。如果您进入了Python解释器,那么您的计算机上已经安装了Python,

您可以进行下一步。如果您收到一个错误消息,比如“Error: command python not found”,则可能需要安装Python并使其在您的终端/命令行中可用。

要下载Python,请访问[官方Python网站]并下载最新版本。要使用OpenAI的Python库,

您需要至少安装Python 3.7.1或更新版本。如果您是第一次安装Python,可以按照官方的Python[安装指南]进行操作。

  1. 设置虚拟环境(可选)

    创建虚拟环境

在安装Python之后,创建一个虚拟Python环境是一个良好的实践,用于安装OpenAI Python库。虚拟环境为您的Python包提供了一个干净的工作空间,

避免了与其他项目安装的库发生冲突。如果您不想设置虚拟环境,可以直接跳到第三步。

使用内置venv模块创建虚拟环境

Python提供了一个内置的venv模块,它提供了创建虚拟环境所需的基本功能。运行下面的命令将在您当前在终端/命令行中选择的文件夹内创建一个名为"openai-env"的虚拟环境:

python -m venv openai-env

激活虚拟环境

创建虚拟环境后,您需要激活它。在Windows上,运行:

openai-env\Scripts\activate

在Unix或MacOS上,运行:

source openai-env/bin/activate

激活虚拟环境后,您应该会发现终端/命令行界面略有变化,现在在光标输入部分的左侧应该显示"openai-env"。有关使用虚拟环境的更多详细信息,请参阅[官方Python文档]。

  1. 安装OpenAI Python库

一旦您安装了Python 3.7.1或更新版本,并且(可选地)设置好了虚拟环境,就可以安装OpenAI Python库了。在终端/命令行中,运行以下命令:

pip install --upgrade openai

安装完成后,运行pip list将显示您在当前环境中安装的Python库,这应该会确认OpenAI Python库已成功安装。

第二步:设置您的API密钥

  1. 为所有项目设置API密钥(推荐)

将您的API密钥设置为所有项目都可访问的主要优势在于,Python库将自动检测到它并使用它,而无需编写任何代码。

MacOS 系统设置

  1. 打开终端:您可以在应用程序文件夹中找到它,或者使用Spotlight(Command + Space)搜索它。
  1. 编辑 Bash 配置文件:使用命令 nano ~/.bash_profilenano ~/.zshrc(对于较新的 MacOS 版本)在文本编辑器中打开配置文件。
  1. 添加环境变量:在编辑器中,添加以下行,将your-api-key-here替换为您实际的API密钥:
export OPENAI_API_KEY='your-api-key-here'
  1. 保存并退出:按 Ctrl+O 保存更改,然后按 Ctrl+X 关闭编辑器。
  1. 加载配置文件:使用命令 source ~/.bash_profilesource ~/.zshrc 加载更新后的配置文件。
  1. 验证设置:在终端中输入 echo $OPENAI_API_KEY 来验证设置。它应该显示您的API密钥。

Windows 系统设置

  1. 打开命令提示符:您可以通过在开始菜单中搜索 "cmd" 来找到它。
  1. 在当前会话中设置环境变量:要在当前会话中设置环境变量,请使用以下命令,将 your-api-key-here 替换为您实际的API密钥:
setx OPENAI_API_KEY "your-api-key-here"

此命令将为当前会话设置 OPENAI_API_KEY 环境变量。

  1. 永久设置:要使设置永久生效,请按照以下步骤通过系统属性添加变量:
  • 右键点击“这台电脑”或“My Computer”,选择“属性”。
  • 点击“高级系统设置”。
  • 点击“环境变量”按钮。
  • 在“系统变量”部分,点击“新建...”,输入 OPENAI_API_KEY 作为变量名,输入您的API密钥作为变量值。
  1. 验证设置:要验证设置,重新打开命令提示符并输入以下命令。它应该显示您的API密钥:
    echo %OPENAI_API_KEY%
  1. 为单个项目设置API密钥

如果您只想让单个项目访问您的API密钥,您可以创建一个本地的 .env 文件,其中包含API密钥,并在接下来的步骤中显式地使用该API密钥与Python代码一起工作。

首先,转到您想要在其中创建 .env 文件的项目文件夹。

为了让您的 .env 文件被版本控制忽略,在项目目录的根目录创建一个 .gitignore 文件。在其中添加一行 .env

这将确保您的API密钥或其他秘密不会意外地通过版本控制共享。

一旦您使用终端或集成开发环境(IDE)创建了 .gitignore.env 文件,复制您的秘密API密钥,

并将其设置为您的 .env 文件中的 OPENAI_API_KEY。如果您还没有创建一个秘密密钥,您可以在API密钥页面上创建。

.env 文件应该如下所示:



# 在下面添加您的API密钥后,确保不要与任何人分享!API密钥应保持私密。


OPENAI_API_KEY=abc123

您可以通过运行以下代码导入API密钥:

from openai import OpenAI

client = OpenAI()
# 默认情况下,会使用 os.environ.get("OPENAI_API_KEY") 来获取密钥
# 如果您将密钥保存在不同的环境变量名下,您可以这样做:
# client = OpenAI(
#   api_key=os.environ.get("CUSTOM_ENV_NAME"),
# )

第三步:发送您的第一个API请求

  1. 发起API请求

在Python中,您可以使用以下代码示例来发送您的第一个API请求:

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

我的实验结果:

E:\src\py\aitest\ai>python testReq.py
ChatCompletionMessage(content='In the realm of code, a loop unfurled,\nRecursion rises, a concept of the world.\nA function calls itself, a dance in repeats,\nIn a rhythm divine, it flows and meets.\n\nLike a fractal unfolding, a pattern so clear,\nEach iteration whispers, "I am here."\nBreaking problems into smaller parts,\nIn a recursive embrace, it imparts.\n\nWith elegance and grace, it blooms and grows,\nSolving puzzles, conquering woes.\nA loop within a loop, a dreamlike trance,\nIn the essence of recursion, we find romance.\n\nSo let us wield this magic with care,\nNavigating complexities, beyond compare.\nFor in the heart of recursion\'s art,\nWe find the beauty of code\'s own heart.', role='assistant', function_call=None, tool_calls=None)

Chat Completions示例仅展示了我们模型的一个强项:创造力。

以格式良好的诗歌形式解释递归(编程主题)是即使是最优秀的开发者和诗人也会觉得有挑战的任务。

在这种情况下,gpt-3.5-turbo模型可以轻松做到这一点。

下一步

现在您已经发送了第一个OpenAI API请求,是时候探索更多可能性了:

  • 想要更详细地了解我们的模型和API,请查看我们的[GPT指南]。
  • 访问[OpenAI Cookbook],了解深入的API用例示例以及常见任务的代码片段。
  • 想知道OpenAI的模型能做什么?查看我们的[示例提示库]。
  • 想要不写代码就尝试API?在[Playground]中开始实验。
  • 开始构建时,请记住遵守我们的[使用政策]。

原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/490219.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis启动后无法被外部主机连接

目录 一、场景二、连接异常三、排查四、原因五、解决 一、场景 1、CentOS安装redis后,外部主机无法连接到redis 二、连接异常 1、RedisDesktopManager无法连接 2、使用telnet命令测试6379端口是否能正常访问 三、排查 1、redis服务是否启动 四、原因 从以下信息…

前端学习之JavaScript基础语法三种引入方式、三种输出方式、输入框、确认框、循环加强、arguments

目录 三种引入方式 三种输出方式 运行结果 变量 确认框、输入框 运行结果 循环加强 arguments 三种引入方式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><!-- 三…

MySQL索引优化二

分页查询优化 很多时候我们的业务系统实现分页功能可能会用如下sql实现 select * from employees limit 10000,10;表示从表employees中取出从10001行开始的10条记录.看似只查询了10条记录,实际这条sql是先读取10010条记录,然后抛弃前10000条记录,然后读到后面10条想要的数据,…

蓝鹏智能测量仪应用于这些方面!助力发展新质生产力!

新质生产力是未来几年着重发展的方向&#xff0c;关于如何实现产业化升级&#xff0c;各厂家会在自身的基础上进行产业化调整升级&#xff0c;利用新工具、新手段&#xff0c;大幅缩短研发设计周期&#xff0c;从而让产品迭代速度不断加快&#xff1b;提升产品品质&#xff0c;…

防静电检测设备如何完善PCBA车间的防静电管控?

在PCBA&#xff08;Printed Circuit Board Assembly&#xff09;车间中&#xff0c;静电是一个极其重要的问题&#xff0c;因为静电可能对电子元器件和PCB板造成损坏&#xff0c;进而影响整个生产流程和产品质量。为了有效防止静电问题&#xff0c;企业通常会引入防静电检测设备…

UE5学习日记——蓝图节点前缀关键字整理

一、起因 节点如海&#xff0c;中英文翻译的时候还是有差别的&#xff0c;比如&#xff1a; 同一个中文&#xff0c;可能在英文里完全不同&#xff0c;连出现位置可能都不一样 附加 Attach Actor To Component&#xff08;将Actor附加到组件&#xff09;Append Array&#xf…

CTF题型 nodejs(1) 命令执行绕过典型例题

CTF题型 nodejs(1) 命令执行绕过 文章目录 CTF题型 nodejs(1) 命令执行绕过一.nodejs中的命令执行二.nodejs中的命令绕过1.编码绕过2.拼接绕过3.模板字符串4.Obejct.keys5.反射6.过滤中括号的情况典型例题1.[GFCTF 2021]ez_calc2.[西湖论剑 2022]Node Magical Login 一.nodejs中…

SpringBoot可以同时处理多少请求

SpringBoot默认的内嵌容器是Tomcat&#xff0c;即看Tomcat可以处理多少请求 默认配置 server:tomcat:threads:min-spare: 10 # 最小工作线程数max: 200 # 最大线程数max-connections: 8192 # 接受和处理的最大连接数&#xff0c;超过8192的请求就会被放入到等待队列中ac…

【原创教程】关于东方马达的控制方法(上)

1 实现的功能 能够精准定位,快速移动到指定位置 2 硬件配置 东方马达组件一套包含:AZD-CD驱动器,AZM66MC马达电机。 如下图所示: 2.1 东方马达I/O端子分配 2.2 电路图 2.3 硬件接线

代码随想录算法训练营第二十一天|530. 二叉搜索树的最小绝对差

530. 二叉搜索树的最小绝对差 已解答 简单 相关标签 相关企业 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 示例 1&#xff1a; 输入&#xff1a;root [4,2,6,1,3] 输出…

rfc793-page36

rfc793原文 If the connection is in any non-synchronized state (LISTEN,SYN-SENT, SYN-RECEIVED), and the incoming segment acknowledgessomething not yet sent (the segment carries an unacceptable ACK), orif an incoming segment has a security level or compart…

Redis数据类型bitMap以及解决的相关实际需求

在Redis数据库中&#xff0c;Bitmap&#xff08;位图&#xff09;是一种特殊的数据结构&#xff0c;它不是一个独立的数据类型&#xff0c;而是基于String类型实现的。Bitmap主要用于存储大量二进制位&#xff08;0或1&#xff09;的数据&#xff0c;这些位可以代表不同的状态或…

CMU-TARE 探索算法官方社区问答汇总

参考引用 TARE机器人自主导航系统社区-CSDN社区云TARE平台资源链接汇总CMU团队开源算法点云地面分割 terrainAnalysis 代码解析Local Planner 代码详解以及如何适用于现实移动机器人论文翻译&#xff1a;Autonomous Exploration Development Environment and the Planning Algo…

3.学习前后端关联

目录 1.接口类型 2.错误状态码 3.如何定义路由 4.那如何要求前端传入一个JSON数据呢&#xff1f; 4.解决前后端口不同源,跨域问题 1.使用CrossOrigin 2.直接复制代码使用 5.用户登录校验 1.接口类型 POST(新增数据)、PUT(更新更改数据)、GET(查询)、DELET(删除数据) …

day05 设计计算机硬件

嵌入式学习-04_嵌入式技术之从零搭建计算机 1 添加立即数 现有系统的数据RAM存储方式(操作码+操作数)。 地址指令opcode(操作码)addr(操作数)新代码 /数据000ld_a0b000010b1000b0000100000000100001add0b000100b1010b0001000000000101010sub0b000110b1100b000110000000…

搭建PHP本地开发环境:看这一篇就够了

什么是PHP本地开发环境 PHP本地开发环境是指在个人计算机上模拟的服务器环境&#xff0c;这使得开发者能够在没有网络连接的情况下也能开发、测试和调试PHP应用程序。就像在你的电脑里装个小“服务器”&#xff0c;即使没网也能搞定PHP程序的开发和修修补补。这就是PHP本地开发…

【微服务】接口幂等性常用解决方案

一、前言 在微服务开发中&#xff0c;接口幂等性问题是一个常见却容易被忽视的问题&#xff0c;同时对于微服务架构设计来讲&#xff0c;好的幂等性设计方案可以让程序更好的应对一些高并发场景下的数据一致性问题。 二、幂等性介绍 2.1 什么是幂等性 通常我们说的幂等性&…

自定义类型

在之前的博客中我们讲到了C语言有三种自定义类型&#xff1a;结构体&#xff08;结构&#xff09;、枚举和联合&#xff0c;在这篇博客中我们将更加深入地探讨这三种自定义类型。 结构体 1.结构体的声明 struct tag {int a;char ch;int arr[3];double d;float f; }t1,t2;如上…

2022 年甘肃省职业院校技能大赛 高职组 网络系统管理竞赛 网络构建模块试题

2022 年甘肃省职业院校技能大赛 高职组网络系统管理竞赛 网络构建模块试题 目 录 考试说明… 3 任务描述… 3 任务清单… 3 &#xff08;一&#xff09;基础配置… 3 &#xff08;二&#xff09;有线网络配置… 4 &#xff08;三&#xff09;无线网络配置… 6 &#xff08;四&a…

【数据结构】双向奔赴的爱恋 --- 双向链表

关注小庄 顿顿解馋๑ᵒᯅᵒ๑ 引言&#xff1a;上回我们讲解了单链表(单向不循环不带头链表)&#xff0c;我们可以发现他是存在一定缺陷的&#xff0c;比如尾删的时候需要遍历一遍链表&#xff0c;这会大大降低我们的性能&#xff0c;再比如对于链表中的一个结点我们是无法直接…