# 以 https://python.langchain.com/ 作为baseUrl,baseUrl+/docs/get_started 作为起点,抓取文档,对于每一个文档,进行html解析,继续抓取class为"pagination-nav__link--next"的链接,直至抓取最后一个文档。所有抓取的文档保存到本地的docs目录下。对于每一个链接,要判断是否已经抓取过了。
import os
import time
import requests
from bs4 import BeautifulSoup
def save_document(url, folder='docs'):
if not os.path.exists(folder):
os.makedirs(folder)
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 修改文档中的CSS路径
for link in soup.find_all('link', href=True):
if link['href'].startswith('/assets/css/'):
link['href'] = '.' + link['href']
filename = url.split('/')[-1] or 'index.html'
filename += ".html"
with open(os.path.join(folder, filename), 'w', encoding='utf-8') as file:
file.write(str(soup))
return soup
def get_next_link(soup):
link_tag = soup.find(class_="pagination-nav__link--next")
if link_tag and 'href' in link_tag.attrs:
return link_tag['href']
return None
def crawl_docs(start_url, base_url='https://python.langchain.com'):
visited = set()
next_url = start_url
while next_url:
full_url = base_url + next_url
if full_url.endswith('/'):
full_url = full_url[:-1]
if full_url not in visited:
print('visiting', full_url)
visited.add(full_url)
soup = save_document(full_url)
time.sleep(3)
next_url = get_next_link(soup)
else:
break
if __name__ == '__main__':
start_path = '/docs/get_started'
crawl_docs(start_path)
还不错,是吧?
注:上面只是用来演示如何使用Cursor,如果经常要抓取某些网站的文档来投喂大模型,可以考虑专门的开源项目,如gpt-crawler:https://github.com/BuilderIO/gpt-crawler 说到这个,不得不提Java的开源项目,如Spring Boot,一般都会提供单独的pdf文件,要投喂大模型太方便了。
另外,Cursor可以提问除了与编程无关的问题,可以当作chatgpt的GPT4版本来用。这对于苦于无法开通chatgpt plus会员的用户来说,可以当作暂时的解决方法。虽然不能用多模态,但还是具备高质量的对话能力,很多时候也够用了。
如你可以在Cursor里面提问“胃反酸是怎么回事?”,它会回答:
胃反酸,也被称为胃酸倒流或胃食道反流病(GERD),是指胃中的酸性内容物反流到食道中。这是由于食道下部的肌肉环(称为食道括约肌)不能正常关闭,导致胃酸逆流到食道。
胃反酸的常见症状包括心烧(胸骨后部的烧灼感)、喉咙痛、口腔有酸味、咳嗽、声音嘶哑、感觉有东西卡在喉咙中等。
胃反酸可能由多种因素引起,包括饮食习惯、生活方式、怀孕、肥胖、某些药物和疾病等。如果你经常感到胃反酸,应该寻求医生的帮助,因为长期的胃酸倒流可能导致食道炎、食道溃疡甚至食道癌。
GitHub Copilot只会傲娇地告诉你:作为一个AI编程助手,我专注于软件开发主题。对于医疗健康相关的问题,建议你咨询医疗专业人士或者使用专门的医疗咨询服务。
不管是GitHub Copilot还是Cursor,请善用他们的CHAT界面,和他们聊关于编程的问题。这个绝对是诲人不倦的好老师,对于学习一门新的编程语言,也特别方便。
AI编程助手已经可以帮我们完成很多琐碎、重复的工作,那么在接下来的AI大潮中,程序员要如何提升自己:
- 提升自己的沟通能力
AI只会越来越强,但是你不能很好的表达自己的想法,AI也帮不了你。建议多写学习笔记、博客等,不要在意有多少访问量,多表达就好。
- 提升自己的判断力
暂时AI只能辅助你,最终还是你来做决策,还是要熟悉自己的领域,知道哪些是好的,哪些是不好的。
- 提升自己的审美能力
程序员写的是代码,最终出来的是产品,产品都是要给人用的。拥有更好的审美能力有助于做出更好的产品、有灵魂的产品。
除了GitHub Copilot和Cursor,还有不少的竞品,可能会差一点,也不会差太多。
亚马逊信奉长期主义,它的CodeWhisperer(https://aws.amazon.com/cn/codewhisperer/)一直默默发展,面向个人用户提供无限制的代码智能生成服务。
Codeium(https://codeium.com/)是由初创公司研发的一款对标Github Copilot的代码智能生成插件,支持主流的各种编程语言,同样面向个人用户免费使用。
Codeium Chat目前也打算支持GPT-4,正在进行beta测试:https://codeium.com/waitlist/gpt-4?referrer=extension
CodeGeeX(https://github.com/THUDM/CodeGeeX2)除了免费,还是开源的。除了常规的根据上下文和提示生成代码的功能以外,CodeGeeX还具有代码跨语言翻译功能。
前不久国内技术社区CSDN的中国开发者生态——AI辅助编程的相关调研中,受访者认为国产代码生成工具中,CodeGeeX的采用率较为领先。
阿里巴巴的通义灵码(https://tongyi.aliyun.com/lingma)刚推出不久,目前看来也不错,期待能更好。
这么多编程助手,你选哪一个?或者说小孩子才做选择,成年人全都要? 😍 我目前代码生成、代码修改、Chat以Cursor为主,代码自动完成以GitHub Copilot辅助,其他编程助手密切关注。
2024年,会否有更强大的开发者AI工具胜出?让你能发出“噫!微斯人,吾谁与归?”
- 2023年JetBrains的全球开发者生态调研:https://www.jetbrains.com/lp/devecosystem-2023/
在2019年,Codota 推出了 Tabnine,到了2021年,OpenAI 推出了 Codex,GitHub 推出了 Copilot,AWS 推出了 CodeWhisperer,它们都是基于深度学习的辅助编程工具。这些工具的推出标志着辅助编程工具进入了一个互卷的时代,为开发人员提供了更强大、智能化的编程支持。
本文介绍Github Copilot、CodeWhisperer和Cursor
以下是一些使用 AI 编程插件的好处:自动代码补全错误检测和纠正代码优化和重构文档和注释生成。
去年11月份申请了 Github Copilot 的内测,今天终于收到了邀请。玩了一下午,整体感受是很惊喜的,迫不及待地想写一篇使用体验。
Github Copilot 是 OpenAI 和 Github 联合推出的 AI 编程工具,能根据用户输入的部分代码或注释自动生成完整代码。Python学习资料点击免费领取
Warm-up
我上手之后敲下的第一行代码是def gcd():,不出所料,Copilot 果然帮我完成了求最大公约数的函数,而且根据我输入的不同,也会联想不同的...
GitHub Copilot和GitHub Copilot Chat是两个不同的插件,它们有以下区别:
1. GitHub Copilot:GitHub Copilot是一个基于人工智能的代码自动补全工具,由OpenAI和GitHub合作开发。它可以根据上下文和代码语法,为开发者提供实时的代码建议和自动补全功能。GitHub Copilot可以在各种编程语言和开发环境中使用,帮助开发者更高效地编写代码。
2. GitHub Copilot Chat:GitHub Copilot Chat是一个基于GitHub Copilot的聊天助手插件。它可以与开发者进行对话,并提供代码建议、解答问题等功能。GitHub Copilot Chat可以通过与开发者的交互,帮助他们更好地理解和解决编程问题。
总结来说,GitHub Copilot是一个代码自动补全工具,而GitHub Copilot Chat是一个与开发者进行对话的聊天助手插件。两者都旨在提高开发效率和代码质量,但功能和用途略有不同。
CSDN-Ada助手:
倚天屠龙:Github Copilot vs Cursor
CSDN-Ada助手:
倚天屠龙:Github Copilot vs Cursor
fireshort: