基于Streamlit的智能创业计划生成器开发实践
一、应用概述
在数字经济时代,创业者亟需高效工具进行系统化的商业规划。本文介绍的智能创业计划生成器基于Streamlit框架构建,整合了财务建模、时间轴规划、智能文档生成等核心功能。该工具通过模块化设计实现了九大创业要素的系统化配置,显著提升了商业计划书的编写效率。应用采用会话状态管理技术,支持多步骤交互操作,并内置动态可视化分析,为创业者提供直观的数据决策支持。
二、核心功能模块分析
- 动态财务建模系统
财务模块采用参数化设计,用户可灵活调整启动成本、毛利率等6项核心参数。通过指数增长模型实现未来36个月的财务预测:
df['Revenue'] = [params['startup_cost'] * (1 + params['monthly_revenue_growth']) ** i for i in range(months)]
系统自动计算毛利润、运营成本和净利润,并通过Plotly生成交互式趋势图。关键指标卡片的实时更新功能,使ROI分析、回本周期等数据一目了然。
- 智能时间轴规划器
甘特图模块采用Pandas进行时间序列处理,支持动态增删任务项。每个任务包含开始/结束时间、负责人等多维度数据:
fig = px.timeline(df, x_start="Start", x_end="End", y="task", color="owner")
数据表格与图形视图的双向联动,配合表单提交验证机制(空任务检测、日期有效性校验),确保规划数据的准确性。
- 结构化文档生成引擎
基于Markdown的文档生成系统,通过会话状态整合各模块输入数据:
def generate_markdown():content = "# 创业计划\n"content += f"## 项目概述\n- **项目名称**: {plan_data['project_name']}"
输出文档包含财务参数、时间轴、市场分析等完整章节,支持一键下载为标准化商业计划书。
三、技术实现亮点
- 状态管理机制
应用采用Streamlit的session_state实现跨页面状态持久化:
if 'plan_data' not in st.session_state:st.session_state.plan_data = {'timeline': [],'current_step': 0,'financial_params': {...}}
这种设计保证用户在页面导航时数据不丢失,同时支持进度跟踪功能,通过radio组件与进度条联动展示完成度。
- 可视化增强方案
通过Plotly Express和Graph Objects构建专业级图表:
- 时间序列采用Scatter图表展示收入/利润双轴趋势
- 甘特图通过px.timeline实现任务进度可视化
- 关键指标卡片应用CSS阴影效果提升可读性
- 交互设计优化
侧边栏导航菜单采用icon+文字的组合方式,提升用户体验:
steps = ["🏠 项目概览", "🎯 市场分析", "💡 产品设计"...]
current_step = st.radio("当前进度", steps, index=current_step)
内容编辑区采用expand布局,结合智能建议模块,提供实时写作指导。例如市场分析模块内置TAM/SAM/SOM模型说明,降低用户学习成本。
import streamlit as st
import datetime
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go# 必须作为第一个streamlit命令
st.set_page_config(page_title="创业计划生成器",layout="wide",page_icon="🚀"
)# ================== 初始化会话状态 ==================
if 'plan_data' not in st.session_state:st.session_state.plan_data = {'timeline': [],'current_step': 0,'financial_params': {'startup_cost': 500000,'monthly_revenue_growth': 0.15,'gross_margin': 0.65,'cac': 3000,'salaries': 150000}}# ================== 样式配置 ==================
def local_css():st.markdown(f"""<style>.metric-card {{border: 1px solid #e6e6e6;border-radius: 8px;padding: 15px;margin: 10px 0;background: white;box-shadow: 0 2px 4px rgba(0,0,0,0.1);}}.stSlider>div>div>div>div {{background: #2B7DE9 !important;}}</style>""", unsafe_allow_html=True)# ================== 财务计算模块 ==================
def financial_calculator():params = st.session_state.plan_data['financial_params']with st.expander("💰 动态财务模型计算器", expanded=True):col1, col2 = st.columns(2)with col1:params['startup_cost'] = st.number_input("启动成本(元)", 100000, 10000000, params['startup_cost'])params['monthly_revenue_growth'] = st.slider("月收入增长率", 0.0, 1.0, params['monthly_revenue_growth'],0.01)params['gross_margin'] = st.slider("毛利率", 0.0, 1.0, params['gross_margin'], 0.01)with col2:params['cac'] = st.number_input("客户获取成本(CAC)", 100, 100000, params['cac'])params['salaries'] = st.number_input("年度人力成本(元)", 50000, 5000000, params['salaries'])# 生成财务预测months = 36df = pd.DataFrame({'Month': pd.date_range(start=datetime.date.today(), periods=months, freq='M'),'Revenue': [params['startup_cost'] * (1 + params['monthly_revenue_growth']) ** i for i in range(months)],'CAC': params['cac']})df['Gross Profit'] = df['Revenue'] * params['gross_margin']df['Operating Cost'] = params['salaries'] / 12 + df['CAC'] * df['Revenue'] / 1000df['Net Profit'] = df['Gross Profit'] - df['Operating Cost']# 可视化tab1, tab2 = st.tabs(["趋势分析", "关键指标"])with tab1:fig = go.Figure()fig.add_trace(go.Scatter(x=df['Month'], y=df['Revenue'], name="收入"))fig.add_trace(go.Scatter(x=df['Month'], y=df['Net Profit'], name="净利润"))fig.update_layout(height=400)st.plotly_chart(fig, use_container_width=True)with tab2:kpi1, kpi2, kpi3 = st.columns(3)with kpi1:st.metric("累计收入", f"¥{df['Revenue'].sum() / 10000:.1f}万")with kpi2:st.metric("平均净利润率", f"{df['Net Profit'].mean() / df['Revenue'].mean() * 100:.1f}%")with kpi3:st.metric("回本周期", f"{(params['startup_cost'] / df['Net Profit'].cumsum().max()) * 12:.1f}月")# ================== 时间轴模块 ==================
def timeline_step():st.header("📅 时间轴规划")# 甘特图if st.session_state.plan_data['timeline']:df = pd.DataFrame(st.session_state.plan_data['timeline'])df['Start'] = pd.to_datetime(df['start'])df['End'] = pd.to_datetime(df['end'])fig = px.timeline(df, x_start="Start", x_end="End", y="task", color="owner")fig.update_yaxes(autorange="reversed")st.plotly_chart(fig, use_container_width=True)# 任务输入表单with st.form("任务表单"):cols = st.columns([3, 2, 2, 2])task = cols[0].text_input("任务名称*")start = cols[1].date_input("开始日期", datetime.date.today())end = cols[2].date_input("结束日期", datetime.date.today())owner = cols[3].text_input("负责人", "未指定")if st.form_submit_button("➕ 添加任务"):if task and start and end:st.session_state.plan_data['timeline'].append({"task": task,"start": start.strftime("%Y-%m"),"end": end.strftime("%Y-%m"),"owner": owner})# 任务表格if st.session_state.plan_data['timeline']:st.dataframe(pd.DataFrame(st.session_state.plan_data['timeline']),hide_index=True,use_container_width=True)# ================== 主界面 ==================
def main_page():local_css()# 侧边栏导航with st.sidebar:st.title("🧭 导航菜单")steps = ["🏠 项目概览", "🎯 市场分析", "💡 产品设计","📈 商业模式", "⚙️ 运营计划", "👥 团队架构","💰 财务计划", "⚠️ 风险分析", "📅 时间轴"]current_step = st.radio("当前进度", steps, index=st.session_state.plan_data['current_step'])st.session_state.plan_data['current_step'] = steps.index(current_step)# 进度指示progress = (st.session_state.plan_data['current_step'] + 1) / len(steps)st.progress(progress)# 文档生成if st.button("📥 生成计划书"):markdown_content = generate_markdown()st.download_button(label="下载文档",data=markdown_content,file_name=f"{st.session_state.plan_data.get('project_name', '创业计划')}.md",mime="text/markdown")# 主内容区if current_step == "🏠 项目概览":st.header("项目概览")col1, col2 = st.columns([3, 2])with col1:st.session_state.plan_data['project_name'] = st.text_input("项目名称", "AI供应链优化平台")st.session_state.plan_data['overview'] = st.text_area("项目简介", height=200)with col2:st.image("https://example.com/startup-chart.png", caption="市场趋势分析")elif current_step == "💰 财务计划":st.header("财务规划")financial_calculator()elif current_step == "📅 时间轴":timeline_step()else:# 其他模块的统一处理section_map = {"🎯 市场分析": "market_analysis","💡 产品设计": "product_design","📈 商业模式": "business_model","⚙️ 运营计划": "operation_plan","👥 团队架构": "team","⚠️ 风险分析": "risk_management"}current_key = section_map[current_step]with st.expander("📝 内容编辑器", expanded=True):st.session_state.plan_data[current_key] = st.text_area("编辑内容",height=400,value=st.session_state.plan_data.get(current_key, ""))with st.expander("💡 智能建议", expanded=True):st.write(guidance_content[current_key])# ================== 文档生成 ==================
def generate_markdown():# 生成Markdown文档的逻辑content = "# 创业计划\n"content += f"## 项目概述\n"content += f"- **项目名称**: {st.session_state.plan_data.get('project_name', '未知')}\n"content += f"- **项目简介**: {st.session_state.plan_data.get('overview', '')}\n"content += f"## 财务计划\n"content += f"- 启动成本: ¥{st.session_state.plan_data['financial_params']['startup_cost']}元\n"content += f"- 月收入增长率: {st.session_state.plan_data['financial_params']['monthly_revenue_growth'] * 100}%\n"content += f"- 毛利率: {st.session_state.plan_data['financial_params']['gross_margin'] * 100}%\n"content += f"- 客户获取成本(CAC): ¥{st.session_state.plan_data['financial_params']['cac']}元\n"content += f"- 年度人力成本: ¥{st.session_state.plan_data['financial_params']['salaries']}元\n"content += f"## 时间轴\n"for task in st.session_state.plan_data['timeline']:content += f"- **任务**: {task['task']}, **开始**: {task['start']}, **结束**: {task['end']}, **负责人**: {task['owner']}\n"return content# ================== 指导内容 ==================
guidance_content = {"market_analysis": """### 市场分析指南
1. **目标市场**:使用TAM/SAM/SOM模型- TAM(总可服务市场) = 潜在客户数量 × 年消费额
2. **竞争分析**:制作SWOT矩阵
3. **用户画像**:包含年龄、职业、行为特征等维度""","product_design": """### 产品设计要点
1. **功能定义**:明确产品的核心功能和附加功能
2. **用户体验**:设计简洁易用的用户界面
3. **技术栈选择**:根据需求选择合适的技术方案""","business_model": """### 商业模式设计
1. **盈利模式**:确定如何从产品或服务中获利
2. **价值主张**:突出产品或服务的独特卖点
3. **合作伙伴关系**:考虑与其他企业的合作机会""","operation_plan": """### 运营计划制定
1. **营销策略**:制定有效的市场推广计划
2. **销售策略**:建立高效的销售渠道
3. **客户服务**:提供优质的售后服务支持""","team": """### 团队建设
1. **团队成员**:列出核心团队成员及其职责
2. **组织结构**:描述公司的组织架构
3. **技能要求**:说明各岗位所需的技能和经验""","risk_management": """### 风险管理
1. **风险识别**:列出潜在的风险因素
2. **风险评估**:对每个风险进行评估
3. **应对措施**:制定相应的风险管理措施"""
}# ================== 程序入口 ==================
if __name__ == "__main__":main_page()
相关文章:
基于Streamlit的智能创业计划生成器开发实践
一、应用概述 在数字经济时代,创业者亟需高效工具进行系统化的商业规划。本文介绍的智能创业计划生成器基于Streamlit框架构建,整合了财务建模、时间轴规划、智能文档生成等核心功能。该工具通过模块化设计实现了九大创业要素的系统化配置,显…...
蓝桥杯单片机刷题——按键控制距离显示精度
设计要求 驱动超声波传感器,启动距离测量功能,并将其结果显示到数码管上,距离数据单位为m。 按键“S4”定义为“切换”按键,通过此按键切换距离的显示精度(一位或两位小数)。切换顺序如图所示。 数码管显示格式如下图…...
c++拷贝构造函数(深浅拷贝)+运算符重载
1拷贝构造函数 1.1定义 只有一个形参,且该形参是对本类类型对象的引用(一般用const 修饰),在用已经存在的类类型对象穿件新对象是由编译器自动调用。(是一种特殊构造,即初始化一个一模一样的新对象&#…...
操作系统 3.5-内存换入-请求调页
案例分析内存换入 内存换入分析: 内存换入(Swapping)是指操作系统将不常使用的内存页从物理内存(RAM)移动到磁盘上的交换空间(Swap Space),以释放物理内存供其他进程使用。当需要访…...
stm32工程,拷贝到另一台电脑编译,错误提示头文件找不到cannot open source input file “core_cm4.h”
提示 cannot open source input file “core_cm4.h” ,找不到 [ core_cm4.h ] 这个头文件 . 于是我在原电脑工程文件里找也没有找到这个头文件 接下来查看原电脑keil的头文件引入配置,发现只引入了工程文件下的头文件, 那么core_cm4.h到底哪里来的? (到现在我也不清楚怎…...
使用platformio如何定位hard fault错误
这里写自定义目录标题 前言过程记录结语前言 hard fault是单片机开发过程中经常会遇到的问题,通常是内存溢出、野指针访问等导致,对于有经验的工程师,在代码改动不大的情况下,一般可以通过代码审查定位到问题原因,但也有很多情况下需要借助调试工具进行定位,像Keil就有比…...
全局异常处理器的基本使用
那使用全局异常处理器可以么? 是的,使用全局异常处理器是一个非常好的选择,因为它可以将异常处理逻辑集中化,避免在 Service 层或 Controller 层中重复编写异常处理代码。以下是使用全局异常处理器来处理添加用户时 username 唯一…...
python入门:简单介绍和python和pycharm软件安装/学习网址/pycharm设置(改成中文界面,主题,新建文件)
Python 目前是 AI 开发的首选语言 软件安装 python解释器 官网下载 Python |Python.org 勾选 Add python.exe to PATH 将python.exe添加到PATH 勾选这个选项会将Python的可执行文件路径添加到系统的环境变量PATH中。这样做的好处是,你可以在命令行中从任何位置直…...
众趣科技助力商家“以真示人”,让消费场景更真实透明
在当今的消费环境中,消费者权益保护问题日益凸显。无论是网购商品与实物不符、预定酒店民宿与图文描述差异大,还是游览景区遭遇“照骗”,这些问题不仅让消费者在消费和决策过程中倍感困扰,也让商家面临信任危机。 消费者在享受便…...
【Redis】string类型
目录 1、介绍2、底层实现【1】SDS【2】int编码【3】embstr编码【4】raw编码【5】embstr和raw的区别 3、常用指令【1】字符串基本操作:【2】批量操作【3】计数器【4】过期时间【5】不存在就插入 4、使用场景 1、介绍 string是redis中最简单的键值对形式,…...
EPLAN许可证更新教程
随着电气设计软件的不断更新和优化,确保您的EPLAN许可证始终是最新版本对于顺畅的项目管理至关重要。本文将为您提供一份详尽的EPLAN许可证更新教程,帮助您轻松完成更新操作,确保您的软件始终保持最佳状态。 一、为什么需要更新EPLAN许可证&…...
学习笔记五——Rust 控制流全解析
📚 目录 什么是控制流?Rust 有什么特别?if 表达式完整语法loop / while / for 三种循环写法match 表达式 _ 通配符深入解释if let 表达式用法与场景Option、Some、None 全面通俗讲解 "Tom" 和 "Tom".to_string() 有啥本…...
远程桌面协议(RDP)详解:原理、优势与局限和优化方案分享
文章目录 导言一. RDP的工作原理二. RDP的优势三. RDP的局限性四. RDP的优化与替代方案五. 内网穿透远程访问总结 导言 远程桌面协议(RDP)是一种微软开发的专有协议,允许用户通过网络连接到另一台计算机,并像操作本地计算机一样进行操作。它广泛应用于远…...
Linux 系统管理常用命令
以下是 Linux 系统管理常用命令 的详细介绍,涵盖 IP地址查看、端口管理、进程监控 等核心操作,并附上实际示例: 一、查看网卡 IP 地址 1. 使用 ip 命令 # 查看所有网络接口信息(包括 IP 地址) ip addr show# 查看特定…...
蓝桥杯篇---客观题
文章目录 前言 前言 本文简单介绍了蓝桥杯中客观题各个部分的知识点。 一、单片机相关 IAP15F2K61S2单片机的定时器0具有4种工作模式,当采用外部12MHz晶振时,定时器最大定时长度65535us。8051单片机的P0口,当使用外部存储器时它是一个传输低…...
RK3568 基于Gstreamer的多媒体调试记录
文章目录 1、环境介绍2、概念理清3、提前准备4、GStreamer编译5、GStreamer基础介绍6、视频播放初体验7、视频硬编码7.1、h2647.2、h265 8、视频硬解码8.1、解码视频并播放解码视频并播放带音频 1、环境介绍 硬件:飞凌ok3568-c开发板 软件:原厂rk356x …...
ZYNQ笔记(五):AXI GPIO 中断
版本:Vivado2020.2(Vitis) 任务:使用 AXI GPIO IP 核以中断方式实现按键 KEY 控制 LED 亮灭翻转(两个都在PL端) 目录 一、介绍 二、硬件设计 三、软件设计 四、效果 一、介绍 AXI GPIO 中断通常…...
C++23 多维下标运算符:探索 P2128R6 提案
文章目录 一、背景与动机二、语法与实现2.1 语法2.2 实现方式 三、应用场景3.1 多维数组3.2 自定义数据结构3.3 并行计算 四、性能影响4.1 编译时优化4.2 自定义数据结构的优化 五、总结 C23 引入了许多新特性,其中之一便是多维下标运算符(P2128R6&#…...
原理图设计准备:页面栅格模板应用设置
一、页面大小的设置 (1)单页原理图页面设置 首先,选中需要更改页面尺寸的那一页原理图,鼠标右键,选择“Schmatic Page Properties”选项,进行页面大小设置。 (2)对整个原理图页面设…...
LeeCode 409.最长回文串
给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的 回文串 的长度。 在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 示例 1: 输入:s "abccccdd" 输出:7 解释: 我们可以构造的…...
保护PCBA的不同方法:喷三防漆 vs 镀膜
PCBA(印刷电路板组件)的防护工艺中,喷三防漆和镀膜(如Parylene气相沉积)是两种常见技 术。它们在防护目的上类似,但在具体实现方式和应用场景上有显著差异。以下从外观、工艺、性 能、物理性质和成本五个…...
XILINX FPGA万兆光电口PXIE板卡设计
主要性能指标 1、 FPGA 型号: XC7K325-TFFG676-2 ; 2、 网络端口速率 : 10Gbps/1Gbps/2.5Gbps ; 3、 网络端口形式 : 3 路 SFP 万兆光电口 ; 4、 内存数量: 4Gb 4 ; 5、 内存带宽&…...
LangChain4j实战-Java AI应用开源框架之LangChain4j和Spring AI
今天这篇文章我来分享LangChain4j实战-Java AI应用开源框架之LangChain4j和Spring AI。 在贝恩聊架构AI专栏中通过学习如何使用Java相关AI应用开源框架,到后续开发企业级Java AI应用,将大型语言模型和AI工具集成到现有系统中。我们将重点介绍如何使用Sp…...
机器学习十大算法全解析机器学习,作为人工智能的基石,涵盖了众多高效的算法。今天,我们就来深入探讨其中的十大核心算法!
1️⃣ 线性回归:通过最小化误差的平方和来寻找最佳函数匹配。 2️⃣ 逻辑回归:用于分类问题,通过逻辑函数来预测事件发生的概率。 3️⃣ 决策树:基于特征选择和阈值来构建树形结构,用于分类和回归。 4️⃣ 朴素贝叶…...
day26图像处理OpenCV
文章目录 一、OpenCV1.介绍2.下载3.图像的表示4.图像的基本操作4.1图片读取或创建4.1.1读取4.1.2创建 4.2创建窗口4.3显示图片4.3.1设置读取的图片4.3.2设置显示多久4.3.3释放 4.4.保存图片4.5图片切片(剪裁)4.6图片大小调节 5.在图像中绘值5.1绘制直线5…...
怎么查询SQL Server AlwaysOn
1. SQL Server AlwaysOn 是什么? SQL Server AlwaysOn 是 Microsoft 提供的高可用性(High Availability, HA)和灾难恢复(Disaster Recovery, DR)解决方案,包含以下两个核心技术: 组件描述故障…...
10分钟做了一个投资回报计算器,欢迎大家使用
一、背景 今天突然想算一下1万本金,2%利率存2年情况下的投资回报收益情况,但是发现手上没有计算器,想着自己做一个网页简单实现一下,于是有了这个小工具(FutureValueCalculator——未来价值计算器)。 二、…...
报错:mount: unknown filesystem type ‘vfat’
服务器重启之后 进入 Ctrl D 界面 界面报错是 FAILED to mount /boot/efi 输入密码进去之后 (py38) [rootlocalhost data]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1.5T 0 disk ├─sda1 8:1 0 50M 0 part /bo…...
Java学习手册:面向对象编程核心概念
面向对象编程(OOP)是Java语言的核心编程范式,它强调通过对象之间的交互来实现程序功能。OOP的核心思想是将现实世界中的事物抽象为对象,通过对象的属性和行为来描述和操作这些事物。本文将深入探讨Java中面向对象编程的三大核心概…...
工厂模式(简单工厂,工厂方法,抽象工厂)
工厂模式 工厂模式是java中最常用的设计模式,主要是用来完成对象的创建,使得对象创建过程和对象使用过程分离。 简单来说是取消对象创建者和使用者的耦合,简化new 对象的创建。 优势 :对象的属性创建完整。 缺点: 创建…...
【实际项目分享】多相机取图存图问题
1、项目介绍 针对 5路相机同步取图 场景,设计了一套高并发、低延迟的图像数据管理方案,重点解决多线程环境下的数据竞争与存储效率问题。 2、设计目标 高并发写入:支持5个相机线程同时写入数据,无锁冲突…...
LLMs基础学习(七)DeepSeek专题(1)
LLMs基础学习(七)DeepSeek专题(1) 文章目录 LLMs基础学习(七)DeepSeek专题(1)DeepSeek 相关资料官方资料与基础文档实践指南和技术解析 热启动与冷启动**热启动(主流&…...
安装vllm
ubuntu 22.04, RTX3080, cuda 12.1, cudnn 8.9.7,cuda和cudnn的安装参考:https://blog.csdn.net/m0_52111823/article/details/147154526?spm1001.2014.3001.5501。 查看版本对应关系,下载12.1对应的whl包,https://github.com/vl…...
SVMSPro分布式综合安防管理平台--地图赋能智慧指挥调度新高度
SVMSPro分布式综合安防管理平台–地图赋能智慧指挥调度新高度 在智慧城市建设和公共安全需求日益增长的背景下,SVMSPro分布式综合安防管理平台凭借其强大的地图功能与多协议兼容能力,正在成为公安、司法、消防、城管、交通等领域的指挥调度“智慧大脑”…...
科技快讯 | OpenAI:向Plus和Pro用户推出ChatGPT记忆提升功能;我国成功发射通信技术试验卫星十七号;芯片国产化率超九成
继 OpenAI 后,谷歌 Gemini 模型将支持 Anthropic 的 MCP 协议 4月10日,谷歌DeepMind宣布将支持Anthropic的模型上下文协议(MCP),以实现大语言模型与外部数据源的集成。MCP由Anthropic推出,旨在建立安全双向…...
【教学类-102-08】剪纸图案全套代码08——Python点状虚线优化版本02(有空隙)+制作1图2图6图24图
背景需求 代码实现了点状虚线的全套流程,但是图片中主体图案和虚线与左右两边粘连。 【教学类-102-07】剪纸图案全套代码07——Python点状虚线优化版本01(无空隙)+制作1图2图6图24图-CSDN博客文章浏览阅读665次,点赞11次,收藏11次。【教学类-102-07】剪纸图案全套代码07…...
深入解析 Microcom:嵌入式串口调试利器
在嵌入式系统开发中,串口通信是调试和与外部设备交互的核心手段之一。Linux 系统中,Minicom 是一个广为人知的串口调试工具,但其依赖较多库(如 libncurses),在资源受限的嵌入式环境中可能显得臃肿。 而 Mi…...
算法驱动的场景识别:规则引擎与机器学习的强大结合
引言 在智能驾驶系统、交通分析和安全监控等领域,场景识别是一项核心技术。传统的场景识别方法主要依赖人工标注,不仅耗时耗力,还容易受主观因素影响。随着技术的发展,算法驱动的场景识别方法逐渐兴起,通过结合规则引…...
typescript开发心得
语法知识点 回调地狱问题 用await,或者有些库提供了sync方法 yield 用法跟python的一样。 yield只能用于生成器里,生成器是function*,例如: export function* filter(rootNode: ts.Node, acceptedKind: ts.SyntaxKind) {for…...
淘宝开放平台 API 调用全解析:商品详情数据采集接口接入教程
一、引言 在电商领域蓬勃发展的当下,淘宝作为行业领军者,其平台上琳琅满目的商品蕴含着海量有价值的信息。无论是电商从业者想要精准把握竞品动态、优化自身商品策略,还是数据分析师试图挖掘消费趋势、洞察市场需求,亦或是科研人…...
SQL注入(SQL Injection)深度解析
SQL注入是一种利用Web应用程序与数据库交互机制缺陷的网络攻击技术,其核心在于通过恶意构造的输入参数篡改原始SQL查询逻辑,进而实现对数据库的非授权操作。以下从定义、攻击原理、技术分类、危害及防御体系多维度展开分析: 一、定义与本质 技…...
MCP基础学习四:MCP在AI应用中的集成(MCP在AI应用中的完整架构图)
MCP在AI应用中的集成 文章目录 MCP在AI应用中的集成一,学习目标二,学习内容1. 在AI应用中配置和使用MCP服务1.1 不同AI工具连接方式与部署模式1.1.1 了解不同的MCP传输模式1.1.2 掌握如何在AI客户端中配置MCP服务Cursor 客户端中配置MCP服务Cherry Studio AI客户端中…...
K8S-证书过期更新
K8S证书过期问题 K8S证书过期处理方法 Unable to connect to the server: x509: certificate has expired or is not yet valid 1、查看证书有效期: # kubeadm certs check-expiration2、备份证书 # cp -rp /etc/kubernetes /etc/kubernetes.bak3、直接重建证书 …...
蓝桥杯考前复盘
明天就是考试了,适当的停下刷题的步伐。 静静回望、思考、总结一下,我走过的步伐。 考试不是结束,他只是检测这一段时间学习成果的工具。 该继续走的路,还是要继续走的。 只是最近,我偶尔会感到迷惘,看…...
BERT - MLM 和 NSP
本节代码将实现BERT模型的两个主要预训练任务:掩码语言模型(Masked Language Model, MLM) 和 下一句预测(Next Sentence Prediction, NSP)。 1. create_nsp_dataset 函数 这个函数用于生成NSP任务的数据集。 def cr…...
mysql 与 sqlite 数学运算 精度 问题
mysql 与 sqlite 数学运算 精度 问题 在 Excel 中,浮点运算得到的结果可能不准确 https://learn.microsoft.com/zh-cn/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result 本文讨论 Microsoft Excel 如何存储和计算浮点数。 由于存在舍入或…...
MySQL的数据库性能分析利器Percona toolkit
目录 简介使用场景 使用示例Mysql 慢查询分析诊断临时开启慢SQL持久化开启慢SQL日志 使用包管理器安装包管理器安装 percona-release使用相应的包管理器安装 Percona Toolkit pt-query-digest 安装安装 pt-query-digest案例实战之慢查询分析诊断查看慢SQL日志使用pt-query-dige…...
力扣HOT100之链表: 148. 排序链表
这道题直接用蠢办法来做的,直接先遍历一遍链表,用一个哈希表统计每个值出现的次数,由于std::map<int, int>会根据键进行升序排序,因此我们将节点的值作为键,其在整个链表中的出现次数作为值,当所有元…...
Azure AI Foundry 正在构建一个技术无障碍的未来世界
我们习以为常的街道和数字世界,往往隐藏着被忽视的障碍——凹凸不平的路面、不兼容的网站、延迟的字幕或无法识别多样化声音的AI模型。这些细节对某些群体而言,却是日常的挑战。正如盲道不仅帮助视障者,也优化了整体城市体验,信息…...
AlmaLinux9.5 修改为静态IP地址
查看当前需要修改的网卡名称 ip a进入网卡目录 cd /etc/NetworkManager/system-connections找到对应网卡配置文件进行修改 修改配置 主要修改ipv4部分,改成自己的IP配置 [ipv4] methodmanual address1192.168.252.129/24,192.168.252.254 dns8.8.8.8重启网卡 …...