部署DeepSeek模型,进群交流最in玩法!
立即加群
发布
社区首页 >专栏 >VSCode腾讯云代码助手tencent:deepseek-r1上手体验

VSCode腾讯云代码助手tencent:deepseek-r1上手体验

原创
作者头像
coffee1
修改2025-02-28 17:29:29
修改2025-02-28 17:29:29
1312
举报

在Vscode安装腾讯云代码助手插件并升级到最新版本,在对话输入框下方选择模型tencent:deepseek-r1,

发起对话,从3个方面考考腾讯云代码助手tencent:deepseek-r1

1.首先使用经典问题考验一下

how many 'r' in strawberry?

回答如下图

可以看出答案是对的,是3个

但是存在一些问题,中间的思考过程过于冗长, AI多次重复判断思考过程出现错误

而且分解说明那里标注错误,标出了4个r,而且对应位置不对

说明思考过程仍然存在优化空间

2.用Python写一个方法,实现冒泡排序

仍然有一个比较长的思考过程,

最后生成的代码如下:

def bubble_sort(arr):

"""

实现冒泡排序算法,返回升序排列的新列表

时间复杂度:O(n²)(最坏情况),优化后最佳情况可达 O(n)

参数:

arr (list): 需要排序的原始列表

返回:

list: 升序排列的新列表,原始列表不会被修改

"""

# 创建副本避免修改原始列表

sorted_arr = arr.copy()

n = len(sorted_arr)

# 外层循环控制遍历轮次

for i in range(n - 1):

swapped = False # 优化标志位

# 内层循环进行元素比较,每轮减少一个末尾已排序元素

for j in range(n - 1 - i):

if sorted_arr[j] > sorted_arr[j + 1]:

# 交换相邻元素

sorted_arr[j], sorted_arr[j + 1] = sorted_arr[j + 1], sorted_arr[j]

swapped = True

# 如果本轮无交换,说明已完全有序,提前终止

if not swapped:

break

return sorted_arr

# 使用示例

if __name__ == "__main__":

test_cases = [

[5, 3, 8, 6, 2],

[1],

[],

[9, 8, 7, 6],

[2, 5, 5, 3, 1]

]

for case in test_cases:

print(f"原始列表: {case}")

print(f"排序结果: {bubble_sort(case)}\n")

复制到IDE中,可以直接运行出排序结果,没有报错

运行结果:

原始列表: [5, 3, 8, 6, 2]

排序结果: [2, 3, 5, 6, 8]

原始列表: [1]

排序结果: [1]

原始列表: []

排序结果: []

原始列表: [9, 8, 7, 6]

排序结果: [6, 7, 8, 9]

原始列表: [2, 5, 5, 3, 1]

排序结果: [1, 2, 3, 5, 5]

[Finished in 875ms]

可以看出,在代码生成这一块,tencent:deepseek-r1生成的结果不错,只是思考过程还是比较长

3.代码解释、代码评审

(1)代码解释

在IDE中,选中代码,点击右键--腾讯云AI代码助手--Explain code,

这里给出一部分结果

代码解释比较详细,把一段代码进行了拆分,作了比较细致的分析。

(2)代码评审

在IDE中,选中代码,点击右键--腾讯云AI代码助手--Code review

代码没有问题的时候,会看到这个结果

修改一下代码,把上述排序代码中的j+1改成j-1,看能不能检测出来

创建文件test2.py,使用代码

def bubble_sort(arr):

"""

    实现冒泡排序算法,返回升序排列的新列表

    时间复杂度:O(n²)(最坏情况),优化后最佳情况可达 O(n)

    参数:

    arr (list): 需要排序的原始列表

    返回:

    list: 升序排列的新列表,原始列表不会被修改

    """

# 创建副本避免修改原始列表

    sorted_arr = arr.copy()

    n = len(sorted_arr)

# 外层循环控制遍历轮次

for i in range(n - 1):

        swapped = False # 优化标志位

# 内层循环进行元素比较,每轮减少一个末尾已排序元素

for j in range(n - 1 - i):

if sorted_arr[j] > sorted_arr[j - 1]:

# 交换相邻元素

                sorted_arr[j], sorted_arr[j - 1] = sorted_arr[j - 1], sorted_arr[j]

                swapped = True

# 如果本轮无交换,说明已完全有序,提前终止

if not swapped:

break

return sorted_arr

# 使用示例

if __name__ == "__main__":

    test_cases = [

        [5, 3, 8, 6, 2],

        [1],

        [],

        [9, 8, 7, 6],

        [2, 5, 5, 3, 1]

    ]

for case in test_cases:

print(f"原始列表: {case}")

print(f"排序结果: {bubble_sort(case)}\n")

查看代码评审结果

多次尝试之后的结果:

结论:

接入Deekseek-R1后的腾讯云代码助手存在一个通用问题,就是思考链路较长,思考过程比较久

面对AI通用的一些问题,可能出现错误

在代码生成、代码解释方面表现优秀

代码评审存在一些问题,但是可以正确出结果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档