标签 ChatGPT 下的文章

不太会讲笑话的 ChatGPT

研究人员发现 ChatGPT 对笑话的了解是相当有限的:在一次测试中,输出的 1008 个笑话中有 90% 是相同的 25 个笑话。其中说了 140 次的笑话是:“为什么稻草人会获奖?因为他在自己的领域里表现突出。(双关语:站在田地里)”当被要求解释 25 个最常见的笑话中的每一个时,ChatGPT 大多提供了有效的解释,表明它 “理解” 文字游戏和双关语等风格。有趣的是,ChatGPT 喜欢拿番茄开玩笑。

消息来源:Ars Technica
老王点评:看来人工智能在这么高级的理解上还有所欠缺。不过,即便真的人工智能懂得讲各种笑话之后,距离它“拥有”情感,估计也有很漫长的距离。

英特尔开源 One Mono 编程字体

英特尔公布了 One Mono 字体,这是一种迎合 “开发者需求” 的新字体,采用 “富有表现力” 的等宽字体,以提高清晰度和可读性。它更容易阅读,而且可以免费使用,采用了开源的字体许可证。它不仅可以免费下载和使用,还可以免费编辑,并免费重新发布。

消息来源:GitHub
老王点评:嗯,又一个开源的编程字体,虽然有一些好评,但是似乎这些编程字体都差不多,那为什么大家要不断发布自己的开源字体呢?

自动驾驶的 Waymo 汽车在路上撞死了狗

报告称 Waymo 的一辆汽车在旧金山碾压了一只狗。这起事件是 Waymo 首次报告的死亡事件。从街景链接来看,这条路看起来像一个繁忙的工业区,有许多仓库、卡车送货区和铁丝网围栏。一只小狗跑到 Waymo 自动汽车前面的街道上。Waymo 自动汽车随后与该狗发生了接触,该狗没有生还。撞击发生时,Waymo 自动汽车的 4 级自动驾驶系统处于自主模式,并且有一名测试司机在场(在司机座位上)。Waymo 发表声明称,“系统正确识别了从停放的车辆后面跑出来的狗,但未能避免接触。”

消息来源:Ars Technica
老王点评:虽然这看起来是不可避免的,但是我一直觉得法律责任和保险责任是自动驾驶真正成熟的前提,甚至不是技术。

以下是如何使用 OpenAI ChatGPT AI 创建聊天助手的 Python 程序的方法。

易于使用的 AI “ChatGPT” 已经以 API 提供。ChatGPT 的创造者 OpenAI 宣布,模型('gpt-3.5-turbo')现在适用于自定义产品和解决方案。而且成本也非常实惠。目前的价格为每 1000 个令牌 0.002 美元。

该模型目前与 Whisper API 一起提供,后者也用于文本到语音解决方案。该 API 目前具备以下功能:

  • 创建自定义的对话代理和机器人
  • 为你编写 Python 代码
  • 起草电子邮件或任何你想要的文档
  • 你可以将自然语言界面集成到你当前的产品/应用/服务或软件中,为你的消费者提供服务
  • 语言翻译服务
  • 成为许多科目的导师
  • 模拟视频游戏角色

正如你所见,机会无限。

如果你计划尝试该 API 并开始使用它,这里有一个简单的指南,为你提供逐步指导。

OpenAI ChatGPT API: 入门指南

先决条件

确保你拥有一个 OpenAI 账户。如果你没有,访问此页面 并创建一个账户。你也可以使用你的谷歌或微软账号。

创建一个账户后,生成一个专属于你的 API 密钥。访问 此页面 并创建一个新的秘密密钥。

创建 OpenAI API 密钥的位置

记录该密钥或在安全的地方保存它。基于安全原因,它将不会从 OpenAI 账户部分再次可见。而且不要与任何人分享此密钥。如果你计划使用企业解决方案,请向你的组织查询 API 密钥。由于该密钥与你的付费 OpenAI 计划相关,因此请谨慎使用。

设置环境

安装 Python 和 pip

本指南使用 Python 编程语言来调用 OpenAI API 密钥。你可以使用 Java 或其他任何语言来调用它。

首先,请确保你在 Linux 或 Windows 中已经安装了 Python。如果没有,请按照以下指南安装 Python。如果你使用现代 Linux 发行版(例如 Ubuntu),Python 应该已经安装好了。

在安装 Python 后,确保 pip 在 Linux 发行版中可用。运行以下命令进行安装。对于 Windows,你应该已经在 Python 安装的一部分中安装了它。

Ubuntu、Debian 和其他基于 Debian 的发行版:

sudo apt install python3-pip

Fedora、RHEL、CentOS 等:

