DevChat:VSCode中基于大模型的AI智能编程助手

2023-11-23 04:59

本文主要是介绍DevChat:VSCode中基于大模型的AI智能编程助手,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#AI编程助手哪家好?DevChat“真”好用#

文章目录

  • 1. 前言
  • 2. 安装
    • 2.1 注册新用户
    • 2.2 在VSCode中安装DevChat插件
    • 2.3 设置Access Key
  • 3. 实战使用
    • 3.1 代码编写
    • 3.2 项目创建
    • 3.3 代码讲解
  • 4. 总结

1. 前言

  DevChat是由Merico公司精心打造的AI智能编程助手。它利用了最先进的大语言模型技术,像人类开发者一样高效地理解需求,并提供最佳的代码和项目实现方式。DevChat都可提供智能补全、错误纠正、代码规范检查、代码注释生成等多项支持,大大提升了开发者的工作效率。从而能够让开发者告别脏活累活,做更有价值的工作。产品务实高效,近期还在2023QCon全球软件大会亮相,斩获众多圈内开发者的好评

  作为一款全方位的AI智能编程助手,不仅能够完成代码编写,而且还能够完成单元测试、Debug调试、代码文档编写和高效总结。在保证编码质量的同时,DevChat也非常注重用户隐私和数据安全。DevChat支持微软 Azure 平台,全球顶级数据隐私保护,比 OpenAI 接口用起来更放心。

  DevChat提供了GPT-3.5、GPT-4、XINGHUO-2、CLAUDE-2、LLAMA-2-13B-CHAT等大模型的接口,用户可根据自身实际需求选择最适合自己的大模型,从而最大程度上提升工作效率。比如复杂任务可首选GPT-4 ,其他任务也可使用低成本模型加以解决,组合使用达到最佳的效能。

  DevChat AI辅助工具如此强大,都有哪些优势呢?总共包含八大优势,具体如下:

  • 精准的上下文控制
  • 多种大模型任意选:复杂任务非 GPT-4 莫属,简单任务交给低成本模型,组合使用效能最佳
  • 精准的“上下文”管理;把任意代码段加入对话,不靠 AI 时好时坏的猜测,把控制权交还给用户
  • 简单可扩展的提示词目录:开放提示词扩展,Prompts as Code,满足团队和个人自定义需求
  • 灵活的 Prompt 模板管理,ask-code功能解答代码库的各类问题
  • 产品设计务实,迭代反馈快
  • 代码和文档自由生成,而非简单补全
  • 对接微软 Azure 服务,可信赖的企业级数据安全

  本人在深度使用了DevChat智能编程助手后,最大的感受就是简单又易用,非常适合不同水平的程序员解决不同难度的问题,不仅能够帮助新手写出成熟代码,而且也能够帮助项目组提升工作效率。所以强烈建议大家体验使用,访问地址为:官网链接
在这里插入图片描述

2. 安装

  为了照顾到绝大多数的同学,本节内容操作步骤较为详细,希望大家都能够按照以下步骤顺利完成DevChat的安装。

2.1 注册新用户

  点击进入官网链接后,然后点击登录,如下图所示:

在这里插入图片描述
  点击下图中的Sign Up开启新用户的注册:

在这里插入图片描述

  然后在下图中输入用户名和的Email邮箱地址(亲测QQ邮箱是可以的),完成I am human的真人测试,最后点击Sign up完成新用户的注册。需要注意的是,此时邮箱会收到一封包含Access Key的邮件,将该Access Key保存到本地, 从而方便后续使用。
在这里插入图片描述

  然后输入刚才注册时的Email,并点击Send Code,则会收到包含验证码的邮件,然后将其输入到Veification Code的输入框中,并点击Sign In进行登录,具体如下图所示:
在这里插入图片描述

2.2 在VSCode中安装DevChat插件

  首先打开VSCode,点击左下方的配置按钮(齿轮状),然后点击Extensions(扩展),如下图所示:
