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工具,才能立于不败之地。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/126649.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Figma切图,轻松上手!

对于UI设计师来说&#xff0c;在设计网页或移动应用界面时&#xff0c;不仅需要考虑视觉效果和用户体验&#xff0c;还需要考虑实际开发过程中的实现。例如&#xff0c;与开发人员合作&#xff0c;将设计草案中的图片、图标、插图等元素转换为网页或移动应用程序的代码&#xf…

PCF8574芯片介绍及驱动方法

文章目录 前言一、PCF8574芯片介绍二、PCF8574读写地址确定三、PCF8574读写模式传输数据四、PCF8574准双向I/O口五、PCF8574驱动程序编写总结 前言 本篇文章带大家学习PCF8574芯片&#xff0c;了解PCF8574芯片有什么作用&#xff0c;以及学习PCF8574的控制方法。 一、PCF8574…

【kafka】Java客户端代码demo:自动异步提交、手动同步提交及提交颗粒度、动态负载均衡

一&#xff0c;代码及配置项介绍 kafka版本为3.6&#xff0c;部署在3台linux上。 maven依赖如下&#xff1a; <!-- kafka --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.13</artifactId><version>3.6.0…

Dapp开发流程以及应用

随着区块链技术的发展和普及&#xff0c;Dapp&#xff08;去中心化应用&#xff09;逐渐成为了区块链领域中备受关注的话题。Dapp是一种运行在区块链网络上的应用程序&#xff0c;具有去中心化、透明、安全、自治等特点&#xff0c;能够为人们提供更加便捷、高效、安全的应用体…

Stable Diffusion webui 源码调试(一)

Stable Diffusion webui 源码调试&#xff08;一&#xff09; 个人模型主页&#xff1a;LibLibai stable-diffusion-webui 版本&#xff1a;v1.4.1 内容更新随机&#xff0c;看心情调试代码~ 调试txt2img的参数和工作流 文件 /work/stable-diffusion-webui/modules/txt2img…

Rust和isahc库编写代码示例

Rust和isahc库编写的图像爬虫程序的代码&#xff1a; rust use isahc::{Client, Response}; fn main() { let client Client::new() .with_proxy("") .finish(); let url ""; let response client.get(url) .send() …

rtklib进行PPK解算

使用RTKLIB_bin-rtklib_2.4.3&#xff0c; 打开RTKPOST。 配置相关文件的路径&#xff0c;如果没有广播星历&#xff0c;则到武汉大学IGS数据中心 下载。 打开Options&#xff0c;进行配置。 点击执行 解算中 查看成果

使用OkHttp库爬取百度云视频详细步骤

目录 摘要 一、OkHttp库简介 二、爬虫基本概念 三、使用OkHttp库爬取百度云视频 1、发送HTTP请求 2、处理响应 3、下载文件 四、可能遇到的问题及解决方案 五、注意事项 总结与建议 摘要 本文将详细介绍如何使用OkHttp库爬取百度云视频。文章首先简要介绍OkHttp库和…

stm32f407栈溢出导致跑程序异常

栈溢出&#xff0c;固件下载后&#xff0c;会运行异常。如下代码&#xff1a; 代码运行异常&#xff0c;进入debug&#xff0c;发现有hard fault的错&#xff1a; 因为栈已经溢出&#xff0c;一般MCU的栈地址都是向下增长的&#xff0c;stm32也是一样&#xff0c;stm32在启动文…

《QT从基础到进阶·十六》QT实现客户端和服务端的简单交互

QT版本&#xff1a;5.15.2 VS版本&#xff1a;2019 客户端程序主要包含三块&#xff1a;连接服务器&#xff0c;发送消息&#xff0c;关闭客户端 服务端程序主要包含三块&#xff1a;打开消息监听&#xff0c;接收消息并反馈&#xff0c;关闭服务端 1、先打开服务端监听功能 …

Java 设计模式——访问者模式

