兰州网站建设lst0931wordpress 微信抓取

张小明 2025/12/31 11:33:20
兰州网站建设lst0931,wordpress 微信抓取,推广渠道有哪些平台,专业企业展馆展厅设计本文介绍了一个基于LangGraphDuckDBReActAgent架构的Excel问答助手系统。该系统能够将Excel文件自动映射为数据库表结构#xff0c;通过自然语言生成SQL查询并智能推荐可视化图表。采用会话隔离设计支持多用户并发#xff0c;使用DuckDB作为内存数据库实现高性能分析#xf…本文介绍了一个基于LangGraphDuckDBReActAgent架构的Excel问答助手系统。该系统能够将Excel文件自动映射为数据库表结构通过自然语言生成SQL查询并智能推荐可视化图表。采用会话隔离设计支持多用户并发使用DuckDB作为内存数据库实现高性能分析并通过LangGraph实现工作流编排。系统支持多文件、多Sheet的统一分析并提供流式响应和链路追踪功能使非技术人员也能通过自然语言进行复杂数据分析。基于 LangGraph DuckDB ReActAgent 的 Excel 问答助手unsetunset前言unsetunset在数据分析场景中Excel 文件是最常见的数据载体之一。但传统的 Excel 数据分析往往需要用户具备一定的技术能力比如熟悉公式、透视表或者 SQL 查询。能不能让用户用自然语言直接提问系统自动完成数据分析并给出可视化结果本文将详细介绍一个基于LangGraph DuckDB ReActAgent架构的 Excel 问答系统它能够支持多文件、多 Sheet 的统一分析自动将 Excel 数据映射为数据库表结构根据自然语言问题生成 SQL 查询智能推荐可视化图表类型实时流式返回思考过程和分析结果unsetunset 欢迎关注我的开源项目unsetunset 运行效果预览 如果您这个项目感兴趣欢迎「付费点赞」支持一下 下方点击「喜欢作者」金额随意心意无价。让我们在技术路上彼此赋能少走弯路高效落地付费后请务必添加我的微信微信号weber812并发送支付凭证我将第一时间拉您进入专属「技术支持群」。进群后您能获得哪些福利 完整代码具体请见下方说明unsetunset一、系统架构设计unsetunset1.1 整体架构整个系统采用LangGraph作为编排引擎将 Excel 问答流程拆解为多个节点每个节点负责特定的任务。用户问题 → Excel解析 → SQL生成 → SQL执行 → 结果总结 → 数据渲染节点名称功能描述输入输出excel_parsing解析 Excel 文件注册到 DuckDB文件列表表结构信息sql_generator根据问题生成 SQL 查询用户问题 表结构SQL 语句 图表类型sql_executor执行 SQL 查询SQL 语句查询结果summarize生成自然语言总结查询结果分析报告data_render渲染可视化图表查询结果 图表类型图表数据1.2 技术栈选型技术组件作用选型理由LangGraph工作流编排支持复杂的状态管理和条件分支便于构建 Agent 流程DuckDB内存数据库轻量级、支持 SQL、无需额外部署天然支持 Pandas 集成LangChainLLM 调用封装统一的 LLM 接口支持多种模型切换Pandas数据处理强大的 Excel 读取和数据清洗能力SQLGlotSQL 解析用于解析 SQL 语句提取表名、列名等信息Langfuse链路追踪记录每次对话的完整执行链路便于调试和优化1.3 核心设计理念会话隔离每个chat_id拥有独立的 DuckDB 实例避免多用户数据混淆。流式响应采用 SSEServer-Sent Events实时推送思考过程提升用户体验。智能推荐不仅生成 SQL还根据查询逻辑推荐最合适的图表类型折线图、柱状图、表格等。unsetunset二、核心模块详解unsetunset2.1 状态管理ExcelAgentStateLangGraph 的核心是状态流转。我们定义了ExcelAgentState来管理整个问答流程的状态class ExcelAgentState(TypedDict): user_query: str # 用户问题 file_list: list # 文件列表 chat_id: Optional[str] # 聊天ID会话隔离 file_metadata: Dict[str, FileInfo] # 文件元数据 sheet_metadata: Dict[str, SheetInfo] # Sheet元数据 db_info: list[dict] # 表结构信息 catalog_info: Dict[str, str] # Catalog映射 generated_sql: Optional[str] # 生成的SQL chart_url: Optional[str] # 图表URL chart_type: Optional[str] # 图表类型 apache_chart_data: Optional[Dict[str, Any]] # ECharts数据 execution_result: Optional[ExecutionResult] # SQL执行结果 report_summary: Optional[str] # 分析报告设计亮点使用TypedDict确保类型安全区分文件级元数据file_metadata和表级元数据sheet_metadata支持多 Catalog 管理每个文件对应一个独立的 Catalog2.2 DuckDB 连接管理2.2.1 为什么选择 DuckDB对比项DuckDBSQLitePostgreSQL部署复杂度嵌入式无需部署嵌入式需要独立部署分析性能列式存储OLAP优化行式存储行式存储Pandas集成原生支持需要转换需要转换内存占用低低高SQL兼容性PostgreSQL语法标准SQLPostgreSQL2.2.2 会话级连接管理为了支持多用户并发我们设计了两层管理器# 第一层单个 Excel 文件的 DuckDB 管理器class ExcelDuckDBManager: def __init__(self): self._connection None # 延迟初始化 self._registered_catalogs {} # Catalog 注册表 self._registered_tables {} # 表注册表 def register_excel_file(self, file_path, file_name): 注册 Excel 文件到 DuckDB # 1. 读取所有 Sheet # 2. 清理列名去除特殊字符 # 3. 创建 Catalog 和 Table # 4. 返回表结构信息# 第二层聊天级别的管理器会话隔离class ChatDuckDBManager: def __init__(self): self._chat_managers {} # {chat_id: ExcelDuckDBManager} self._session_timeout 36000# 10小时超时 def get_manager(self, chat_id): 为每个 chat_id 创建独立的管理器 if chat_id notin self._chat_managers: self._chat_managers[chat_id] ExcelDuckDBManager() return self._chat_managers[chat_id]核心优势会话隔离不同用户的数据互不干扰资源复用同一会话内多次查询共享连接自动清理超时会话自动释放资源2.2.3 数据注册流程def register_excel_file(self, file_path: str, file_name: str): # 1. 生成唯一的 Catalog 名称 catalog_name self._get_unique_catalog_name(file_name) # 2. 读取 Excel 所有 Sheet excel_file_data pd.ExcelFile(file_path) dataframes [(sheet, pd.read_excel(file_path, sheet_namesheet)) for sheet in excel_file_data.sheet_names] # 3. 清理列名去除特殊字符、中文支持 for sheet_name, df in dataframes: df.columns [self._sanitize_column_name(col) for col in df.columns] # 4. 注册到 DuckDB conn.execute(fCREATE SCHEMA IF NOT EXISTS {catalog_name}) conn.execute(fCREATE TABLE {catalog_name}.{table_name} AS SELECT * FROM df) # 5. 提取表结构信息 columns_info {col: {comment: col, type: self._map_pandas_dtype_to_sql(df[col].dtype)} for col in df.columns} return catalog_name, registered_tables关键技术点列名清理支持中文列名自动处理特殊字符类型映射Pandas dtype → SQL type如int64→BIGINT样本数据保存前 5 行数据用于 SQL 生成时的上下文参考2.3 SQL 生成节点这是整个系统的核心需要将自然语言转换为精确的 SQL 查询。2.3.1 Prompt 设计prompt ChatPromptTemplate.from_template(你是一位专业的数据库管理员DBA任务是根据提供的数据库结构、表关系以及用户需求生成优化的DUCKDB SQL查询语句并推荐合适的可视化图表。## 任务 - 根据用户问题生成一条优化的SQL语句。 - 根据查询生成逻辑从**图表定义**中选择最合适的图表类型。## 生成SQL要求 - 你必须仅生成一条合法、可执行的SQL查询语句 不得包含解释、Markdown、注释或额外文本。 - **必须直接且完整地使用所提供的表结构和表关系来生成SQL语句**表的格式必须是 catalog_name.table_name 的形式生成的SQL语句中的catalog、table、column 必须用 符号包裹。 - 你必须严格遵守数据类型、外键关系及表结构中定义的约束。当没有表的关联关系时你可以根据样例数据进行推断。 - 不得假设表结构中未明确定义的列或表。 - 显式声明所有JOIN条件禁止自然连接注意join性能尽可能的在join之间先进行group by操作以减少join的数据量。 - 当遇到复杂查询时使用WITH CTE分层组织复杂逻辑。 - 若问题涉及时序请合理使用提供的当前时间上下文例如用于相对日期计算。 - 如果用户问题模糊或者缺乏足够的信息以生成正确的查询请返回NULL - 当用户明确要求查看明细数据且未指定具体数量时应适当限制返回结果数量如LIMIT 50以提高查询性能但如果用户指定了具体数量则按照用户要求执行 - 对于聚合查询或统计类查询不应随意添加LIMIT子句## 提供的信息 - 表结构{db_schema} - 用户提问{user_query} - 当前时间{current_time}## 图表定义 - generate_line_chart: 用于显示数据随时间或连续变量的趋势 - generate_bar_chart: 用于比较不同类别的值适合横向对比 - generate_pie_chart: 用于显示数据的占比关系 - generate_table: 生成结构化表格用于展示明细数据 - ... 共20种图表类型## 输出格式 - 你**必须且只能**输出一个符合以下结构的 **纯 JSON 对象** json {{ sql_query: 生成的SQL语句字符串, chart_type: 推荐的图表类型字符串如 \generate_area_chart\ }}Prompt 设计要点设计维度具体策略效果角色定位定义为专业 DBA提升 SQL 生成质量约束明确禁止自然连接、强制使用双引号避免 SQL 语法错误性能优化提示先 GROUP BY 再 JOIN减少计算量容错处理问题模糊时返回 NULL避免错误查询图表推荐提供 20 图表类型定义智能匹配可视化方式输出格式强制 JSON 输出便于解析2.3.2 表结构上下文构建db_schema [ { table_name: 销售数据_Sheet1, catalog_name: 销售数据, columns: { 日期: {comment: 日期, type: VARCHAR(255)}, 产品: {comment: 产品, type: VARCHAR(255)}, 销售额: {comment: 销售额, type: BIGINT} }, sample_data: [ {日期: 2024-01-01, 产品: A, 销售额: 1000}, ... ], table_comment: 销售数据.xlsx - Sheet1 }]关键信息列注释保留原始列名作为注释支持中文样本数据帮助 LLM 理解数据分布表注释标注数据来源文件名 Sheet名2.4 SQL 执行节点def exe_sql_excel_query(state): # 1. 获取 DuckDB 管理器 duckdb_manager get_duckdb_manager(chat_idstate.get(chat_id)) # 2. 清理 SQL移除反引号 sql state[generated_sql].replace(, ) # 3. 执行查询 columns, data duckdb_manager.execute_sql(sql) # 4. 封装结果 state[execution_result] ExecutionResult( successTrue, columnscolumns, datadata ) return state执行结果结构class ExecutionResult(BaseModel): success: bool # 是否成功 columns: List[str] # 列名列表 data: Optional[List[Dict[str, Any]]] # 查询结果字典列表 error: Optional[str] # 错误信息2.5 数据渲染节点根据图表类型选择不同的渲染方式def data_render_condition(state: ExcelAgentState) - str: chart_type state.get(chart_type) # 表格类型使用 ECharts 渲染 if chart_type.lower() in [mcp-server-chart-generate_table]: return data_render_apache # 其他图表使用 AntV MCP 渲染 return data_render2.5.1 表格渲染EChartsdef excel_data_render_apache(state): # 1. 解析 SQL 获取列信息 is_select_all check_if_select_all(generated_sql) if is_select_all: # SELECT * 查询从表结构中获取所有列 column_comments get_all_column_comments_for_tables(table_names, db_info) else: # 普通查询解析 SELECT 子句 column_comments extract_select_columns_with_comments(generated_sql, db_info) # 2. 构建表格数据 table_data { llm: {type: response_table}, data: { column: column_comments, # 列标题中文 result: [ {column_comments[i]: row[actual_columns[i]] for i in range(len(columns))} for row in data_result.data ] } } return state技术难点列名映射将数据库列名映射为中文注释SELECT * 处理需要从表结构中提取所有列信息别名处理聚合函数的别名优先级高于列注释2.5.2 图表渲染AntV MCP对于非表格类型的图表调用 AntV MCP 服务生成可视化def data_render_ant(state): # 1. 准备图表数据 chart_data { type: state[chart_type], data: state[execution_result].data } # 2. 调用 MCP 服务生成图表 chart_url mcp_client.generate_chart(chart_data) state[chart_url] chart_url return state2.6 流式响应设计为了提升用户体验系统采用 SSE 实时推送每个节点的执行进度async def run_excel_agent(self, query, response, chat_id, ...): # 1. 异步流式执行 LangGraph asyncfor chunk_dict in graph.astream(inputinitial_state, stream_modeupdates): step_name, step_value next(iter(chunk_dict.items())) # 2. 发送步骤标题折叠面板 if step_name notin [summarize, data_render]: await response.write(fdetailssummary{step_name}.../summary) # 3. 发送步骤内容 content self._format_step_content(step_value) await response.write(content) # 4. 关闭折叠面板 if step_name notin [summarize, data_render]: await response.write(/details)前端渲染效果▼ excel_parsing... 文件解析结果 文件列表 1. file_name: 销售数据.xlsx | Catalog: 销售数据 | Sheets: 2 | 上传时间: 2024-11-28▼ sql_generator... SELECT 销售数据.Sheet1.产品, SUM(销售数据.Sheet1.销售额) AS 总销售额 FROM 销售数据.Sheet1 GROUP BY 销售数据.Sheet1.产品▼ sql_executor... ✅ 查询执行成功返回 5 行数据2 列分析报告根据查询结果产品A的总销售额为50000元产品B为38000元...[表格/图表渲染]unsetunset三、关键技术实现unsetunset3.1 多文件多 Sheet 支持3.1.1 Catalog 隔离机制# 文件1销售数据.xlsx2个SheetCatalog: 销售数据 - Table: Sheet1 - Table: Sheet2# 文件2库存数据.csvCatalog: 库存数据 - Table: 库存数据# SQL 查询示例SELECT s.产品, s.销售额, i.库存量FROM 销售数据.Sheet1 sJOIN 库存数据.库存数据 i ON s.产品 i.产品优势避免表名冲突不同文件可能有同名 Sheet清晰的数据来源标识支持跨文件关联查询3.1.2 表名清理规则def _sanitize_table_name(self, sheet_name: str) - str: # 1. 替换非法字符保留中文 table_name re.sub(r[^\w\u4e00-\u9fa5], _, sheet_name) # 2. 移除首尾下划线 table_name table_name.strip(_) # 3. 确保不以数字开头 if table_name and table_name[0].isdigit(): table_name ftable_{table_name} return table_name or unknown_sheet处理示例原始名称清理后说明Sheet1Sheet1无需处理销售数据-2024销售数据_2024替换特殊字符2024年数据table_2024年数据数字开头加前缀产品 (新)产品_新去除括号3.2 SQL 解析与列名映射使用SQLGlot解析 SQL 语句提取列信息并映射为中文注释。3.2.1 提取表名def extract_table_names_sqlglot(sql: str) - list: expression parse(sql)[0] tables set() for table in expression.find_all(sqlglot.exp.Table): tables.add(table.name) return list(tables)3.2.2 提取列名并映射注释def extract_select_columns_with_comments(sql, schema_inspector): expressions parse(sql) column_info_list [] for expression in expressions: selects expression.find_all(sqlglot.exp.Select) for select in selects: for proj in select.expressions: # 处理别名 if isinstance(proj, sqlglot.exp.Alias): column_info_list.append({ name: proj.this.name, alias: proj.alias, is_aggregate: isinstance(proj.this, (sqlglot.exp.Sum, ...)) }) # 处理普通列 elif isinstance(proj, sqlglot.exp.Column): column_info_list.append({ name: proj.name, table: proj.table }) # 映射为中文注释 result_columns [] for col_info in column_info_list: if col_info.get(is_aggregate) or col_info.get(alias): # 聚合函数保留别名 result_columns.append(col_info[alias]) else: # 普通列查找注释 comment find_column_comment(col_info[name], col_info[table], schema_inspector) result_columns.append(comment or col_info[name]) return result_columns处理示例SQL 片段实际列名显示列名SELECT 产品产品产品SELECT SUM(销售额) AS 总销售额总销售额总销售额SELECT 日期, COUNT(*) AS 订单数日期,订单数日期,订单数3.3 链路追踪Langfuse集成 Langfuse 记录每次对话的完整执行链路if self.ENABLE_TRACING: langfuse get_client() with langfuse.start_as_current_observation( inputquery, as_typeagent, name表格问答 ) as rootspan: rootspan.update_trace(session_idchat_id, user_iduser_id) # 执行 LangGraph async for chunk in graph.astream(...): # 每个节点的执行会自动记录到 Langfuse ...追踪信息包括每个节点的输入输出LLM 调用的 token 消耗执行耗时错误堆栈3.4 任务取消机制支持用户中途取消长时间运行的任务class ExcelAgent: def __init__(self): self.running_tasks {} # {task_id: {cancelled: False}} asyncdef run_excel_agent(self, ...): task_id user_dict[id] self.running_tasks[task_id] {cancelled: False} asyncfor chunk in graph.astream(...): # 检查是否已取消 if self.running_tasks[task_id][cancelled]: await response.write( 这条消息已停止) break # 处理节点输出 ... asyncdef cancel_task(self, task_id: str): if task_id in self.running_tasks: self.running_tasks[task_id][cancelled] Trueunsetunset四、实战案例分析unsetunset案例1单文件简单查询用户问题销售额最高的前5个产品是哪些执行流程1. excel_parsing - 注册文件销售数据.xlsx - Catalog: 销售数据 - Table: Sheet1 (100行, 3列)2. sql_generator - 生成SQL: SELECT 销售数据.Sheet1.产品, SUM(销售数据.Sheet1.销售额) AS 总销售额 FROM 销售数据.Sheet1 GROUP BY 销售数据.Sheet1.产品 ORDER BY 总销售额 DESC LIMIT 5 - 推荐图表: generate_bar_chart3. sql_executor - 返回 5 行数据4. summarize - 生成报告根据销售数据分析销售额最高的5个产品分别是...5. data_render - 渲染柱状图案例2多文件关联查询用户问题哪些产品的库存量低于销售量的10%执行流程1. excel_parsing - 注册文件1销售数据.xlsx → Catalog: 销售数据 - 注册文件2库存数据.csv → Catalog: 库存数据2. sql_generator - 生成SQL: SELECT s.产品, SUM(s.销售额) AS 总销售额, i.库存量 FROM 销售数据.Sheet1 s JOIN 库存数据.库存数据 i ON s.产品 i.产品 GROUP BY s.产品, i.库存量 HAVING i.库存量 SUM(s.销售额) * 0.1 - 推荐图表: generate_table3. sql_executor - 返回 3 行数据4. summarize - 生成报告有3个产品的库存量低于销售量的10%分别是...5. data_render_apache - 渲染表格unsetunset五、性能优化与最佳实践unsetunset5.1 性能优化策略优化点策略效果连接复用每个 chat_id 复用同一个 DuckDB 连接减少连接开销延迟初始化DuckDB 连接延迟到首次使用时创建降低内存占用会话超时10小时无活动自动清理避免资源泄漏LIMIT 优化明细查询自动添加 LIMIT 50减少数据传输JOIN 优化Prompt 提示先 GROUP BY 再 JOIN减少计算量样本数据只保存前5行样本减少上下文长度5.2 错误处理try: # 执行 SQL columns, data duckdb_manager.execute_sql(sql) state[execution_result] ExecutionResult(successTrue, ...)except Exception as e: # 记录错误 logger.error(fSQL执行失败: {e}) state[execution_result] ExecutionResult( successFalse, errorstr(e) )常见错误类型SQL 语法错误列名不存在、表名错误类型转换错误字符串与数字比较内存溢出大数据集未 LIMIT5.3 安全性考虑风险防护措施SQL 注入使用参数化查询DuckDB 自动转义数据泄漏每个 chat_id 独立的 DuckDB 实例资源耗尽会话超时 查询结果 LIMIT恶意文件文件扩展名白名单xlsx/xls/csvunsetunset六、总结unsetunset6.1 核心优势维度优势易用性自然语言提问无需学习 SQL灵活性支持多文件、多 Sheet、跨文件关联智能化自动推荐图表类型可扩展LangGraph 编排易于添加新节点高性能DuckDB 列式存储OLAP 优化可观测Langfuse 链路追踪6.2 技术亮点会话隔离每个 chat_id 独立的 DuckDB 实例支持多用户并发智能映射自动将 Excel 列名映射为中文注释流式响应SSE 实时推送思考过程提升用户体验图表推荐根据查询逻辑智能推荐 20 种图表类型SQL 优化Prompt 引导生成高性能 SQL先 GROUP BY 再 JOINunsetunset 完整代码unsetunset项目地址:https://github.com/apconw/sanic-web 项目亮点✅ 集成 MCP 多智能体架构✅ 支持 Dify / LangChain / LlamaIndex / Ollama / vLLM /Neo4j✅ 前端采用 Vue3 TypeScript Vite5现代化交互体验✅ 内置 ECharts / AntV 图表问答 CSV 表格问答✅ 支持对接主流 RAG 系统 与 Text2SQL 引擎✅ 轻量级 Sanic 后端适合快速部署与二次开发✅项目已被蚂蚁官方推荐收录如何学习AI大模型 “最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】CSDN粉丝独家福利这份完整版的 AI 大模型学习资料已经上传CSDN朋友们如果需要可以扫描下方二维码点击下方CSDN官方认证链接免费领取【保证100%免费】读者福利CSDN大礼包《最新AI大模型学习资源包》免费分享 安全链接放心点击对于0基础小白入门如果你是零基础小白想快速入门大模型是可以考虑的。一方面是学习时间相对较短学习内容更全面更集中。二方面是可以根据这些资料规划好学习计划和方向。1.大模型入门学习思维导图要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。对于从来没有接触过AI大模型的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。全套教程文末领取哈2.AGI大模型配套视频很多朋友都不喜欢晦涩的文字我也为大家准备了视频教程每个章节都是当前板块的精华浓缩。3.大模型实际应用报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。全套教程文末领取哈4.大模型实战项目项目源码光学理论是没用的要学会跟着一起做要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战项目来学习。全套教程文末领取哈5.大模型经典学习电子书随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。全套教程文末领取哈6.大模型面试题答案截至目前大模型已经超过200个在大模型纵横的时代不仅大模型技术越来越卷就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道我总结了大模型常考的面试题。全套教程文末领取哈为什么分享这些资料?只要你是真心想学AI大模型我这份资料就可以无偿分享给你学习我国在这方面的相关人才比较紧缺大模型行业确实也需要更多的有志之士加入进来我也真心希望帮助大家学好这门技术如果日后有什么学习上的问题欢迎找我交流有技术上面的问题我是很愿意去帮助大家的这些资料真的有用吗?这份资料由我和鲁为民博士共同整理鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。CSDN粉丝独家福利这份完整版的 AI 大模型学习资料已经上传CSDN朋友们如果需要可以扫描下方二维码点击下方CSDN官方认证链接免费领取【保证100%免费】读者福利CSDN大礼包《最新AI大模型学习资源包》免费分享 安全链接放心点击
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站服务器解决方案用文本文件做网站

