【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南

这篇具有很好参考价值的文章主要介绍了【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

一、前言

本次评测聚焦于 VSCode 插件 DevChat,为开发者提供即时通信功能,提高编程效率。文章深入探讨了插件的安装、使用和特性,通过代码示例详细说明其在开发过程中的实际帮助。在软件开发领域,VS Code 作为灵活而功能强大的编辑器,通过丰富的插件满足各类开发需求。对于对 GPT 感兴趣的人,推荐使用 DevChat,这款基于 GPT-4 的聊天式编程辅助工具。与 ChatGPT 不同,DevChat 直接为 VS Code 提供插件,使得在编程环境中与之对话更加便捷。

二、认识了解 DevChat

2.1 什么是 DevChat

DevChat是一个集成了多种主流大模型的AI编程工具,专注于提升程序员的编程效率。它整合了ChatGPT、Codex等热门AI大模型,支持自然语言编程、代码编写、代码生成、代码补全等功能。Devchat最大的优势是一站式服务,集成热门大模型,并且可以根据需求随心切换,省去了选择和整合不同AI模型的麻烦,无需过多配置就可以快速上手,从而全面提升开发效率。产品务实高效,近期还在QCon全球软件大会亮相,斩获众多圈内开发者的好评

2.2 DevChat 优势以及特点

尽管有许多AI编码工具可用,但我们基于通过生成数万行代码积累的实际见解开发了DevChat。DevChat做出了以下的独特的设计选择。

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

2.2.1 精准控制提示上下文

对上下文的精准掌控是有效使用人工智能的关键。例如,假设你希望AI为一个函数生成一些测试用例。瓶颈不在于制定请求本身或嵌入给 AI 的指令,比如“你是一个很棒的测试者”。相反,对于请求而言,被称为上下文的所需信息是最关键的因素。在这种情况下,上下文可能不仅涵盖被测试的函数,还包括它调用的任何其他主要函数,这可能影响测试用例。此外,上下文还可能包括一个类似的工作测试用例,以帮助 AI 理解和复制测试用例在你特定环境中的设置和格式。

我们发现大多数其他“智能”或“自动”工具倾向于过度猜测用户需要将什么放入提示中,目的是减轻用户的工作量。这通常导致比 LLMs 能够有效处理的更多噪音。DevChat 将控制权交还给人类以实现真正的生产力,并提供用户友好的方法来简化上下文选择。在实践中,人类仍然是驾驶员,只有在提供清晰请求和适当上下文的情况下,AI 才能真正发挥作用。

2.1.2 简单的扩展机制

为了满足你的需求,你不必学习特定编程语言的新框架。提示应该对用户可见且易于编辑,而不是隐藏在复杂的框架中。

自定义你的提示,建立适合你和团队的工作库。将自己的提示模板轻松集成到 DevChat 中,无需进行大量工程努力或陡峭的学习曲线。你不需要一个复杂的框架来让 AI 为你工作。只需使用操作你文件系统的标准编辑器即可。

2.1.3 多种大模型任选

现阶段 DevChat 支持多种大模型,现阶段可以看到支持 GPT-4(OpenAI)、GPT-3(OpenAI)、Claude-2 等。

从下图可以看到,支持的模型种类很多:

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

三、构建安装 DevChat

3.1 注册 DevChat

直接访问官方网站进行注册

DevChat 官方网站:https://www.devchat.ai/

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

输入注册信息进行注册

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

注册成功后,在你的邮箱内会收到注册成功的提示邮件,类似如下,请保存该邮件,如果没有收到,先去垃圾箱检查一下,可能会被误判为垃圾邮件了。里面包含一个 Access Key 信息,要保存好,后面会使用到。

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

3.2 DevChat 插件安装指南

3.2.1 在 Windows 上安装git(如已安装,可跳过该步骤)

环境中需要安装 Git 依赖,安装方法可以参考我以前的博文:[Git & GitHub] Windows安装git和环境变量配置

