open ai 编程语言 open ai写脚本
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
最近随着OpenAI的一系列大动作,把软件领域搅的天翻地覆。各行各业各领域,都出现了大量新产品。
开发工具领域首当其冲,各种新工具层出不穷,今天TJ就给大家推荐一个全新的开发工具:Cursor
从官网介绍可以看到,Cursor基于OpenAI实现,继承了最新的GPT-4模型,支持Mac、Windows、Linux三大平台。
下面大家看看这个开发工具有多厉害,感性兴趣的读者也可以通过下方链接去官网下载了一起体验:
- 官方网站:
- 通过快捷键cmd + k唤出AI指令输入框
- 比如,我这里输入“读取文件”。马上就产生了下面的实现内容:
-
选中你看不懂的代码,按快捷键cmd + L
-
说出你的疑问,AI在右侧就会给出解释
这功能也许非常实用吧,毕竟我们每天都在维护屎山,有了这根搅屎棍的帮助,也许屎山啃起来可以容易一些了吧!
来源:基于OpenAI的代码编辑器:Cursor
欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源
图灵测试的基本原理和意义 图灵测试是判断智能的唯一标准吗
图灵测试的基本原理和意义,图灵测试的原理和依据,图灵测试的目的及意义是什么,图灵测试的主要内容- 1、图灵测试已经过时?现在有更高级的算法吗?
- 2、openai能当爬虫使吗
- 3、dota2怎么挑战openai?
- 4、百度文心一言是什么?你对文心一言有什么期待?
- 5、深度强化学习 如何训练
- 6、OpenAI机器人的聊天技术是如何实现的,以及它能够支持哪些类型的聊天呢?
亚马逊Alexa副总裁兼首席科学家Rohit Prasad认为,旧的计算标准对当今的人工智能时代已不再具有借鉴意义。
今年是艾伦・图灵引入“图灵测试”概念的论文发表70周年。在这篇论文里,他回答了这个问题――“机器会思考吗?”。该测试的目标是确定机器能否表现出与人类难以分辨的对话行为。
图灵预测,到2000年,普通人在模拟游戏中将人工智能与真人区分开的概率将不到70%,游戏中的回应者可能是真人,也可能是人工智能,而评估者对此毫不知情。
阿兰・图灵
为什么20年过后,作为一个产业,我们还无法实现这个目标呢?我认为图灵提出的努力目标对我这样的人工智能科学家来说并不是一个实用目标。
图灵测试充满了限制性因素,图灵自己在这篇开创性论文中就讨论过其中一些。随着如今人工智能普遍集成到手机、汽车和家庭中,一个事实越来越明显:人们更关心他们与机器的交互是实用、无缝和透明的,实现机器与人真假难分的理念已经过时。
因此,是时候让这个70年来一直作为灵感源泉的传奇退役了,我们需要设立一个全新的挑战来赋予研究者和从业者以同样的灵感。
图灵测试与公众想象力
在概念引入后的短短几年里,图灵测试成为人工智能学术界的北极星。
六七十年代最早出现的聊天机器人“伊丽莎”(ELIZA)和“帕里”(PARRY)的目标就是通过图灵测试。2014年,聊天机器人“尤金・古斯特曼”(Eugene Goostman)宣布它通过了图灵测试,骗过了33%的人类裁判,让他们误以为自己是真人。然而,正如其他人所指出的,骗过30%人类裁判的标准是武断的,即使这样,这场胜利还是让一些人觉得过时了。
然而,图灵测试继续激发着公众想象力。OpenAI的“生成性预训练”Transformer 3(GPT-3)语言模型以其击败图灵测试的潜力而成为头条新闻。同样地,记者、商界领袖和其他观察家仍然会问我:“Alexa什么时候能通过图灵测试?”
毫无疑问,图灵测试是衡量Alexa智能的一种 *** ,但这样衡量Alexa的智能真的重要吗?有意义吗?
要回答这个问题,让我们回到图灵之一次提出这篇论文的时候。
1950年,之一台商用计算机尚未开售,光纤电缆的基础性研究又过了四年才发表,人工智能领域也还没有形成,要到1956年才正式确立。如今手机的计算能力是阿波罗11号的10万倍,再加上云计算和高带宽连接,人工智能可以在数秒内根据海量数据做出决策。
虽然图灵的最初设想仍能赋予我们灵感,但将图灵测试理解为人工智能进步的终极标志,必然会受到它刚提出时所处时代的局限。
首先,图灵测试几乎没有考虑人工智能的机器属性,比如快速计算和信息查找等,这些才是现代人工智能最有效的特征。
刻意强调骗过人类,意味着人工智能要通过图灵测试,就必须在回答诸如“你知道3434756的立方根是多少吗?”或者“西雅图离波士顿有多远?”这类问题的时候做出停顿。
事实上,人工智能立刻就知道这些答案,而做出停顿让自己的回答听起来更像真人,并不是利用其技能的更佳方式。
此外,图灵测试没有考虑到人工智能使用传感器听、看和感受外部世界的能力越来越强大。相反,图灵测试仅限于文字沟通。
其次,要想让人工智能在今天更实用,这些系统需要高效地完成我们的日常任务。当你让人工智能助手帮你关掉车库的灯时,你并不想发起一场对话。相反,你会希望它立刻满足这个要求,并以一个简单确认比如“ok”或“好的”来通知你。
即使你与人工智能助手就一个热门话题进行广泛对话,或让它为孩子朗读故事,你还是想知道它是人工智能而非真人。事实上,通过假装真人来“骗过”用户会带来真正的风险。想想反乌托邦的可能性,我们已开始看到散布假消息的机器人和深度虚假新闻的出现。
人工智能面临全新的重大挑战
与其说沉迷于让人工智能与人类毫无差别,我们更应该致力于构建能增强人类智力、以公平和包容的方式改善我们日常生活的人工智能。
一个有价值的潜在目标是,让人工智能表现出类似人类的智能属性――包括常识、自我监督和语言能力,与快速搜索、记忆唤起和代表你完成任务等机器效率相结合。最终的结果是学习和完成各种任务,适应全新的情况,远超一个普通人所能做的。
这一焦点揭示了当前人工智能领域真正重要的研究――感官理解,对话,渊博的知识,高效学习,决策推理,以及消除任何不恰当偏见(即实现公平)。这些领域的进展可以用多种方式来衡量。
一种 *** 是将挑战分解为多个任务。例如,Kaggle的“抽象和推理挑战”专注于解决人工智能从未见过的推理任务。
另一种 *** 是为人机交互设计一个大规模的现实世界挑战,比如“Alexa 社交机器人大奖赛”――一个面向大学生的对话型人工智能大赛。
事实上,当我们2016年推出Alexa大奖赛时,我们就应该如何评价竞争对手的“社交机器人”展开了激烈的辩论。我们是想让人们相信社交机器人是真人,展开某种程度的图灵测试吗?或者,我们是想让人工智能具备进行自然对话的能力,从而促进学习、提供娱乐,还是只是把它当作一种令人愉悦的消遣?
首个获得公民身份的机器人“索菲亚”
我们制定了一个规则,要求社交机器人在20分钟内与真人就包括娱乐、体育、政治和科技在内的广泛热门话题进行连贯有趣的对话。
在决赛前的开发阶段,客户会根据是否愿意与机器人再次交谈来给它打分。在决赛中,独立的人类裁判会根据连贯性和自然性以5分制为其打分。
如果任何一个社交机器人的平均对话时长达到20分钟,并获得4.0以上的分数,那它就能通过这个重大挑战。
虽然目前还没有社交机器人通过这一重大挑战,但这种 *** 正引导人工智能研发,使其在基于深度学习的神经 *** 的帮助下,拥有类似于人的对话能力。它优先考虑让人工智能在适当情况下展现出幽默和同理心,而无需假装成真人。
你好,可以的,Spinning Up是OpenAI开源的面向初学者的深度强化学习资料,其中列出了105篇深度强化学习领域非常经典的文章, 见 Spinning Up:
博主使用Python爬虫自动爬取了所有文章,而且爬下来的文章也按照网页的分类自动分类好。
见下载资源:Spinning Up Key Papers
源码如下:
import os
import time
import urllib.request as url_re
import requests as rq
from bs4 import BeautifulSoup as bf
'''Automatically download all the key papers recommended by OpenAI Spinning Up.
See more info on:
Dependency:
bs4, lxml
'''
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
}
【【微信】】=''
paper_id=1
def download_pdf(pdf_url, pdf_path):
"""Automatically download PDF file from Internet
Args:
pdf_url (str): url of the PDF file to be downloaded
pdf_path (str): sa【【微信】】aded PDF file
"""
if os.path.exists(pdf_path): return
try:
with url_re.urlopen(pdf_url) as url:
pdf_data=url.read()
with open(pdf_path, "wb") as f:
f.write(pdf_data)
except: # fix link at [102]
pdf_url=r""
with url_re.urlopen(pdf_url) as url:
pdf_data=url.read()
with open(pdf_path, "wb") as f:
f.write(pdf_data)
time.sleep(10) # sleep 10 seconds to download next
def download_from_bs4(papers, category_path):
"""Download papers from Spinning Up
Args:
papers (bs4.element.ResultSet): 'a' tags with paper link
category_path (str): root dir of the paper to be downloaded
"""
global paper_id
print("Start to ownload papers from catagory {}...".format(category_path))
for paper in papers:
paper_link=paper['href']
if not paper_link.endswith('.pdf'):
if paper_link[8:13]=='arxiv':
# paper_link=""
paper_link=paper_link[:18] + 'pdf' + paper_link[21:] + '.pdf' # arxiv link
elif paper_link[8:18]=='openreview': # 【【微信】】
# paper_link=""
paper_link=paper_link[:23] + 'pdf' + paper_link[28:]
elif paper_link[14:18]=='nips': # neurips link
paper_link=""
else: continue
paper_name='[{}] '.format(paper_id) + paper.string + '.pdf'
if ':' in paper_name:
paper_name=paper_name.replace(':', '_')
if '?' in paper_name:
paper_name=paper_name.replace('?', '')
paper_path=os.path.join(category_path, paper_name)
download_pdf(paper_link, paper_path)
print("Successfully downloaded {}!".format(paper_name))
paper_id +=1
print("Successfully downloaded all the papers from catagory {}!".format(category_path))
def _sa【【微信】】(【【微信】】, html_path):
"""Sa【【微信】】
Args:
【【微信】】 (str): url of the HTML page to be saved
html_path (str): save path of HTML file
"""
html_file=rq.get(【【微信】】, headers=headers)
with open(html_path, "w", encoding='utf-8') as h:
h.write(html_file.text)
def download_key_papers(root_dir):
"""Download all the key papers, consistent with the categories listed on the website
Args:
root_dir (str): sa【【微信】】aded papers
"""
# 1. Get the html of Spinning Up
spinningup_html=rq.get(【【微信】】, headers=headers)
# 2. Parse the html and get the main category ids
soup=bf(spinningup_html.content, 'lxml')
# _sa【【微信】】(【【微信】】, 'spinningup.html')
# spinningup_file=open('spinningup.html', 'r', encoding="UTF-8")
# spinningup_handle=spinningup_file.read()
# soup=bf(spinningup_handle, features='lxml')
category_ids=[]
categories=soup.find(name='div', attrs={'class': 'section', 'id': 'key-papers-in-deep-rl'}).\
find_all(name='div', attrs={'class': 'section'}, recursive=False)
【【微信】】ies:
category_ids.append(category['id'])
# 3. Get all the categories and make corresponding dirs
category_dirs=[]
if not os.path.exitis(root_dir):
os.makedirs(root_dir)
for category in soup.find_all(name='h2'):
category_name=list(category.children)[0].string
if ':' in category_name: # replace ':' with '_' to get valid dir name
category_name=category_name.replace(':', '_')
category_path=os.path.join(root_dir, category_name)
category_dirs.append(category_path)
if not os.path.exists(category_path):
os.makedirs(category_path)
# 4. Start to download all the papers
print("Start to download key papers...")
for i in range(len(category_ids)):
category_path=category_dirs[i]
category_id=category_ids[i]
content=soup.find(name='div', attrs={'class': 'section', 'id': category_id})
inner_categories=content.find_all('div')
【【微信】】 !=[]:
for category in inner_categories:
category_id=category['id']
inner_category=category.h3.text[:-1]
inner_category_path=os.path.join(category_path, inner_category)
if not os.path.exists(inner_category_path):
os.makedirs(inner_category_path)
content=soup.find(name='div', attrs={'class': 'section', 'id': category_id})
papers=content.find_all(name='a',attrs={'class': 'reference external'})
download_from_bs4(papers, inner_category_path)
else:
papers=content.find_all(name='a',attrs={'class': 'reference external'})
download_from_bs4(papers, category_path)
print("Download Complete!")
if __name__=="__main__":
root_dir="key-papers"
download_key_papers(root_dir)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27<