sudo dnf install python3-pip

Arch Linux:

sudo pacman -S python-pip

将 OpenAI API 密钥设置为环境变量

上述步骤中创建的 API 密钥,你可以直接在程序中使用。但这并不是最佳实践。

最佳实践是从文件或你系统的环境变量中调用它。

对于 Windows,请设置一个任何名字的环境变量,例如 API-KEY。并添加密钥值。

对于 Linux,请使用超级用户权限打开 /etc/environment 文件并添加密钥。例如:

API-KEY="<你的密钥>"

对于基于文件的密钥访问,请在你的代码中使用以下语句:

openai.api_key_path = <你的 API 密钥路径>

对于直接在代码中访问(不建议),你可以在你的代码中使用以下语句:

openai.api_key = "你的密钥"

注意:如果验证失败,OpenAI API 将抛出以下错误。你需要验证你的密钥值、路径和其他参数以进行更正:openai.error.AuthenticationError: No API key provided

安装 OpenAI API

最后一步是安装 OpenAI 的 Python 库。打开终端或命令窗口,使用以下命令安装 OpenAI API。

pip install openai

在此阶段,你已经准备好撰写你的第一个程序了!

编写助手程序(逐步)

OpenAI API 提供了各种接口模式。例如“聊天补完”、“代码补完”、“图像生成”等。在本指南中,我将使用 API 的“聊天补完”功能。使用此功能,我们可以创建一个简单的对话聊天机器人。

首先,你需要导入 OpenAI 库。你可以使用以下语句在你的 Python 程序中完成:

import openai

在这个语句之后,你应该确保启用你的 API 密钥。你可以使用上面解释的任何方法来完成。

openai.api_key="your key here"
openai.api_key="your environment variable"
openai.api_key_path = <your path to API key>

OpenAI 聊天 API 的基本功能如下所示。openai.ChatCompletion.create 函数以 JSON 格式接受多个参数。这些参数的形式是 “角色”(role) 和 “内容”(content):

openai.ChatCompletion.create(   
  model = "gpt-3.5-turbo",   
  messages = [         
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Who won the world series in 2020?"},
    {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
    {"role": "user", "content": "Where was it played?"}     
  ]
)

说明:

role: 有效的值为 systemuserassistant

  • system: 指示 API 如何行动。基本上,它是 OpenAI 的主提示。
  • user: 你要问的问题。这是单个或多个会话中的用户输入。它可以是多行文本。
  • assistant: 当你编写对话时,你需要使用此角色来添加响应。这样,API 就会记住讨论的内容。

注意:在一个单一的消息中,你可以发送多个角色。如上述代码片段所示的行为、你的问题和历史记录。

让我们定义一个数组来保存 OpenAI 的完整消息。然后向用户展示提示并接受 system 指令。

messages = []
system_message = input("What type of chatbot you want me to be?")
messages.append({"role":"system","content":system_message})

一旦设置好了,再次提示用户进行关于对话的进一步提问。你可以使用 Python 的 input 函数(或任何其他文件输入方法),并为角色 user 设置 content

print("Alright! I am ready to be your friendly chatbot" + "\n" + "You can now type your messages.")
message = input("")
messages.append({"role":"user","content": message})

现在,你已经准备好了具有基本 JSON 输入的数组,用于调用“聊天补完”服务的 create 函数。

response=openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=messages)

现在,你可以对其进行适当的格式化,要么打印响应,要么解析响应。响应是以 JSON 格式提供的。输出响应提供了 choices 数组。响应在 message JSON 对象下提供,其中包括 content 值。

对于此示例,我们可以读取 choices 数组中的第一个对象并读取其 content

reply = response["choices"][0]["message"]["content"]
print(reply)

最后,它将为你提供来自 API 的输出。

运行代码

你可以从你的 喜好的 Python IDE 或直接从命令行运行代码。

python OpenAIDemo2.py

未格式化的 JSON 输出

以下是使用未格式化的 JSON 输出运行上述程序供你参考。正如你所看到的,响应在 choices 数组下具有 content

[debugpoint@fedora python]$ python OpenAIDemo2.py
What type of chatbot you want me to be?a friendly friend
Alright! I am ready to be your friendly chatbot
You can now type your messages.
what do you think about kindness?
{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "As an AI language model, I don't have personal opinions, but I can tell you that kindness is a very positive and essential trait to have. Kindness is about being considerate and compassionate towards others, which creates positive emotions and reduces negativity. People who are kind towards others are more likely to inspire kindness and compassion in return. It is an important quality that helps to build positive relationships, promote cooperation, and create a more peaceful world.",
        "role": "assistant"
      }
    }
  ],
  "created": <removed>,
  "id": "chatcmpl-<removed>",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 91,
    "prompt_tokens": 22,
    "total_tokens": 113
  }
}