完成安装后,在命令行终端运行git --version返回版本号表明成功。

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

3.2.2 在 VS Code 中安装插件

在 VS Code 插件市场中搜索devchat,如下图,点击安装(或访问 Visual Studio Marketplace,点击 Install)。

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

安装可能持续若干分钟(在这里我确实等了几分钟)

完成安装后的提示:如下图

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

3.2.3 设置Access Key

在访问 https://web.devchat.ai/ 注册的账号后,会收到邮件,里面会带有 Access Key(上文有提示),完整复制粘贴到 VS Code 中,具体方法为:

点击左下角管理(“齿轮”图标),命令面板(Command Palette),在弹出的命令面板中输入devchat key,点击如下命令后,如下图:

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

在弹出的输入框中粘贴进 DevChat Access Key,回车。右下方状态栏 DevChat 前出现如下对勾,表明安装配置完成

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

到此步骤,我们已经将 DevChat 成功安装到 VS Code 中,接下来我们实际操作一下,来体验 DevChat 的强大。

四、DevChat 实践操作案例

4.1 优化整个代码文件

在这个例子里,我们可以直接讲某一个代码文件,添加到 DevChat 中,之后让 DevChat 直接进行分析,得到代码策略。

如下图所示,直接右键点击代码文件,添加到 DevChat 中

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

在下图可以看到,我们添加的代码文件,并且在聊天框中,可以直接添加输入你想做的事情,之后让 DevChat 进行优化代码,并且 DevChat 给出了建议方案。

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

DevChat 给出的建议参考如下。

你的代码写得不错,只有一小部分可以进一步优化,具体的优化点如下:

  1. 数据库操作分离:

你可以将数据库连接配置项抽象为一个函数,如此可以在三个执行数据库操作的函数中复用。同时你可以使用with语句,这样在语句结束之后,连接和游标就会自动关闭,无需手动关闭。

  1. 路径拼接:

你可以使用 os.path.join(path, i) 来代替 path + '/' + i,这样可以避免在不同操作系统上出现的路径分隔符不统一的问题。

以下为对应的优化代码:

import pymysql
import pandas as pd
import os
import wordcloud
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt

# MySQL数据库连接配置
db_config = {
    'host': "gz-cynosdbmysql-grp-d27hp6vl.sql.tencentcdb.com",
    'port': 27529,
    'user': "root",
    'password': "TDSQL-C.@GMbe#P!",
    'database': 'experience-12',
}


def get_connection_cursor():
    # 建立MySQL数据库连接
    conn = pymysql.connect(**db_config)
    cursor = conn.cursor()
    return conn, cursor


def create_table(table_name, columns):
    with get_connection_cursor() as (conn, cursor):
        query = f"CREATE TABLE IF NOT EXISTS {table_name} ("
        for col_name, col_type in columns.items():
            query += f"{col_name} {col_type}, "
        query = query.rstrip(", ")
        query += ")"
        cursor.execute(query)
        conn.commit()


def excelTomysql():
    path = '词频'
    files = [os.path.join(path, i) for i in os.listdir(path)]
    for file_path in files:
        print(file_path)
        filename = os.path.basename(file_path)
        table_name = os.path.splitext(filename)[0]
        data = pd.read_excel(file_path, engine="openpyxl", header=0)
        columns = {col: "VARCHAR(255)" for col in data.columns}
        create_table(table_name, columns)
        save_to_mysql(data, table_name)
        print(filename + ' uploaded and saved to MySQL successfully')


def save_to_mysql(data, table_name):
    with get_connection_cursor() as (conn, cursor):
        for index, row in data.iterrows():
            query = f"INSERT INTO {table_name} ("
            for col_name in data.columns:
                query += f"{col_name}, "
            query = query.rstrip(", ")
            query += ") VALUES ("
            values = tuple(row)
            query += ("%s, " * len(values)).rstrip(", ")
            query += ")"
            cursor.execute(query, values)
        conn.commit()


