赞
踩
如今,许多公司都在使用人工智能编程助手来自动处理产品中的模板代码,从而让开发者能够处理更复杂的开发问题。最近, Devin(世界上第一个完全自主的人工智能软件工程师)问世。它可以处理各种编程任务,从根据提示生成代码行,到调试、部署应用程序,甚至学习新技术以解决新挑战。在闭源产品领域,有其他的人工智能助手还包括 Github 的 CoPilot Chat。但如果我们想使用开源的替代品呢?
本文包含了一个实践教程,介绍了如何实现一个由大型语言模型(LLM)支持的代码助手,使用的是开源模型CodeLlama,并在 Paperspace Gradient 上执行。这个模型可以在 HuggingFace 上获取。
你可以向这个代码助手提问,它会用自然语言回答你的问题,并提供代码片段。
注:在这里先说明一下,Paperspace 是 DigitalOcean 云服务旗下的 GPU 云服务平台,提供了 H100、A100等一系列 GPU 资源,以及AI创业者从想法验证到模型部署所需的多种功能。如需了解,可与 DigitalOcean 中国独家战略合作伙伴卓普云AI Droplet 的技术售前咨询。
Code Llama 于 2023 年 8 月由 Meta 发布。该模型建立在 Llama 2 的基础上,并专门针对生成代码的目的进行了微调。最初,该模型是通过在代码特定数据集上训练 Llama 2 而开发的。它可免费用于研究和商业用途。
通过生成代码和对代码的讨论,可在模型响应时提供包含代码或自然语言的提示。Code Llama 对于开发者来说是一个非常有用的工具,可以提高他们的编程效率。它支持当前使用的大多数流行语言,包括 Python、C++、Java、PHP、Typescript(Javascript)、C# 和 Bash。
本文使用 Code LLaMa 7 B 制作了一个构建代码助手的演示:
· Code Llama(以及更大的版本 13B、34B、70B)- 建议用于代码补全和代码摘要
· Code Llama-Python(7B、13B、34B、70B)--专门用于生成和理解 Python 代码。它对使用 Python 和 PyTorch 的开发者特别有用。
· Code Llama-Instruct(7B、13B、34B、70B)- 这是使用 Code Llama 生成代码的首选,因为它侧重于安全和信息丰富的响应。
注:在Paperspace Gradient试用这些版本的Code Llama
首先,在 Paperspace根据项目需要选择 GPU 和模板。选择自动关机时间。在本演示中,您不需要任何 HuggingFace API 密钥。
- pip install transformers
- from transformers import pipeline
- # Load the codegen model
- codegen_pipeline = pipeline("text-generation", model="codellama/CodeLlama-7b-hf")
- # Define your prompt
- prompt = """
- # Write Python code to implement Random Forest algorithm with Scikit-Learn library
- # Provide clear comments for each code section, explaining its purpose and functionality.
- # Explain the code with proper explanation and its purpose
- """
此提示要求生成使用 Scikit-Learn 库实现随机森林算法的 Python 代码,并对代码的每个部分进行注释解释。
- # Generate code based on the prompt using beam search
- generated_code = codegen_pipeline(prompt, max_length=400, temperature=0.7, truncation=True, num_beams=5)
参数如下
- # Print the generated code
- for completion in generated_code:
- print(completion['generated_text'])
大家还可以自己试试:用不同的编程语言执行不同的代码生成模型,并比较它们的性能。可尝试的模型有 Tabby、Codey、Mixtral 8X7 B、CodeGen、Code、T5 和 CodeGee X、StarCoder。
据 Gartner 预测,到 2028 年,75% 的企业软件工程师将把人工智能编程助手纳入他们的工作流程,这与 2023 年初不到 10% 的比例相比是一个重大飞跃。
57% 的商业和技术专业人士承认他们的组织已经开始采用人工智能编码助手。
据 bain 公司称,75% 的采用者对他们正在使用的人工智能编程助手感到满意。
人工智能驱动的编码助手正迅速成为必不可少的工具。它们能自动完成繁琐的任务并生成代码,从而将人工智能开发人员解放出来,从事软件开发的创造性工作。
本文探讨了令人兴奋的代码助手世界,展示了 Meta 的 Code Llama 的强大功能。我们使用 Code Llama 制作了一个基本演示,为随机森林算法生成 Python 代码!
另外,我们此前还分享过《如何使用 Paperspace 上手 LLama 3 模型》,以及《部署、微调 MosaicML 模型的实践》,《AI 创业者如何选择 GPU 服务》如果大家感兴趣,可以点击文章标题跳转阅读。
最后,DigitalOcean 旗下的 Paperspace 可提供包括 H100、A100、A6000、A5000 等多种型号的 GPU。Paperspace 的定价是以秒为单位的,非常适合初创企业。如需要详细咨询更多业务与解决方案,欢迎与DigitalOcean 中国区独家战略合作伙伴卓普云联系。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。