目录 1.概述2.结构3.案例实现3.1.抽象访问者类3.2.抽象元素类3.3.具体元素类3.4.具体访问者类3.5.对象结构类3.6.测试 4.优缺点5.使用场景6.扩展6.1.分派6.2.动态分配6.3.静态分配6.4.双分派 1.概述 访问者模式 (Visitor Pattern) 是一种行为型设计模式&#xff0c;它用于将数…

jQuery中显示与隐藏

在我们jQuery当中&#xff0c;有多个显示隐藏的方法&#xff0c;本篇介绍一下hide()、show()、toggle() 在我们JS当中&#xff0c;或是CSS当中&#xff0c;我们常用到display:none或block; 在我们jQuery当中&#xff0c;我们该如何实现显示隐藏 在我们jQuery当中&#xff0c;我…

定义无向加权图,并使用Pytorch_geometric实现图卷积

首先定义无向边并定义边的权重 import torch import torch.nn as nn from torch_geometric.nn import GCNConv import torch.nn.functional as F from torch_geometric.data import Dataa torch.LongTensor([0, 0, 1, 1, 2, 2, 3, 4]) b torch.LongTensor([0, 1, 2, 3, 1, 5,…

amazon产品采集数据

导入需要的库&#xff1a;requests&#xff0c;BeautifulSoup&#xff0c;re&#xff0c;chardet requests用于发送HTTP请求&#xff1b;BeautifulSoup用于解析HTML&#xff1b;re用于正则表达式&#xff1b;chardet用于识别网页编码。 定义函数&#xff0c;接受URL参数&#…

c语言初学者用vs还是vscode?

c语言初学者用vs还是vscode? 看是科班还是自学&#xff0c;一般学校会有要求的编译软件&#xff0c;在这两者之间&#xff0c;用VS的居多&#xff0c;一个可能的原因是VS不用自己装环境。 最近很多小伙伴找我&#xff0c;说想要一些 c语言的资料&#xff0c;然后我根据自己从…

Spring的循环依赖问题

文章目录 1.什么是循环依赖2.代码演示3.分析问题4.问题解决5.Spring循环依赖6. 疑问点6.1 为什么需要三级缓存6.2 没有三级缓存能解决吗&#xff1f;6.3 三级缓存分别什么作用 1.什么是循环依赖 上图是循环依赖的三种情况&#xff0c;虽然方式有点不一样&#xff0c;但是循环依…

一个不用充钱也能让你变强的 VSCode 插件!!!

今天给大家推荐一款不用充钱也能让你变强的 vscode 插件 通义灵码&#xff08;TONGYI Lingma&#xff09;&#xff0c;可以称之为 copilot 的替代甜品 &#x1f4aa; 前言 之前一直使用的 GitHub Copilot&#xff0c;虽然功能强大&#xff0c;但是收费相对来说有点贵&#xf…

HTTParty库数据抓取代码示例

使用HTTParty库的网络爬虫程序&#xff0c; ruby require httparty # 设置服务器 proxy_host proxy_port # 使用HTTParty库发送HTTP请求获取网页内容 response HTTParty.get(/, :proxy > { :host > proxy_host, :port > proxy_port }) # 打印获取的网页内容 …

【Python深入学习】- 书籍推荐|数据结构和算法介绍|内建集合数据类型

&#x1f308;个人主页: Aileen_0v0 &#x1f525;系列专栏:PYTHON学习系列专栏 &#x1f4ab;"没有罗马,那就自己创造罗马~" 若把编写代码比作行军打仗&#xff0c;那么要想称霸沙场&#xff0c;不能仅靠手中的利刃&#xff0c;还需深谙兵法。Python是一把利刃&…

解决:AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_id‘

解决&#xff1a;AttributeError: ‘WebDriver’ object has no attribute ‘find_element_by_id’ 背景 在使用之前的代码通过selenium定位元素时&#xff0c;报错&#xff1a;selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to loca…
最新文章