【项目实训#09】智能代码文件助手模式前后端设计与实现

【项目实训#09】智能代码文件助手模式前后端设计与实现

文章目录

  • 【项目实训#09】智能代码文件助手模式前后端设计与实现
    • 一、背景简介
    • 二、技术方案与架构设计
      • 2.1 整体架构
      • 2.2 前端技术选型
      • 2.3 后端技术选型
    • 三、前端代码替换服务实现
      • 3.1 代码替换服务设计
      • 3.2 处理生成的代码
      • 3.3 查找匹配行
      • 3.4 应用代码变更
      • 3.5 处理文件变更
    • 四、前端代码服务实现
      • 4.1 代码服务设计
      • 4.2 接口定义
      • 4.3 代码助手请求实现
    • 五、后端代码助手API实现
      • 5.1 代码助手API设计
      • 5.2 提示词设计
      • 5.3 获取代码助手提示词
      • 5.4 代码助手API实现
    • 六、前端UI组件实现
      • 6.1 输出面板组件设计
      • 6.2 文件选择区实现
      • 6.3 文件修改建议展示
      • 6.4 应用所有修改功能
    • 七、实际应用效果
      • 7.1 使用场景示例
      • 7.2 实际案例分析
    • 八、总结与展望

一、背景简介

在HarmonySmartCoding项目中,为了提高开发者的编码效率,我负责设计和实现了一个"智能代码文件助手"功能。该功能不同于传统的代码补全或生成,它能够理解整个项目的文件结构和代码上下文,并提供针对性的代码修改建议,包括修改现有文件、创建新文件等操作。本文将详细介绍智能代码文件助手的设计思路、技术方案和实现细节。

二、技术方案与架构设计

2.1 整体架构

智能代码文件助手采用前后端分离的架构设计,主要包括以下组件:

  1. 前端代码替换服务:负责解析AI生成的代码修改建议,并应用到实际文件中
  2. 前端代码服务:负责与后端API通信,发送用户需求和上下文文件
  3. 前端UI组件:包括输入区、文件选择区、结果展示区等
  4. 后端代码助手API:接收用户需求和上下文文件,调用大语言模型生成修改建议

这种架构设计使得系统具有良好的可扩展性和可维护性,能够适应不同的代码修改场景和需求。系统各组件之间通过明确定义的接口进行交互,确保了模块间的低耦合性,便于后续的维护和扩展。

2.2 前端技术选型

前端智能代码文件助手的技术选型如下:

  1. Vue.js:用于构建响应式的用户界面
  2. TypeScript:提供类型安全和更好的开发体验
  3. Axios:用于处理前后端通信
  4. 正则表达式:用于解析代码修改建议中的文件路径和内容

选择Vue.js作为前端框架是考虑到其组件化开发方式和响应式数据绑定特性,特别适合构建复杂的交互界面。TypeScript的引入则大大提高了代码的可维护性和可靠性,通过静态类型检查避免了许多潜在的运行时错误。

2.3 后端技术选型

后端代码助手API的技术选型如下:

  1. Flask:用于构建RESTful API接口
  2. DeepSeek API:用于调用大语言模型生成代码修改建议
  3. 正则表达式:用于处理和清理模型返回的结果

选择轻量级的Flask框架是为了快速开发和部署API服务,它提供了足够的灵活性来满足我们的需求。而DeepSeek API则是我们选择的大语言模型服务,它能够理解自然语言描述的需求,并生成相应的代码修改建议。

三、前端代码替换服务实现

3.1 代码替换服务设计

代码替换服务(codeReplaceService.ts)是智能代码文件助手的核心组件,负责解析AI生成的代码修改建议,并应用到实际文件中。主要功能包括:

  1. 处理生成的代码:移除注释标记,提取有效代码
  2. 查找匹配行:在源代码中查找与修改建议匹配的位置
  3. 应用代码变更:将修改建议应用到源代码中
  4. 处理文件变更:创建、修改或删除文件

代码替换服务的难点在于准确定位源代码中需要修改的位置,并正确应用修改建议。为了解决这个问题,我设计了一套基于上下文匹配的算法,能够准确识别代码中需要修改的部分,并保留原有代码的格式和风格。

3.2 处理生成的代码

AI生成的代码通常包含"// … existing code …"这样的注释标记,用于指示保留原有代码的位置。因此,我们需要解析这些标记,提取出实际需要修改的代码部分:

// 处理生成的代码 - 移除注释标记
export const processGeneratedCode = (code: string): string => {// 移除"// ... existing code ..."注释行return code.split('\n').filter(line => !line.trim().startsWith('// ... existing code ...')).join('\n');
};

这个函数的作用是移除AI生成代码中的"// … existing code …"注释行,只保留实际需要修改或新增的代码。这样处理后的代码才能正确地应用到源文件中。

3.3 查找匹配行

为了准确定位需要修改的代码位置,我们需要在源代码中查找与修改建议匹配的位置。这里采用了一种忽略空格的匹配算法,能够在保留原始格式的同时找到匹配的代码行:

// 代码匹配算法的简化示例
export const findMatchingLines = (sourceLines: string[], searchLines: string[]): number[] => {// 代码实现省略...// 核心原理是在源代码中查找与搜索行匹配的位置// 返回匹配位置的行号数组
};

匹配算法的核心思想是将源代码和搜索代码按行分割,然后逐行比较(忽略空格),找出所有可能的匹配位置。这种方法能够处理代码格式不完全一致的情况,提高匹配的准确性。

3.4 应用代码变更

应用代码变更是最复杂的部分,需要处理多种情况,如文件开头修改、文件结尾修改、中间部分修改等。实现思路如下:

  1. 将AI生成的代码按"// … existing code …"标记分割成多个代码段
  2. 处理特殊情况(文件开头、文件结尾等)
  3. 对每对相邻代码段,查找它们在源代码中的位置,并应用修改

这里的关键是准确理解AI的修改意图,特别是对于大型文件,如何正确定位和应用修改非常重要。我们的算法通过上下文匹配和特殊情况处理,能够处理绝大多数常见的代码修改场景。

3.5 处理文件变更

除了修改现有文件,智能代码文件助手还支持创建新文件、修改现有文件等操作:

// 文件变更处理的核心逻辑(简化版)
export const handleFileChange = async (change, fileSystemService, callbacks) => {// 检查文件是否存在const fileExists = await fileSystemService.fileExists(change.filePath);if (fileExists) {// 修改现有文件const currentContent = await callbacks.openFile(change.filePath);const newContent = applyCodeChanges(currentContent, change.newCode);await callbacks.saveFile(change.filePath, newContent);} else {// 创建新文件const directoryPath = extractDirectoryPath(change.filePath);const fileName = extractFileName(change.filePath);await callbacks.createFile(directoryPath, fileName, change.newCode);}// 刷新文件树并打开修改后的文件
};

这个函数处理了文件变更的全流程,包括检查文件存在性、读取当前内容、应用代码变更、保存修改后的内容、刷新文件树等。对于新文件,则直接创建并保存内容。通过这种方式,我们实现了对文件系统的完整支持。

四、前端代码服务实现

4.1 代码服务设计

代码服务(codeService.ts)是前端与后端API通信的桥梁,负责发送用户需求和上下文文件,并接收和处理后端返回的代码修改建议。

代码服务的设计理念是将通信细节封装在服务层,为上层UI组件提供简洁的接口。这样,UI组件只需关注用户交互和展示逻辑,不需要了解API通信的具体实现。同时,通过定义清晰的接口,使得代码服务可以方便地替换或升级通信方式,如从HTTP改为WebSocket,而不影响上层逻辑。

4.2 接口定义

代码服务定义了与后端API通信的数据结构,包括请求和响应的格式:

interface CodeAssistantRequest {prompt: string;language: string;apiVersion: string;selectedFiles?: {name: string;path: string;content: string;}[];
}interface CodeGenerationResponse {code: string;suggestions?: string[];
}

这些接口定义了代码助手请求的数据结构,包括用户提示、编程语言、API版本、选中的文件列表等信息。响应则包含生成的代码和建议列表。通过这种明确的接口定义,前后端可以有效协作,减少沟通成本。