格式化的输出

这是一个适当的对话式输出。

[debugpoint@fedora python]$ python OpenAIDemo2.py
What type of chatbot you want me to be?a friendly friend
Alright! I am ready to be your friendly chatbot
You can now type your messages.
what do you think about artificial general intelligence?
As an AI language model, I am programmed to be neutral and not have personal opinions. However, artificial general intelligence (AGI) is a fascinating field of study. AGI refers to the development of machines and algorithms that can perform any intellectual task that a human being can. The potential benefits and risks of AGI are still widely debated, with some experts worried about the implications of machines reaching human-like intelligence. However, many believe that AGI has the potential to revolutionize fields such as healthcare, education, and transportation. The key is to ensure that AGI is developed in a responsible and ethical manner.

完整代码

这是上面演示中使用的完整代码。

import openai

openai.api_key = "<your key>"
messages = []
system_message = input("What type of chatbot you want me to be?")
messages.append({"role":"system","content":system_message})

print("Alright! I am ready to be your friendly chatbot" + "\n" + "You can now type your messages.")
message = input("")
messages.append({"role":"user","content": message})

response = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=messages
)

reply = response["choices"][0]["message"]["content"]
print(reply)

总结

希望这篇简单的指南能让你开始尝试 OpenAI CharGPT API。你可以将上述步骤扩展到更复杂的会话式聊天机器人。此外,你还可以使用 OpenAI 的其他产品。

请不要错过我后续的教程,我将会实验和分享给大家。最后,请不要忘记关注我们,以便及时获取我们的文章。

如果上述步骤对你有帮助,请在评论框中告诉我。

干杯!

参考资料

(题图:MJ/b206dd48-f698-4800-bccc-19ea11a17ea6)


via: https://www.debugpoint.com/openai-chatgpt-api-python

作者:Arindam 选题:lkxed 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Rust 项目再次陷入领导力危机

继两年前 Rust 审核团队宣布立即辞职后,Rust 项目的管理就一直处于跛脚运行之中。最近,Rust 项目又卷入了 RustConf 主题演讲争议。RustConf 2023 主动邀请了 JeanHeyd Meneide 发表主题演讲,他是 C 语言官方标准的两位编辑之一,管理着许多重要的大型开源项目。但在他花费了大量时间准备了演讲《编译时编程(可能)的未来》后,Rustconf 以其演讲“不被 Rust 项目认可”,担心该演讲被认为是官方方向的理由,而通知他将主题演讲降为普通演讲。但实际原因被推测为他曾经分享过一些认为 Rust 应该反思的内容,Rust 管理层内有人反感他。他认为这是一次侮辱,随即 宣布 拒绝出席 RustConf。此事还导致推荐他发表演讲的 Rust 核心成员愤而辞职。在此事冲上热搜后,Rust 项目发表 声明 对此事公开道歉,称它的决策和沟通流程出现了问题,开始启动两年来迟迟未决的新的治理委员会。

消息来源:The PHD
老王点评:一个成功的开源项目,需要广泛的社区决策,也需要一个定海神针般的领袖人物,Linux 如此、Python 如此。而 Rust 社区却没有一个灵魂人物,我们只能看到各种内部斗争和自行其是,这样的风格,即便成立治理委员会,我认为也很难说有未来。

英伟达成为第一家万亿芯片公司

英伟达周二成为第一家市值突破 1 万亿美元的芯片公司。此前进入万亿美元俱乐部的公司包括苹果、微软、Alphabet/谷歌、亚马逊和 Meta。AI 的繁荣催动了英伟达的股价上周一度飙升 24%,接近万亿美元,本周二开盘短时突破这一数字。

消息来源:The Verge
老王点评:热点常有,而芯片永存。无论是区块链、游戏还是 AI,这都让芯片公司赚得盆满钵满。

ChatGPT 为律师编写的法庭文件杜撰了六个不存在的案例

尽管我们知道人工智能会煞有介事的杜撰一些“事实”,但是一位律师在使用 ChatGPT 帮助编写法庭文件时,AI 居然杜撰了六个不存在的案例,并且还信誓旦旦地给出了法律来源,保证了其可靠性。律师表示,没有确认 ChatGPT 提供的来源是他的错。法官称这是“前所未有的”,并考虑对该律师进行惩罚。

消息来源:Ars Technica
老王点评:在 AI 出错时,你对它提出的批评它往往会听从。但如果你指出它的“事实性”错误时,它往往是嘴硬的,所以你还是得依靠“古典的”搜索引擎来确认事实。

