腾讯云AI代码助手编程挑战赛-智能聊天助手

作品简介

本作品开发于腾讯云 AI 代码助手编程挑战赛,旨在体验腾讯云 AI 代码助手在项目开发中的助力。通过这一开发过程,体验到了 AI 辅助编程的高效性。

技术架构

前端: 使用 VUE3、TypeScript、TDesign 和 ElementUI 实现。
后端: 基于 Python 开发,集成了智谱大模型的 API,涵盖语言处理、图像理解和视频生成能力。

实现过程

开发过程

我想做的就是一个可以通过对话就可以满足用户所有需求的聊天工具,页面上不需要有多余的操作。目前可以分析用户的图片分析意图和视频生成意图,后续还可以加入一些联网的功能,比如搜索车次信息,天气信息等…

  1. 后端服务
    开发工具: PyCharm。
    大模型支持: 使用智谱的大语言模型、图像理解模型和视频生成模型。
    服务接口:
    流式对话接口: 支持实时返回普通对话结果。
    普通对话接口: 支持普通对话并一次性返回响应结果,同时支持图片理解和视频生成功能。用户可以上传图片并结合描述需求生成相应的结果。
  2. 前端开发
    开发工具: VSCode。
    前端页面:
    流式对话菜单: 基于 TDesign 组件构建,实现实时聊天页面功能。
    多模态对话菜单: 使用 ElementUI 实现,与流式对话菜单相比,增加了图片上传功能,支持结合图片和用户需求生成结果。

关键技术解析

  1. 生成消息类型判断:
  • 前端未加入返回消息类型的判断逻辑,服务端需要根据用户提问分析响应类型。
  • 解决方案: 单独调用一次语言模型,并基于 LangGPT 架构编写系统 prompt,从而精准判断调用的模型及其返回结果。
  1. 上传图片判断:
  • 用户问题可能无法直接体现与图片相关的意图。
  • 解决方案: 若检测到用户上传图片,服务端会自动拼接字段 “已上传图片”,帮助模型更准确地识别用户需求。
  1. 流式响应结果:
  • 服务端需循环返回响应内容,前端则动态接收并实时拼接展示,确保流畅的用户体验。

腾讯云AI代码助手的助力

背景
本人对 Python 不够熟练,TDesign 组件也是首次使用,开发中时常遇到想法难以实现的问题。
腾讯云 AI 代码助手在以下方面提供了显著帮助:

  1. 解决编码问题与提升效率:

例如: 开发时需要为所有工具方法创建一个 ZhipuAI 客户端实例,但不清楚如何实现单例模式。AI 助手提供了解决方案,将实例提取到公共方法中。

  1. 初始化与优化代码:

创建新页面时,可以通过描述需求让 AI 助手自动生成初始代码。生成后,再描述不足,助手会优化代码直至满足需求。

  1. 代码优化:

编写完成的代码可以交给 AI 助手进一步优化,挖掘潜在问题并完善实现。

  1. 编写代码注释:

我开发不太喜欢写注释,通过助手就可以帮我快速生成注释,甚至比我自己写的更详细,如果有不足也可以自己再进行优化。

  1. 生成单元测试:

因为python本身就不是很熟悉,单元测试就更不熟了,后端的单元测试是直接全部扔给AI助手生成的,减少了我很多开发时间。

  1. 生成readme文件

可以根据前后端文件内容生成readme文件。

使用说明/效果展示

流式对话

  • 在输入框中输入信息并按下 Enter,后台服务会实时响应消息。
  • 用户可随时点击中止按钮终止消息的返回。
    在这里插入图片描述

多模态对话

  • 支持一次性响应对话消息。
  • 用户可点击上传按钮上传图片,并结合描述信息生成响应结果。
    在这里插入图片描述
  • 在输入框中输入需求,可生成与需求相关的视频。
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Data Elasticsearch简介

一、Spring Data Elasticsearch简介 1 SpringData ElasticSearch简介 Elasticsearch是一个实时的分布式搜索和分析引擎。它底层封装了Lucene框架,可以提供分布式多用户的全文搜索服务。 Spring Data ElasticSearch是SpringData技术对ElasticSearch原生API封装之后的产物,它通…

STM32之LWIP网络通讯设计-下(十五)

STM32F407 系列文章 - ETH-LWIP(十五) 目录 前言 一、软件设计 二、CubeMX实现 1.配置前准备 2.CubeMX配置 1.ETH模块配置 2.时钟模块配置 3.中断模块配置 4.RCC及SYS配置 5.LWIP模块配置 3.生成代码 1.main文件 2.用户层源文件 3.用户层头…

AI浪潮下的IT变革之路:机遇、挑战与重塑未来

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 AI浪…

Edge浏览器网页设置深色模式/暗模式

文章目录 需求分析1. 浏览器中的设置——外观——深色。2. 在Edge浏览器的地址栏如下网址:edge://flags/,直接搜索Dark则有内容弹出,将Default更改为Enable即可设置成功。3. 成果 需求 长期对着电脑屏幕,白色实在太刺眼&#xff…

Type-C双屏显示器方案

在数字化时代,高效的信息处理和视觉体验已成为我们日常生活和工作的关键需求。随着科技的进步,一款结合了便携性和高效视觉输出的设备——双屏便携屏,逐渐崭露头角,成为追求高效工作和娱乐体验人群的新宠。本文将深入探讨双屏便携…

Redis 优化秒杀(异步秒杀)

目录 为什么需要异步秒杀 异步优化的核心逻辑是什么? 阻塞队列的特点是什么? Lua脚本在这里的作用是什么? 异步调用创建订单的具体逻辑是什么? 为什么要用代理对象proxy调用createVoucherOrder方法? 对于代码的详细…

机器学习基础-机器学习的常用学习方法

目录 半监督学习的概念 规则学习的概念 基本概念 机器学习里的规则 逻辑规则 规则集 充分性与必要性 冲突消解 命题逻辑 → 命题规则 序贯覆盖 单条规则学习 剪枝优化 强化学习的概念 1. 强化学习对应了四元组 2. 强化学习的目标 强化学习常用马尔可夫决策过程…

国产3D CAD将逐步取代国外软件

在工业软件的关键领域,计算机辅助设计(CAD)软件对于制造业的重要性不言而喻。近年来,国产 CAD 的发展态势迅猛,展现出巨大的潜力与机遇,正逐步改变着 CAD 市场长期由国外软件主导的格局。 国产CAD发展现状 …

【机器学习】农业 4.0 背后的智慧引擎:机器学习助力精准农事决策

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 在当今数字化浪潮汹涌澎湃之际,农业领域正经历着一场前所未有的深刻变革,大踏步迈向农业 4.0时代。这一时代…

使用Docker模拟PX4固件的无人机用于辅助地面站开发

前言 最近在制作鸿蒙无人机地面站,模仿的是QGroundControl,协议使用mavlink,记录一下本地模拟mavlink协议通过tcp/udp发送 废话不多说直接上命令 1.启动docker的桌面端 启动之后才能使用docker命令来创建容器 docker run --rm -it jonas…

C#调用OpenCvSharp实现图像的开运算和闭运算

对图像同时进行腐蚀和膨胀操作,顺序不同则效果也不同。先腐蚀后膨胀为开运算,能够消除小斑点和细小的突出物、平滑图像以及改善边缘;先膨胀后腐蚀为闭运算,能够去除噪点、填补图像孔洞、连接邻近物体和平滑物体边界。   OpenCvS…

整数和浮点数的存储

整数的存储 整数的存储分为有符号和无符号的整数的存储,整数2进制的表示方法有三种,分别是原码、反码、补码,内存中存储的是补码,反码可以理解为是一个中转站,原码就是直接将数值按照正负形式翻译成的二进制数字 有符…

<论文>时序大模型如何应用于金融领域?

一、摘要 本文介绍2024年的论文《Financial Fine-tuning a Large Time Series Model》,论文探索了主流的时间序列大模型在金融领域的微调应用实践,为时序大模型的领域微调提供了参考。 译文: 大型模型在自然语言处理、图像生成以及近期的时间…

【Linux】深入理解文件系统(超详细)

目录 一.磁盘 1-1 磁盘、服务器、机柜、机房 📌补充: 📌通常网络中用高低电平,磁盘中用磁化方向来表示。以下是具体说明: 📌如果有一块磁盘要进行销毁该怎么办? 1-2 磁盘存储结构 ​编辑…

UML系列之Rational Rose笔记七:状态图

一、新建状态图 依旧是新建statechart diagram; 二、工作台介绍 接着就是一个状态的开始:开始黑点依旧可以从左边进行拖动放置: 这就是状态的开始,和活动图泳道图是一样的;只能有一个开始,但是可以有多个…

快速上手 INFINI Console 的 TopN 指标功能

背景 在分布式搜索引擎系统(如 Easysearch、Elasticsearch 和 OpenSearch)中,性能监控至关重要。为了确保系统的高效运行和资源的合理分配,我们通常需要关注一段时间内关键资源的使用情况,特别是索引、节点和分片的内…

springboot vue uniapp 仿小红书 1:1 还原 (含源码演示)

线上预览: 移动端 http://8.146.211.120:8081/ 管理端 http://8.146.211.120:8088/ 小红书凭借优秀的产品体验 和超高人气 目前成为笔记类产品佼佼者 此项目将详细介绍如何使用Vue.js和Spring Boot 集合uniapp 开发一个仿小红书应用,凭借uniapp 可以在h5 小程序 app…

面向对象分析与设计Python版 分析与设计概述

文章目录 一、软件工程概述二、分析与设计概述三、领域模型 一、软件工程概述 高质量软件系统的基本要求 架构性内聚可重用性可维护性可扩展性灵活性 软件开发过程模型:是指根据软件开发项目从开始到结束的一系列步骤和方法,建模为不同的模型。常见的…

3D目标检测数据集——Waymo数据集

Waymo数据集簡介 发布首页:https://waymo.com/open/ 论文:https://openaccess.thecvf.com/content_CVPR_2020/papers/Sun_Scalability_in_Perception_for_Autonomous_Driving_Waymo_Open_Dataset_CVPR_2020_paper.pdf github:https://github.…

[笔记] 使用 Jenkins 实现 CI/CD :从 GitLab 拉取 Java 项目并部署至 Windows Server

随着软件开发节奏的加快,持续集成(CI)和持续部署(CD)已经成为确保软件质量和加速产品发布的不可或缺的部分。Jenkins作为一款广泛使用的开源自动化服务器,为开发者提供了一个强大的平台来实施这些实践。然而…