4.3 代码助手请求实现

代码助手请求的核心是将用户需求和上下文文件发送给后端API,并处理返回的响应:

// 代码助手请求实现(简化版)
static async generateCodeAssistant(request: CodeAssistantRequest): Promise<CodeGenerationResponse> {try {// 发送请求到后端APIconst response = await axios.post(`${this.apiUrl}/code_assistant`, request);return {code: response.data.result || '',suggestions: response.data.suggestions};} catch (error) {// 处理请求失败的情况,返回友好的错误消息// ...}
}

这个函数封装了与后端API的通信逻辑,处理了请求成功和失败的不同情况。在请求失败时,我们还提供了友好的错误处理和备用方案,确保用户体验的连续性。

五、后端代码助手API实现

5.1 代码助手API设计

后端代码助手API(app.py)是智能代码文件助手的服务端实现,负责接收用户需求和上下文文件,调用大语言模型生成代码修改建议。

后端API的设计理念是"薄后端",即将复杂的处理逻辑留给前端或模型,后端主要负责请求转发、提示词构建和结果处理。这种设计使得后端代码简洁高效,便于部署和维护。

5.2 提示词设计

提示词设计是智能代码文件助手的关键部分,它直接影响了AI生成代码的质量和格式。我们设计了一套结构化的提示词模板,引导大语言模型生成符合预期格式的代码修改建议。

我们的提示词设计遵循以下几个关键原则:

  1. 明确角色定位:明确告诉模型它是一个"代码助手",帮助模型理解其职责范围
  2. 结构化输出格式:详细描述期望的输出格式,包括修改思路说明和代码块格式
  3. 上下文保留:要求模型在修改代码时保留足够的上下文(前后至少10行代码),以便准确定位修改位置
  4. 边界处理说明:明确指出文件开头和结尾的特殊处理方式,避免格式错误
  5. 示例说明:提供具体示例,帮助模型理解预期的输出格式

通过多次迭代优化提示词设计,我们显著提高了AI生成代码的质量和可用性,减少了格式错误和解析失败的情况。

5.3 获取代码助手提示词

提示词构建是后端API的关键部分,它决定了生成结果的质量和相关性:

# 提示词构建函数(简化版)
def get_code_assistant_prompt(user_input, language='', api_version='', selected_files=None):# 读取提示词模板prompt_template = read_prompt_template()# 添加选中的文件内容selected_files_str = format_selected_files(selected_files)# 组合最终提示词final_prompt = f"{prompt_template}\n\n用户需求: {user_input} {selected_files_str}"return final_prompt

提示词构建的核心是将用户需求和上下文文件组合成一个结构化的提示,这样大语言模型才能生成符合用户需求的代码修改建议。通过使用提示词模板,我们可以引导模型生成满足特定格式要求的响应,如代码段、文件路径等。

5.4 代码助手API实现

代码助手API的实现是后端服务的核心,它处理前端请求,调用大语言模型,并处理和返回结果:

# 代码助手API实现(简化版)
@app.route('/api/code_assistant', methods=['POST'])
def code_assistant():# 获取请求数据data = request.get_json()prompt = data.get('prompt', '')# ...try:# 构建提示词assistant_prompt = get_code_assistant_prompt(prompt, language, api_version, selected_files)# 调用DeepSeek客户端messages = [{"role": "user", "content": assistant_prompt}]result = ds_client.chat_completion(messages, temperature=0.7)# 移除思考标签result = remove_think_tags(result)# 保存请求历史db = get_db()db.save_snippet(f"智能助手: {prompt[:30]}", result, "assistant")return jsonify({'result': result})except Exception as e:# 处理异常情况# ...

这个API实现了请求处理、提示词构建、模型调用和结果处理的完整流程。特别注意的是,我们还实现了"移除思考标签"的功能,这是因为DeepSeek等大模型可能会在输出中包含思考过程的标签,我们需要将这些内容过滤掉,只保留最终的代码修改建议。

六、前端UI组件实现

6.1 输出面板组件设计

输出面板组件(OutputPanel.vue)是智能代码文件助手的用户界面,设计理念是简洁易用、功能完整。主要功能区域包括:

  1. 用户输入区:采用可扩展的文本输入框,支持多行输入
  2. 文件选择区:直观的文件选择交互,支持添加和删除文件
  3. 结果展示区:使用语法高亮显示代码修改建议
  4. 操作区:提供应用、忽略等操作按钮

UI设计采用了卡片式布局,各功能区域清晰分隔,使用户能够方便地浏览和操作。同时,我们也注重视觉反馈,如按钮状态变化、操作成功提示等,提升用户体验。

6.2 文件选择区实现

文件选择区是用户添加上下文文件的界面,它允许用户选择与需求相关的文件,帮助AI更好地理解代码上下文:

<!-- 文件选择区域代码(简化版) -->
<div class="file-selector-area"><div class="file-selector-header"><!-- 标题和添加按钮 --></div><div class="selected-files-list"><!-- 已选择文件列表 --></div>
</div>

文件选择区采用了简洁直观的设计,包括文件列表和操作按钮。用户可以方便地添加和删除文件,查看已选择的文件列表。这种设计使用户能够快速提供上下文信息,提高AI生成结果的质量。

6.3 文件修改建议展示

文件修改建议展示区是智能代码文件助手的核心输出部分,它以直观的方式展示AI生成的代码修改建议:

<!-- 文件修改建议展示区(简化版) -->
<div class="file-changes-container"><div class="file-changes-list"><!-- 遍历所有文件修改建议 --><div v-for="change in parsedFileChanges" class="file-change-item"><!-- 文件路径和操作按钮 --><!-- 代码预览(使用语法高亮) --></div></div>
</div>

修改建议展示区的设计重点是清晰展示每个文件的修改内容,并提供直观的操作方式。我们使用语法高亮来增强代码的可读性,并提供应用和忽略按钮让用户快速决策。这种设计使用户能够轻松理解和操作AI生成的修改建议。

6.4 应用所有修改功能

为了提高操作效率,我们还提供了"应用所有更改"功能,允许用户一键应用所有修改建议:

<!-- 应用所有更改按钮(简化版) -->
<div class="global-file-changes-footer"><button class="apply-all-btn" @click="applyAllChanges"><i class="fas fa-check-double"></i> 应用所有更改</button>
</div>

这个功能特别适合于修改较多且用户已经确认的场景,可以大大提高操作效率。当然,为了防止误操作,我们在实现时也添加了相应的确认机制。

七、实际应用效果

7.1 使用场景示例

智能代码文件助手适用于以下场景:

  1. 添加新功能:根据用户需求描述,生成新功能的代码实现
  2. 修复现有问题:根据错误描述和相关文件,生成修复方案
  3. 重构代码:根据重构需求,生成优化后的代码结构
  4. 创建新组件:根据组件需求,生成完整的组件代码

在这些场景中,智能代码文件助手能够显著提升开发效率,减少手动编码的工作量。尤其对于一些重复性高的任务,如样板代码生成、常规功能实现等,效果更为明显。

7.2 实际案例分析

以"添加按钮点击事件"为例,智能代码文件助手的工作流程如下:

  1. 用户输入需求:“添加按钮点击事件,并在点击时显示一个弹窗”
  2. 选择相关文件:选择包含按钮组件的文件
  3. 生成修改建议:AI分析需求和文件内容,生成修改建议
  4. 预览修改:用户查看修改建议的预览效果
  5. 应用修改:用户确认并应用修改到实际文件中

在这个例子中,AI不仅能够在正确的位置添加点击事件处理函数,还能够根据项目中已有的弹窗组件或库,生成符合项目风格的弹窗代码。这种上下文感知的能力,使得生成的代码更加符合项目的整体风格和架构。

八、总结与展望

通过本次项目实践,我成功实现了一个完整的智能代码文件助手功能,包括前端代码替换服务、代码服务和后端代码助手API。该功能能够帮助开发者更高效地实现代码修改和功能开发,提高开发效率和代码质量。

在技术上,我深入学习了代码解析、代码替换、大语言模型应用等技术,并将这些技术应用到实际项目中。特别是在代码上下文理解和智能修改建议生成方面,探索了AI辅助编程的新方向,为智能开发工具的未来发展提供了有益的参考。

未来,我计划在以下方面进一步完善智能代码文件助手:

  1. 多文件关联分析:增强对多文件之间依赖关系的理解和处理能力
  2. 代码质量评估:在生成代码修改建议时,考虑代码质量和最佳实践
  3. 增量学习能力:根据用户的接受或拒绝反馈,不断优化代码生成模型
  4. 更精细的代码替换:支持更复杂的代码替换场景,如重构、优化等

通过这些改进,智能代码文件助手将成为HarmonyOS开发者更加强大和智能的编程助手,进一步提升开发体验和效率。

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

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

相关文章

JAVA-springboot 异常处理

SpringBoot从入门到精通-第10章 异常处理 一、异常简介 传统的Java程序都是由try-catch语句捕捉异常&#xff0c;而Spring Boot项目采用了全局异常类的概念------所有方法均将异常抛出&#xff0c;并且专门安排一个类统一拦截并处理这些异常。这样做的好处是可以把异常处理的…

VIC-3D应用指南系列之:DIC数字图像相关技术与热成像(VIC-3D IR System助力热载荷测试)

本篇文章详细讲述了利用VIC-3D 10将数字图像相关DIC数据与红外相机热成像的温度数据相结合的操作流程。核心步骤包括&#xff1a; 相机选型与系统搭建 测试环境配置 VIC-Snap参数设置 双系统标定&#xff08;DIC与红外&#xff09; 外部参数计算 测试图像采集 红外…

adoc(asciidoc)转为markdown的方法,把.adoc文件转换为markdown格式

要将.adoc文件转换为markdown格式&#xff0c;可以按照以下步骤操作&#xff1a; 安装必要工具&#xff1a; sudo apt install pandoc asciidoc转换流程&#xff1a; 先将asciidoc转换为docbook格式&#xff1a; asciidoc -b docbook foo.adoc然后将docbook转换为markdown&…

2022mpsPTE岗位笔试题

2022年9月完成了PTE岗位的笔试&#xff0c;并通过了。浅浅的还有一点印象&#xff0c;之前有朋友也想来&#xff0c;就放在这里&#xff0c;供需要的朋友看。 前两个题是关于C语言的。 语言不限&#xff0c;C也可。 一个是输出2到100偶数之和&#xff0c;主要就是调用for循环。…

使用Cursor + Devbox + Uniapp 一站式AI编程开发移动端(App、H5、小程序)

文章目录 前言&#x1f4d6;一、工具介绍&#x1f6e0;️1. Cursor&#xff1a;AI驱动的智能代码编辑器2. Devbox&#xff1a;可复现的开发环境管理3. Uniapp&#xff1a;跨平台应用开发框架 二、环境配置与集成&#x1f52e;1. 安装与配置Devbox2. 配置Cursor连接Devbox环境3.…

[智能客服project] AI提示词配置 | 主协调器 | 闲鱼协议工具

第五章&#xff1a;AI提示词配置 欢迎回来&#xff01; 在第四章&#xff1a;意图路由器中&#xff0c;我们了解了机器人如何通过IntentRouter确定由哪个专家代理&#xff08;如PriceAgent或TechAgent&#xff09;处理用户消息。 但代理被选定后&#xff0c;如何知道该说什么…

CMake 构建系统概述

关键要点 研究表明&#xff0c;CMake 是一种强大的跨平台构建系统&#xff0c;广泛用于 C 项目。证据倾向于认为&#xff0c;CMake 通过生成本地构建文件&#xff08;如 Makefile、Visual Studio 项目&#xff09;简化软件构建。它似乎可能支持多种平台&#xff0c;包括 Windo…

如何顺利将电话号码转移到新iPhone?

当您升级到新 iPhone 时&#xff0c;您需要做的第一件事就是转移您的电话号码。幸运的是&#xff0c;以目前的技术&#xff0c;很容易解决如何将电话号码转移到新iPhone上。此外&#xff0c;传输过程也得到了简化。您可以轻松地将旧手机更换为新 iPhone&#xff0c;而不会丢失任…

java面试总结-20250609

DDD领域设计模型怎么理解&#xff1f; mysql和mongoDB分别适用于哪些业务场景&#xff1f; 查询的场景&#xff0c;数量级的差异&#xff1f; mongodb为什么用B树&#xff1f;用的什么数据引擎&#xff0c;部署方式使用什么模式&#xff0c;分片分了多少片&#xff0c;路由方…

使用GpuGeek训练图像分类器:从入门到精通

引言 在当今人工智能蓬勃发展的时代&#xff0c;图像分类作为计算机视觉的基础任务之一&#xff0c;已经广泛应用于医疗诊断、自动驾驶、安防监控等诸多领域。然而&#xff0c;对于许多初学者和中小型企业来说&#xff0c;构建一个高效的图像分类系统仍然面临诸多挑战&#xf…

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …

2025年渗透测试面试题总结-字节跳动[实习]安全研发员(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 字节跳动[实习]安全研发员 1. 攻防演练中得意经历 2. 安全领域擅长方向 3. 代码审计语言偏向 4. CSRF修复…

Springboot短视频推荐系统b9wc1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,视频分类,视频信息 开题报告内容&#xff1a; 基于Spring Boot的短视频推荐系统开题报告 一、研究背景与意义 随着移动互联网的普及和短视频行业的爆发式增长&#xff0c;用户日均观看短视频时长已突破2小时&#xff0c;但海量内…

使用联邦学习进行CIFAR-10分类任务

在深度学习领域,图像分类任务是一个经典的应用,而CIFAR-10数据集则是图像分类研究中的重要基准数据集之一。该数据集包含10类不同的图像,每类有6,000个32x32像素的彩色图像,共计60,000个图像。在传统的集中式学习中,所有数据都被集中到一个服务器上进行训练。然而,随着数…

【Linux网络编程】基于udp套接字实现的网络通信

目录 一、实现目标&#xff1a; 二、实验步骤&#xff1a; 1、服务端代码解析&#xff1a; Init()&#xff1a; Run()&#xff1a; 2、客户端代码&#xff1a; 主函数逻辑&#xff1a; send_message发送数据&#xff1a; recv_message接收数据&#xff1a; 三、实验结…

2025年想冲网安方向,该考华为安全HCIE还是CISSP?

打算2025年往网络安全方向转&#xff0c;现在考证是不是来得及&#xff1f;考啥证&#xff1f; 说实话&#xff0c;网络安全这几年热得发烫&#xff0c;但热归热&#xff0c;入门门槛也不低&#xff0c;想进这个赛道&#xff0c;技术、项目经验、证书&#xff0c;缺一不可。 …

【系统架构设计师-2025上半年真题】综合知识-参考答案及部分详解(回忆版)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20~21题】【第…

「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(一)

在本文中&#xff0c;您可以找到有关WEB项目的信息。将了解&#xff1a; Web项目结构和参数Web开发生产力工具JSP代码完成和验证 这些特性在MyEclipse中可用。 MyEclipse v2025.1离线版下载 一、Web项目结构 用最简单的术语来说&#xff0c;MyEclipse Web项目是一个Eclips…

Elasticsearch:使用 ES|QL 进行地理空间距离搜索

作者&#xff1a;来自 Elastic Craig Taverner 在 Elasticsearch 查询语言&#xff08;ES|QL&#xff09;中探索地理空间距离搜索&#xff0c;这是 Elasticsearch 地理空间搜索中最受欢迎和最有用的功能之一&#xff0c;也是 ES|QL 中的重要特性。 想获得 Elastic 认证吗&#…

列举开源的模型和推理框架

当然可以&#xff01;下面是一个系统性的列表&#xff0c;按 开源大模型&#xff08;LLM&#xff09; 和 推理框架 两大类列出&#xff0c;并配上简要说明。 &#x1f9e0; 一、开源大语言模型&#xff08;LLMs&#xff09; 名称发布者语言能力模型大小特点LLaMA 2 / 3Meta英文…