在这里插入图片描述
  然后在搜索框中输入DevChat,点击Install进行安装,如下图所示:
在这里插入图片描述

2.3 设置Access Key

  点击左下角的设置按钮,选择Command Palette(控制面板),,如下图所示:

在这里插入图片描述
  在弹出的命令面板中点击DevChat: Input DevChat Access Key,如下图所示:
在这里插入图片描述
  将之前保存好的Access Key复制到下图中的输入框中,并按下回车键。
在这里插入图片描述
  输入完毕后,可以看到下方的日志出现了api key status: has valid access key,则说明Access Key配置成功了,如下图所示:
在这里插入图片描述

3. 实战使用

3.1 代码编写

  首先来个最简单的测试实例,即让DevChat完成Python的快速排序,截图和代码如下所示:

在这里插入图片描述

def quick sort(arr): if len(arr) <= 1:return arr pivot = arr[len(arr) /1 2] # 选择个基准元素left = [x for x in arr if x < pivot] # 小于基准元素的部分middle = [x for x in arr if x == pivot] # 等于基准元素的部分right = [x for x in arr if x > pivot] # 大于基准元素的部分# 递归排序左右两部分return quick sort(left) + middle + quick sort(right)

3.2 项目创建

  除了能够完成算法题目的编写,那么DevChat是否能够创建一个Python项目呢?这里以Python的Django项目为例,首先在输入框中输入如何创建Django项目,如下图所示:
在这里插入图片描述
  然后DevChat就给出了详细的创建步骤,如下图所示,看看咱们是否能够在它的指引下完成Django项目的创建呢?
在这里插入图片描述
  首先进入命令行,使用pip命令安装django库,当看到Sucessfully installed则说明安装成功了,具体操作步骤和截图如下所示:
在这里插入图片描述
  然后在命令中创建django项目,具体操作命令和DevChat给出的步骤也是一致的,如下图所示:
在这里插入图片描述
  当看到The install worked successfully! Congratulations!则说明Django项目创建成功了,具体如下图所示:

在这里插入图片描述

3.3 代码讲解

  DevChat不仅能帮助我们完成代码编写和项目创建,而且还能帮助我们进行代码讲解,极大提升了阅读代码的效率。

  首先可用鼠标框选好指定的代码段,然后点击鼠标右键,并点击Add to DevChat,如下图所示:
在这里插入图片描述
  然后在菜单栏中选择对应的模型,由于CLAUDE-2的上下文长度为100K(模型列表中最长),所以选择该模型来完成本次任务。
在这里插入图片描述
  在对话框中输入:请帮我解释代码,如下图所示。
在这里插入图片描述
  DevChat的回答如下所示:

这段代码使用 OpenAI 的 Completion API 来生成文本。主要逻辑如下:1. 在一个无限循环中尝试生成文本。2. 使用 model_name、batch_decoding_args 和 decoding_kwargs 构建请求参数。3. 调用 Completion.create() 生成文本。4. 如果遇到 OpenAIError,处理不同的错误:- 如果是 "Please reduce your prompt" 错误,调整 max_tokens 参数重试。- 如果是请求频率限制错误,等待一段时间后重试。5. 获取结果 choices,记录 tokens 用量,添加到 completions 列表中。6. 成功后退出循环。这种机制可以自动处理 OpenAI API 的错误和限制,不断尝试请求直到成功生成文本为止。max_tokens 参数可以动态调整来适应 prompt 长度限制。整体来说,这是一种优雅的方式来反复调用 OpenAI API 直到成功。

4. 总结

  在亲身体验后DevChat后,它的确是一款非常智能的AI编程助手。不仅能够完成代码的智能补全、错误纠正和代码规范检查,而且还能在它的精确指引下完成项目的创建。真的是功能强大、简单易用,所以强烈建议大家安装使用。在AI的新时代,只有不断学习使用最新的AI工具,才能立于不败之地。

这篇关于DevChat:VSCode中基于大模型的AI智能编程助手的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/415527

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla