- 博客(314)
- 收藏
- 关注
原创 【大模型】8.6具备自主决策能力的SQL智能代理(Agent)
核心能力:SQL智能Agent实现“自然语言→自主查表/查结构→生成SQL→执行→自然语言回答”的全流程自动化,支持复杂数据库问答;核心组件封装全套SQL工具,无需手动构建;是Agent执行的核心,封装决策和工具调用逻辑;定义Agent的行为规则,保障安全和规范;关键流程:Agent处理问题时会先查表名→再查表结构→最后生成/执行SQL,避免语法错误;实用技巧优先使用gpt-4-turbo作为Agent推理引擎,复杂SQL生成/决策能力更强;
2026-03-07 22:55:06
461
原创 【大模型】8.6自然语言转SQL并自动执行查询的智能问答系统
核心能力:实现“自然语言→SQL→执行→自然语言回答”的全流程自动化,无需手动编写/执行SQL;核心流程:数据库连接→SQL生成→SQL执行→结果整合→自然语言回答;关键组件是自然语言转SQL的核心;实现SQL自动执行;串联多步骤,简化输出;实用技巧数据库URL需指定避免中文乱码;测试时先打印生成的SQL,确认无误后再执行,避免误操作;可通过LangChain Tracing查看SQL生成/执行的详细日志,便于调试。
2026-03-07 22:33:27
458
原创 【大模型】8.5具备会话历史感知能力的检索增强生成(RAG)智能问答系统
核心能力:历史感知检索器解决RAG“模糊追问无上下文”的痛点,实现精准检索;核心流程:网页加载→文本切割→向量存储→历史感知检索→问答→会话历史管理;关键组件是实现历史感知的核心;是会话隔离、上下文关联的关键;实用技巧文本切割时设置避免语义割裂;通过session_id隔离不同用户的会话,避免历史混淆;提示模板中明确“仅基于上下文回答”,避免模型编造答案。
2026-03-07 22:27:36
415
原创 【大模型】8.4基于LangChain、LangGraph、Tavily实现具备自动工具调用能力的智能代理(Agent)
Agent核心价值:解决大模型“知识过期”“无实时数据”痛点,能自动判断并调用外部工具(如Tavily搜索)获取最新数据;关键组件TavilySearchResults提供实时搜索能力,需配置API Key;chat_agent_executor封装完整的Agent执行流程,无需手动实现工具调用逻辑;bind_tools让模型具备“是否调用工具”的推理能力(底层逻辑);执行逻辑无需工具的问题→模型直接回答;需要工具的问题→模型调用工具→整合结果→回答;实用技巧控制Tavily的。
2026-03-06 17:42:57
395
原创 【大模型】8.3基于LangChain实现检索增强生成(RAG)功能
RAG核心逻辑:先检索向量库中的相似文档作为上下文,再让模型基于上下文回答,解决大模型“幻觉”问题;向量库关键Chroma.from_documents将Document转为向量存储,依赖OpenAIEmbeddings生成向量;检索器通过RunnableLambda封装检索方法,bind(k=1)控制返回最相似的1个文档;链的执行RunnablePassthrough透传用户问题,检索器提供上下文,共同填充提示模板;{参数映射} | 提示模板 | 模型。
2026-03-05 22:18:30
393
原创 【大模型】8.2基于LangChain实现带会话历史的多语言聊天机器人
核心能力:LangChain通过实现会话历史管理,session_id是区分不同用户的核心;关键组件是提示模板中关联历史的核心,需与保持一致;调用方式invoke:一次性获取完整响应,适合短文本;stream:逐token返回,适合实时对话/长文本;实用技巧内存存储的会话历史仅适合测试,生产环境需用Redis/数据库持久化;会话历史会增加提示词长度,需注意模型的上下文窗口限制(gpt-4-turbo为128k token);可通过清空指定session_id的历史记录。
2026-03-05 22:13:57
433
原创 【大模型】8.1基于LangChain框架实现多语言翻译功能
LangChain核心:通过“提示模板+模型+解析器+链”简化大模型应用开发,管道符串联组件是核心语法;参数化提示:ChatPromptTemplate支持动态替换变量({language}/{text}),适配多语言翻译场景,比固定消息列表更灵活;部署关键:LangServe的可快速将链部署为FastAPI服务,启动后通过可测试接口;实用技巧开启LangChain Tracing便于调试链的执行问题;链调用时需传入与模板匹配的变量字典,否则会报错;服务启动后,若端口8000被占用,可修改。
2026-03-05 22:08:06
439
原创 【大模型】5.7语音识别
核心流程:本代码实现“中文音频→Whisper-1翻译→英文文本→TTS-1生成→英文音频”的完整链路,核心依赖Whisper-1的翻译能力和TTS-1的配音能力;Whisper-1关键转录(Transcriptions)是“音频→同语言文字”,翻译(Translations)是“音频→英文文字”;音频文件必须用rb模式打开,否则会识别失败;实用技巧长音频(>1小时)建议分段处理,避免API超时;转录中文音频时,添加参数可提升准确率;打开的音频文件需手动close()或用with。
2026-03-01 12:23:40
570
原创 【大模型】5.6生成配音
核心流程:文本生成配音的核心步骤是“初始化客户端→配置TTS参数→创建流式响应→保存音频文件”,流式响应是节省内存的关键;关键参数:voice(音色)、speed(语速)、response_format(格式)是定制配音效果的核心,需根据文本类型(新闻/故事/情感)选择;实用技巧需提前创建./audio文件夹,否则会报“文件不存在”错误;中文生成优先选nova(新闻)、onyx(解说)、shimmer(情感)音色;
2026-03-01 12:19:57
563
原创 【大模型】5.5生成图像
核心流程:文本生成图像的核心步骤是“调用DALL-E 3 API→获取Base64编码→解码→保存为本地图片”;关键参数:DALL-E 3的style(风格)、quality(质量)是核心差异化参数,prompt越详细生成效果越好;实用技巧返回格式优先选b64_json(便于保存本地),url仅适合临时查看;需确保./images文件夹已存在(否则保存文件会报“找不到路径”错误);DALL-E 3仅支持n=1,不要设置n>1;
2026-03-01 12:16:38
634
原创 【大模型】5.4识别图片——本地的图片
核心逻辑:本地图片识别的核心是“Base64编码转换”,需将图片转为base64,{Base64字符串}格式传入多模态API;请求构造:直接HTTP请求需手动配置请求头(认证+格式)和请求体(模型+多模态内容),状态码200是请求成功的关键;实用技巧密钥需配置为环境变量(),避免硬编码泄露;失败时通过和resp.text排查问题(401=密钥错,429=频率超限);不同图片格式(png/webp)需修改Base64拼接中的image/jpeg为对应格式;对比SDK。
2026-03-01 11:36:47
701
原创 【大模型】5.3识别图片的案例
核心能力:gpt-4-turbo/gpt-4o支持多模态(文本+图片)识别,通过Chat Completions API传入图片URL即可实现图片内容分析;关键格式:多模态场景下,user的content需为列表,包含text(指令)和image_url(图片URL)两个元素;实用注意图片必须是公网可访问的URL(本地图片需先上传到图床);需配置OPENAI_API_KEY环境变量和代理才能正常调用;max_tokens需根据需求调整,避免回复过长/过短。
2026-03-01 11:34:27
625
原创 【大模型】5.2构建一个Python程序员的ai助手
核心流程:创建助手(定义Python编程能力)→创建线程(维护上下文)→发送消息→触发运行→获取结果,是Assistants API的标准使用流程;核心价值:Code Interpreter确保生成的代码可运行,Thread自动维护上下文,让模型理解简略提问;关键注意事项:必须使用gpt-4o模型、配置代理和API密钥、通过Run的状态码判断是否处理完成。
2026-03-01 11:29:22
643
原创 【大模型】5.1构建一个数学的ai助手
核心目标:掌握OpenAI Assistants API(Beta版)的完整使用流程,理解“创建助手→创建线程→发送消息→流式获取回复→清理资源”的核心逻辑,学会使用Code Interpreter工具实现数学计算;关键知识点Assistants API是构建“工具辅助型智能助手”的核心接口,Code Interpreter工具是数学/代码场景的关键;Thread(线程)自动维护上下文,Run(运行)触发助手回复,流式返回提升实时交互体验;
2026-02-28 23:14:16
473
原创 【大模型】4.7文本生成的案例
核心目标:掌握OpenAI Completions API(文本补全接口)的基础用法,实现英文文本、中文笑话、Python代码的生成,理解核心参数的作用;关键知识点Completions API是单轮文本生成接口,适配模型,区别于对话接口的Chat Completions;prompt(指令)、max_tokens(长度)、(随机性)、n(结果份数);返回结果的核心是,提取该字段可获取纯生成内容;实用价值快速生成文本/代码/创意内容,适配单轮生成场景;
2026-02-28 10:39:06
530
原创 【大模型】4.5openAI中的模型使用的分词器
核心目标:掌握OpenAI官方分词器tiktoken的基础用法,理解“文本→token整数→文本”的完整流程,能精准计算文本的token数;关键知识点tiktoken是计算OpenAI模型token数的“金标准”,gpt-3.5-turbo/gpt-4默认使用cl100k_base编码;Token是模型的最小处理/计费单位,英文按词根拆分、中文按单字拆分;encode/decode实现文本与token序列的互转,decode_single_token_bytes可查看分词粒度;实用价值。
2026-02-28 10:15:21
673
原创 【大模型】4.3采用聚类和T-SNE来可视化
核心目标:通过KMeans对1536维的评论Embedding向量做无监督聚类(3类),再用T-SNE降维到2维,可视化不同聚类类别的语义分布;关键步骤:读取向量数据→转换向量格式→构建高维矩阵→KMeans聚类(生成标签)→T-SNE降维→绘制颜色区分聚类的散点图;核心注意点KMeans的类别数k需手动指定,实际应用中可通过“肘部法则”选择最优k;先聚类(高维)再降维(可视化)是最优流程,避免降维后聚类导致信息丢失;
2026-02-27 16:52:45
685
原创 【大模型】4.2.采用T-SNE来可视化
核心目标:将1536维的评论Embedding向量通过T-SNE降维到2维,并用散点图可视化不同评分评论的语义分布;关键步骤:读取向量数据→转换字符串向量为列表→校验向量维度→T-SNE降维→绘制颜色区分评分的散点图;核心注意点Embedding向量读取后是字符串,需用转为列表才能计算;T-SNE的perplexity、learning_rate参数会影响降维效果,需根据数据调整;中文可视化需提前配置matplotlib字体,避免乱码。
2026-02-27 16:41:38
727
原创 【耿直哥深度学习】15.6-项目实战:电影评论情感分类
方法核心步骤作用__init__初始化优化器(AdamW)、损失函数(CrossEntropyLoss)、学习率调度器配置训练所需的核心组件train遍历轮数→批量训练→损失计算→反向传播→学习率更新→验证准确率实现完整的训练流程validate禁用梯度→批量推理→统计正确数→计算准确率评估模型泛化能力,避免过拟合核心流程:电影评论情感分类的核心是“文本编码→BERT提取语义→分类层输出情感”,分为快速推理(Pipeline)和自定义训练(冻结预训练模型+训练分类层)两种方式;关键工具。
2026-02-24 00:07:05
593
原创 【耿直哥深度学习】15.2-词义搜索和句意表示
词向量是将单词表示为固定长度的向量,使语义相似的单词在向量空间中距离较近。这是自然语言处理(NLP)中的基础技术。:计算两个向量的余弦值,范围是[-1,1],但距离通常表示为1 - cos(θ),范围[0,2]Doc2Vec是Word2Vec的扩展,用于生成整个文档的向量表示。返回的是余弦距离(1 - cos(θ)),所以值越小表示越相似。:cos(θ),范围[-1,1]在Word2Vec中,
2026-02-24 00:01:18
623
原创 【耿直哥深度学习】15.1-词嵌入和word2vec
核心目标:词嵌入(word2vec)的核心是把离散词语转成能反映语义的连续向量,让计算机“理解”词语含义;gensim核心用法快速复用通用语义,适合英文场景;Word2Vec()训练专属词向量,需先分词,小数据集用sg=1;实操关键点中文必须分词(jieba),否则模型无法学习语义;保存模型前创建文件夹,避免路径报错;预训练模型体积大,按需选择是否加载,中文场景可替换为中文预训练词向量。
2026-02-23 23:54:05
438
原创 【耿直哥深度学习】14.5-项目实战-猫狗大战
项目核心:基于ResNet50迁移学习实现猫狗二分类,核心是复用预训练特征、仅替换最后一层适配新任务;数据处理关键:训练集数据增强(翻转/旋转/裁剪)防止过拟合,验证/测试集仅标准化保证评估真实;训练优化:使用学习率指数衰减、封装Trainer类简化训练逻辑,验证集监控模型性能;提交技巧:预测值限制在[0.005, 0.995],避免极端值导致BinaryCrossEntropyLoss暴增,提升Kaggle评分;环境适配:PyCharm版本将改为0避免多线程报错,路径改为相对路径适配项目结构。
2026-02-23 23:49:50
440
原创 【耿直哥深度学习】14.3-迁移学习
迁移学习核心流程:加载预训练模型 → 冻结特征提取层参数 → 替换分类层适配新任务 → 仅训练分类层 → 评估模型性能;参数冻结关键固定预训练特征,避免破坏已学习的通用视觉特征;模型适配要点:ResNet18替换fc层(输入512)、ViT替换heads层(输入768),输出维度需匹配新任务类别数(102);训练/测试模式启用训练相关层(如Dropout),保证测试结果准确;:ViT精度略高但训练速度慢,ResNet更轻量、训练效率高,小数据集场景下两者性能差距不大。
2026-02-23 23:47:11
408
原创 【耿直哥深度学习】14.2-图像数据增强
自定义图像变换:添加高斯噪声(数据增强的自定义实现)# 说明:PyTorch的transforms支持自定义类,只需实现__init__和__call__方法"""初始化噪声参数:param noise_factor: 噪声系数(控制噪声强度,值越大噪声越明显)""""""执行噪声添加逻辑(必须实现__call__方法,使类实例可像函数一样调用):param image: 输入的图像张量(形状[C, H, W],像素值[0,1]):return: 添加噪声后的图像张量"""
2026-02-23 23:44:55
509
原创 【耿直哥深度学习】14.1-自定义数据加载
场景1:标签嵌入文件名(如00_001.png,下划线前数字为标签):通过解析文件名提取标签场景2:标签存储在CSV文件:通过pandas按文件名匹配标签核心组件:PyTorch数据加载的核心是Dataset(定义数据结构)和DataLoader(批量加载),是快捷方式,自定义数据集需继承Dataset并实现__len__和。自定义数据集场景:标签嵌入文件名时解析文件名提取标签,标签在CSV时用pandas匹配,核心是“图像路径+标签”的一一对应。关键技巧transforms。
2026-02-23 23:39:36
210
原创 【耿直哥深度学习】13.6-图像生成
VAE核心:通过编码器将图像映射为隐变量的均值和方差,重参数化采样隐变量后,解码器重建图像,损失由“重构损失(保证重建质量)+ KL散度(保证隐空间正则性)”组成,适合生成连续、可解释的图像。GAN核心:生成器和判别器对抗训练,生成器从随机噪声生成图像,判别器区分真假图像,训练关键是平衡两者的损失(避免一方过强),生成的图像通常更清晰但训练更难收敛。数据预处理差异:VAE仅将图像转为张量(像素[0,1]),GAN额外归一化到[-1,1](匹配Tanh输出);
2026-02-23 16:04:52
392
原创 【耿直哥深度学习】12.6-GPT模型代码实现
数据预处理核心:中文GPT实现需先对文本进行字符级词元化,构建包含特殊标记的词表,通过padding统一批次内序列长度,适配PyTorch张量计算。GPT模型核心:仅由解码器构成,核心是自注意力机制(含Pad掩码和未来信息掩码),通过残差连接+层归一化稳定训练,最终通过投影层预测下一个token。文本生成逻辑:采用自回归方式,输入初始文本后循环生成token,直到触发终止标记(<sep>),实现对话回复生成。
2026-02-23 16:00:27
512
原创 【耿直哥深度学习】11.7-Transformer代码实现
Transformer的核心是自注意力机制,通过位置编码弥补无递归/卷积的位置信息缺失,通过掩码确保解码的时序性;多头注意力将注意力拆分为多个头,能捕捉不同维度的语义特征,残差连接+层归一化是稳定训练的关键;数据集构建需注意特殊词元(//)的处理,训练时忽略的损失,预测时遇到停止生成。
2026-02-23 15:56:26
570
原创 【耿直哥深度学习】11.5-注意力池化
注意力可视化通过热图直观展示权重分布,核心工具是,颜色深浅对应权重大小;注意力池化的核心是加权平均,Nadaraya-Watson核回归通过高斯核函数计算权重,相比平均池化能更好拟合非线性规律;Softmax归一化是注意力权重计算的关键步骤,确保权重和为1,是注意力机制的基础特性。
2026-02-23 15:52:34
527
原创 【耿直哥深度学习】10.7-序列到序列模型代码实现
Seq2Seq核心架构:由编码器(Encoder)和解码器(Decoder)组成,编码器将输入序列编码为上下文向量,解码器根据上下文向量生成目标序列,适用于“序列→序列”类任务。关键组件:Embedding层将离散词元转为连续向量,GRU/LSTM处理序列依赖,特殊词元(/)标记序列边界,贪心解码是基础的序列生成策略。训练与验证流程:训练时解码器输入为“+目标序列[:-1]”,采用交叉熵损失+Adam优化器;验证时通过贪心解码逐词生成序列,统计词元级别准确率评估效果。
2026-02-21 20:15:15
505
原创 【耿直哥深度学习】10.9-机器翻译代码实现
定义编码器self.embedding = nn.Embedding(vocab_size, ebd_size, padding_idx=3) # 将token表示为embedding# encoder_inputs从(batch_size, seq_len)变成(batch_size, seq_len, emb_size)再调整为(seq_len, batch_size, emb_size)# hidden 的形状为 (num_layers, batch_size, hidden_size)
2026-02-21 20:04:10
596
原创 【耿直哥深度学习】10.5-复杂循环神经网络代码实现
导入PyTorch神经网络核心模块和进度条模块import torch # 补充导入torch,避免后续代码报错# 定义深度循环神经网络(DRNN)类,继承自nn.Module(PyTorch所有模型的基类)# 构造函数参数说明:# input_size: 每个时间步的输入特征维度# output_size: 每个时间步的输出特征维度# hidden_size: 隐藏层的维度(隐藏状态的特征数)# num_layers: RNN的层数(深度)
2026-02-21 18:22:06
847
原创 【耿直哥深度学习】9.5-RNN时间序列数据预测
时间序列预测核心流程:数据获取→可视化→滑动窗口预处理→模型构建→训练→预测,其中滑动窗口采样是将时序数据转换为监督学习样本的关键步骤。MLP vs RNN核心差异:MLP将序列视为普通特征向量,无时序建模能力;RNN通过隐藏状态保存历史信息,能捕捉时间依赖性,因此在时序预测任务中损失更低、预测更准确。RNN数据维度关键:RNN输入需为,单特征时序数据需通过增加维度(如(53,6)→(53,6,1)),匹配RNN输入格式要求。
2026-02-21 18:00:31
583
原创 【耿直哥深度学习】8.6-DenseNet
定义DenseNet的整体网络结构# 构造函数参数说明:# block_config: 每个DenseBlock的层数(如DenseNet121为(6,12,24,16))# num_init_features: 初始卷积层输出通道数(默认64)# growth_rate: 增长率k(默认32)# bn_size: 瓶颈层缩放系数(默认4)# num_classes: 分类任务的类别数(默认1000,对应ImageNet)# 第一部分:初始特征提取层(和ResNet类似)
2026-02-19 11:31:08
526
原创 【耿直哥深度学习】8.5-ResNet
定义第一种残差模块BasicBlock(基础块)# 适用于ResNet18/34,由2个3x3卷积组成,通道数扩展系数为1# expansion(扩展系数):用于计算残差块最终输出通道数# BasicBlock的输出通道数 = planes * expansion = planes * 1# 构造函数参数说明:# inplanes: 输入特征图的通道数# planes: 中间卷积层的通道数(最终输出通道数=planes*expansion)
2026-02-19 11:25:47
568
原创 【耿直哥深度学习】8.4-GoogLeNet
定义一个基础卷积结构BasicConv2d(GoogLeNet的基础组件)# 该结构整合了“卷积+批量标准化+ReLU激活”,避免重复编写冗余代码,提升代码复用性super().__init__() # 调用父类nn.Module的初始化方法,完成网络层注册# 卷积层:# - in_channels:输入通道数# - out_channels:输出通道数# - bias=False:关闭卷积层的偏置(BN层会自带可训练的β参数,无需卷积层偏置)
2026-02-18 21:45:02
385
4
原创 【耿直哥深度学习】8.3-批量标准化
定义加入批量标准化(BN)的LeNet网络结构(经典手写数字识别模型的改进版)# 核心改进:在卷积层和全连接层后添加批量标准化层,解决梯度消失/爆炸,加速收敛super(LeNet, self).__init__() # 调用父类nn.Module的初始化方法,完成网络层注册# 卷积层1:输入1通道(MNIST手写数字为灰度图),输出6通道,5x5卷积核 → 后接2D批量标准化# nn.Sequential:按顺序执行的网络容器,将卷积层和BN层绑定为一个模块。
2026-02-18 21:40:00
383
原创 【耿直哥深度学习】8.2-VGGNet
VGGNet的核心创新是3x3小卷积核堆叠和统一的网络结构,用更少的参数量实现更大的感受野,同时通过加深网络提升特征提取能力;VGG系列通过cfgs配置项+函数实现了“一套代码适配多版本”,是深度学习工程化的经典范例;训练VGG时需注意:网络越深对学习率越敏感,批次大小需适配显存,数据增强要贴合任务场景(如花卉分类移除垂直翻转)。
2026-02-18 21:28:09
387
原创 【耿直哥深度学习】8.1-AlexNet
严格保留原代码的段落结构、标题和代码块划分,仅添加详细注释,确保零基础小白能理解每一行代码的作用:结构定义网络结构torchvision模型训练二、PyCharm版本(适配运行,无if name == ‘main’)调整代码适配PyCharm运行环境(路径、多进程加载、绘图弹窗),保留所有详细注释,可直接复制运行:
2026-02-18 21:18:42
512
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