def query_data():
    with get_connection_cursor() as (conn, cursor):
        cursor.execute("SHOW TABLES")
        tables = cursor.fetchall()

    data = []
    dic_list = []
    table_name_list = []
    for table in tables:
        table_name = table[0]
        table_name_list.append(table_name)
        query = f"SELECT * FROM {table_name}"
        with get_connection_cursor() as (conn, cursor):
            cursor.execute(query)
            result = cursor.fetchall()

        if len(result) > 0:
            columns = [desc[0] for desc in cursor.description]
            table_data = [{columns[i]: row[i] for i in range(len(columns))} for row in result]
            data.extend(table_data)
        dic = {}
        for i in data:
            dic[i['word']] = float(i['count'])
        dic_list.append(dic)

    conn.commit()
    cursor.close()
    conn.close()
    return dic_list, table_name_list


if __name__ == '__main__':
    excelTomysql()
    print("excel写入到mysql成功!")
    result_list, table_name_list = query_data()
    print("从mysql获取数据成功!")
    for i in range(len(result_list)):
        maskImage = np.array(Image.open('background.PNG'))
        wc = wordcloud.WordCloud(
            font_path='PingFangBold.ttf',
            mask=maskImage,
            max_words=500,
            max_font_size=100)
        wc.generate_from_frequencies(result_list[i])
        wc.to_file("词云图/{}.png".format(table_name_list[i]))
        print("生成的词云图【{}】已经保存成功!".format(table_name_list[i] + '.png'))
        plt.imshow(wc)
        plt.axis('off')
        plt.show()

4.2 使用 DevChat 进行代码审计

另一个推荐的比较强大的功能是,可以利用 DevChat 对 PR 的代码进行代码审计操作。

下面我们来演示如何用 DevChat 对分支:adapt-prompt-for-3.5-instruct 进行代码审计操作
【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

我们在 DevChat 窗口中,给出所要审计的分支关键词等信息,对代码分支进行 Review。

效果如下图:

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

DevChat 会给出专业的 Review 建议点,返回给用户,如下图所示:

【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南,人工智能,aigc,ide

五、文末总结

在本文中,我们介绍了 DevChat,探讨了其在开发过程中的重要性和优势。通过精准控制提示上下文、简单的扩展机制以及多种大模型任选,DevChat为开发者提供了强大的工具,助力优化整个代码文件并进行高效的代码审计。通过详细的构建安装步骤,我们帮助读者轻松入门,并展示了在实际操作中如何利用 DevChat 提升开发效率。无论是注册、插件安装,还是设置 Access Key,我们提供了清晰的指南。希望这篇文章能够成为你在 DevChat 使用过程中的有力伙伴,让你在开发中更加游刃有余。文章来源地址https://www.toymoban.com/news/detail-751981.html