Asahi Linux 开发者说,唯一的道路是 Wayland

Asahi Linux 是将 Linux 移植到苹果芯片 Mac 电脑的项目,它的一位的主要开发者 Hector Martin 说,“Wayland 是苹果芯片 Mac 电脑上图形桌面的未来”。X.org 应用程序将在基于 Wayland 的桌面下运行,但开发者希望人们只在 Asahi Linux 和相关发行版上使用基于 Wayland 的桌面环境。一方面是开发者们 “没有精力来花时间在” X.org 上,另外一方面是 X.org 不能很好地支持苹果的视网膜显示器,尤其是使用分数缩放功能。唯一的问题是,很多 Linux 桌面环境还不支持 Wayland……而且有些可能永远不会支持。

消息来源:The Register
老王点评:虽然向 X11 告别意味着和很多老旧的桌面环境告别,但毕竟,X11 已经是旧时代的遗产了,几乎没有什么开发活动存在,是时候放下了。

教授滥用 ChatGPT 检查学生作业,致使一半人被暂缓毕业

德州农工大学商业学院的一位农业学教授无能地使用 ChatGPT 评估学生们的期末作业后,得出他们的作业是由 AI 生成的结论,导致一半的学生的毕业证被暂时剥夺了。该教授告诉学生他将 “使用 Chat GTP(教授笔误)来检查期末的三篇论文是否是有软件生成的”,结果 ChatGPT 声称每一篇都是它写的。问题是,ChatGPT 并不能检测出由人工智能生成的材料,甚至是由它自己产生的材料它也不能识别,而且它有时会发出破坏性的错误信息。还有一些其它的检查文本是否由 AI 生成的工具,但都拥有很高的错误率。有趣的是,有学生将该教授的论文摘要提交给 ChatGPT,也被该 AI 认为是“该文本包含几个与人工智能生成的内容一致的特征。”

消息来源:Rolling Stone
老王点评:这件事的荒唐在于,一方面教授反对使用 AI 来完成学业,另外一方面又强烈地信任 AI 的判断。以我看来,新的 AI 浪潮来得太快,以至于各界都没有做好准备的时间。或许以后的考试,就会变成如何利用 AI 工具来完成研究和工作,就像计算器普及后,无需人工手算了,很多学习、考试和工作都可以使用。

谷歌新的删除 “不活跃账户” 政策不会删除多年的 YouTube 视频

谷歌周二宣布,两年未使用的账户将被删除。其理由是这些不活跃用户很少会启用多因子认证等机制保护账户安全,从而会被利用来进行恶意用途。但人们开始担心这对 YouTube 内容的影响,可能有数以百万计的视频来自已经死亡和不活跃的 YouTube 创作者,谷歌的新数据政策是否意味着删除近 20 年的在线历史?谷歌对此回应称,“不会有烧毁数字亚历山大城的情况,……没有计划删除有 YouTube 视频的账户”,但这与之前其它说法相悖。

消息来源:Ars Technica
老王点评:显然,谷歌不可能删除这些视频,因为这些视频的每一次播放都给谷歌带来了收入。而且,谷歌显然也并不是因为不活跃账户太多而无法承受成本压力,虽然像 Gmail 这些显然是个无底洞。我认为,这次的谷歌政策就是一次不成熟的任性决策,因为如果处于安全考虑,临时性禁用长期不活跃账户显然是更好的做法。

比利时合法化白帽黑客行为

比利时的新吹哨人法于年初生效,该法律合法化了白帽黑客(道德黑客)行为。只要满足一定条件,他们未经同意入侵的行为可以免于刑罚。在这之前,除非被攻击/调查的对象同意,任何形式的黑客行为都面临刑法惩罚。不管对付是否同意,现在自然人或法人可以调查位于比利时的组织的安全漏洞,但需要满足如下条件:不能造成伤害或有获利企图,不能在发现漏洞之后敲诈对方,除非是某些形式的漏洞悬赏计划;必须尽快向比利时网络安全中心(CCB)以及被调查的对象报告漏洞;黑客行动不能超出必要的范围;除非获得 CCB 同意,黑客不能过早披露发现的漏洞。

消息来源:Solidot
老王点评:想必比利时以后会有全球最安全的网络。

TCP/IP 创造者谈其设计中犯下的三大错误