保障网络安全与隐私:Windows系统防护指南(上) 在当今数字化时代,网络安全和隐私保护至关重要。对于使用Windows系统的用户来说,采取有效的防护措施可以避免计算机受到攻击和个人信息泄露。本文将介绍一系列实用的安全防护方法,帮助你提升Windows系统的安全性和隐私性。 …

张小明 2025/12/23 5:16:58 网站建设

高端网站设计哪家公司好做网站用不用云服务器

百度网盘秒传链接终极指南:从转存到生成的全流程教程 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 你是否曾经遇到过这样的情况&#…

张小明 2025/12/23 5:15:55 网站建设

海门做网站公司网站开发公司 广告词

Strix AI安全测试工具:新手快速上手终极指南 【免费下载链接】strix ✨ Open-source AI hackers for your apps 👨🏻‍💻 项目地址: https://gitcode.com/GitHub_Trending/strix/strix Strix作为开源的AI驱动安全测试工具&…

张小明 2025/12/23 5:14:53 网站建设

简述网站开发的三层架构电商网站的建设背景

【日语教程】安宁老师的日语课 文件大小: 40.7GB内容特色: 安宁老师系统精讲,40GB视频讲义,零到N1全覆盖适用人群: 日语零基础、考级冲刺、留学/职场需求者核心价值: 标准发音真题解析高频词汇,高效通关JLPT下载链接: https://pan.quark.cn/…

张小明 2025/12/23 5:13:51 网站建设

洛阳市建设监理协会网站无锡优化网站业务

LangFlow 与 SpeedCurve RUM:从 AI 工作流构建到用户体验闭环的工程实践 在 AI 应用快速落地的今天,一个常见的困境浮现出来:我们能用大模型做出“聪明”的功能,但用户却因为加载慢、响应卡顿而选择离开。这种“能跑却不流畅”的现…

张小明 2025/12/23 5:12:49 网站建设

互动网站开发网页制作培训上海

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

张小明 2025/12/23 5:11:46 网站建设