到了这里,关于【AI 编程助手】DevChat 解析:深入了解、快速配置与实际操作案例的完整指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 让AI成为你的编程助手——DevChat AI插件在VSCode中的应用

    #AI编程助手哪家好?DevChat“真”好用 # 随着人工智能技术的飞速发展,大模型已经成为了这个领域的一股强大力量。它的出现,让我们看到了人工智能在自然语言处理方面的惊人能力,无论是生成文本,还是进行对话,大模型都展现出了令人惊叹的性能。 然而,尽管大模型

    2024年02月06日
    浏览(41)
  • 【Amazon】云上探索实验室—了解 AI 编程助手 Amazon Codewhisperer

    用技术实验、产品体验、案例应用等方式,亲身感受最新、最热门的亚马逊云科技开发者工具与服务。发挥您的想象和创造,以文章、视频、代码 Demo 等形式分享见解。您的分享可以帮助到更多开发者进行学习与开发,为技术实践提供更多的可能性。 云上探索实验室开展至今

    2024年02月04日
    浏览(50)
  • 【网络编程】深入了解UDP协议:快速数据传输的利器

    (꒪ꇴ꒪ ),Hello我是 祐言QAQ 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍 快上🚘,一起学习,让我们成为一个强大的攻城狮! 送给自己和读者的一句鸡汤🤔: 集中起来的意志可以击穿顽石! 作者水平很有限,如果发现错误,请在评论区指

    2024年02月09日
    浏览(51)
  • 【云上探索实验室】快速入门AI 编程助手 Amazon CodeWhisperer ——码上学堂领学员招募

    大语言模型(Large Language Model)是当下人工智能领域的热点话题之一,它代表着自然语言处理技术的新高度,而大语言模型也为我们提供了改变编程方式的可能性。大语言模型凭借其复杂的神经结构和参数,通过海量的数据训练能够模拟人类的语言理解和生成过程,具备上下

    2024年02月05日
    浏览(54)
  • [QT编程系列-41]:Qt QML与Qt widget 深入比较,快速了解它们的区别和应用场合

    目录 1. Qt QML与Qt widget之争 1.1 出现顺序 1.2 性能比较 1.3 应用应用领域 1.4 发展趋势 1.5 QT Creator兼容上述两种设计风格 2. 界面描述方式的差别 3. QML和Widgets之间的一些比较 4. 选择QML和Widgets之间的Qt技术时,可以考虑以下几个因素: 5 QT .ui 文件(XML格式) 6 Qt Quick 7. Qt Widgets可以

    2024年02月05日
    浏览(57)
  • 【AI应用】在VSCode中集成AI编程 ------CodeGeeX智能编程助手

    本专栏主要记录人工智能的应用方面的内容,包括chatGPT、AI绘图等等; 在当今AI的热潮下,不学习AI,就要被AI淘汰;所以欢迎小伙伴加入本专栏和我一起探索AI的应用,通过AI来帮助自己提升生产力; 订阅后可私聊我获取 《从零注册并登录使用ChatGPT》《从零开始使用chatGPT的

    2024年02月04日
    浏览(44)
  • Amazon CodeWhisperer:AI 编程助手

    文章作者:prigioni 1. 什么是 Amazon CodeWhisperer? Amazon CodeWhisperer 能够理解以自然语言(英语)编写的注释,并能实时生成多条代码建议,以此提高开发人员生产力。该服务可以直接在集成开发环境(IDE)的代码编辑器中给出关于整个功能和逻辑代码块(通常包含多达 10-15 行代

    2024年02月03日
    浏览(54)
  • ChatGPT编程:让AI成为你的编程助手

    ChatGPT无限次数: 点击直达 html 作为一名有着10年经验的CSDN网站原创文章优质创作者,我对最新的技术趋势一直保持着敏锐的关注。最近,随着人工智能技术的不断发展,ChatGPT作为一种基于大型预训练语言模型的对话AI,在编程领域中展现出了强大的应用潜力。 ChatGPT是由Open

    2024年04月16日
    浏览(41)
  • 深入了解云原生:定义与特征解析

    (1)云原生定义 云原生(Cloud Native) 是一种软件架构和开发方法论,旨在充分利用云计算环境的优势,使应用程序更具有弹性、可伸缩性、可靠性和效率。其中,“Cloud Native” 应用程序通常采用微服务架构,使用容器技术进行部署,倡导自动化运维和持续集成/持续部署。整个设

    2024年02月04日
    浏览(43)
  • 【人工智能】之深入理解 AI Agent:超越代码的智能助手(2)

    人工智能(AI)正在以前所未有的速度迅猛发展,而AI Agent(智能代理)则是这一领域中备受瞩目的一环。 AI Agent 不仅仅是程序的执行者,更是能够感知、学习和交互的智能实体。本文将深入探讨什么是 AI Agent ,以及这一概念在当今科技领域中的重要性。 AI Agent 是指一种能够

    2024年01月19日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包