TCP/IP 的共同创造者 Vint Cerf 获得了 IEEE 2023 年度的荣誉勋章。他接受采访时谈到了在 TCP/IP 设计中犯下的三大错误。第一个错误是认为 32 位对于互联网地址而言足够了,在 1973 年,128 位地址可能还无法想象;第二个是没有认真考虑安全性,如引入加密,RSA 算法刚刚实现时,该协议的设计已经冻结;最后一个是没有想到 Web 的出现,以及随之带来的海量内容,他完全没有预料到以后会需要搜索引擎来找到这些内容。

消息来源:IEEE
老王点评:虽然有历史局限性,但是 TCP/IP 真正给互联网奠定了最重要的基石之一,甚至没有之一。

ChatGPT 的流量增长放缓

发布于去年 11 月的 ChatGPT 在去年 12 月吸引了约 2.66 亿次访问,与雅虎新闻相近,之后在 1 月份流量增长 131.6%,2 月份增长 62.5%,3 月份增长 55.8%,到了 4 月份增长 12.6% 至 17.6 亿次,其指数级增长势头开始消退。它的流量超过了必应、纽约时报和 CNN,但仍然只有谷歌搜索引擎的 2%。有趣的是,以新必应爆拉一波流量的必应搜索引擎的流量开始下降,其全球的访问量下降 9.7% 至 13 亿次。

消息来源:Similar Web
老王点评:随着利用 GPT 的 API 的各个网站的出现,ChatGPT 的访问量下降在情理之中,但这并不能代表 OpenAI 的访问量增长放缓,也不能代表 AI 热情降低。

忘了 ChatGPT 吧,我们一起来看看 HuggingChat,一个开源的项目。

huggingchat

新 AI 聊天机器人的浪潮看起来短时间内势不可挡;而新的一个竞争者已经加入与 ChatGPT 抗衡的比赛中。

这个竞争者最近刚发布,它就是“HuggingChat”。 这个聊天机器人的主要重点是提供一个比 ChatGPT 更透明包容负责的替代方案。

不要误会我的意思,HuggingChat 并不是 ChatGPT 的第一个开源替代品。 我们之前也介绍了挑战 ChatGPT 江湖地位的开源项目。

? 然而,HugginChat 似乎是第一个可以访问的类似于 ChatGPT 的平台

因此,你在使用的不只是一个演示版,你正在用的版本已经拥有它本应具有的外观设计和性能表现 —— 只有后端会在你测试或者使用这个应用时得到升级。

让我们一起来看看 HuggingChat 是什么。

它是什么:

基本上呢,在当前状态下,HuggingChat 充当了用户界面的角色,促进用户与 Open Assistant 支持的后端 的交互,从而实现聊天机器人功能。

? Open Assistant 是一个旨在为大众提供可行的基于聊天的大语言模型(LLM)的项目。

huggingchat 界面截图

HuggingChat 由 Open Assistant 最新的 基于 LLaMA 的模型 提供支持,据说这是目前市场上最好的开源聊天模型之一。

但是在 HuggingChat 中使用该模型有一个问题。

你看,LLaMA 模型Meta AI 的作品,他们限制了对其模型的任何商业使用。

因此,LLaMA 模型仅为暂时使用,开发人员打算在未来增加对更多模型的支持,为不同的使用场景甚至企业使用案例铺平道路。

除此之外,这个聊天机器人正在一个被 Hugging Face(HuggingChat 的创建者)的人们称为“Space”的地方运行。其推理后端还在其推理 API 基础设施上运行 text-generation-inference

他们还开放了 HuggingChat 的用户界面代码。你可以在此处 查看

它能行吗?

额,部分能行吧。

由于它处于 非常早期的开发阶段(版本 0),因此缺少一些关键功能,例如在浏览器重启或切换浏览器时保存对话。

然后就是熟悉的“流量太大,请稍后再试”错误,会在运行聊天命令时弹出。

当我可以运行命令时,我向 HuggingChat 询问了它的后端。它为我提供了相当不错的关于它自己的信息。

huggingchat 界面截图

最后,总结一下吧!

Hugging Chat 还远没有达到 ChatGPT 的水平,但是 拥有像这样的替代方案是当务之急。我们都知道当一项服务在特定领域占据统治地位时会发生什么。

OpenChatKitDolly 也是一些值得了解的选择。

但目前我们能做的只有等待。这些开源替代品需要一些时间成长,但总有一天它们可能会与 ChatGPT 媲美甚至更好;谁知道呢? ?

想试试吗?

你可以通过访问其 聊天页面 来运行 HuggingChat;也可以在 官方网站 上查看它运行的代码。

HuggingChat

(题图:MJ/ai chatting illustration in high resolution, very detailed, 8k)


via: https://news.itsfoss.com/huggingchat-chatgpt/

作者:Sourav Rudra 选题:lkxed 译者:XiaotingHuang22 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出