- 博客(318)
- 收藏
- 关注
原创 【大模型】8.6具备自主决策能力的SQL智能代理(Agent)
核心能力:SQL智能Agent实现“自然语言→自主查表/查结构→生成SQL→执行→自然语言回答”的全流程自动化,支持复杂数据库问答;核心组件封装全套SQL工具,无需手动构建;是Agent执行的核心,封装决策和工具调用逻辑;定义Agent的行为规则,保障安全和规范;关键流程:Agent处理问题时会先查表名→再查表结构→最后生成/执行SQL,避免语法错误;实用技巧优先使用gpt-4-turbo作为Agent推理引擎,复杂SQL生成/决策能力更强;
2026-03-07 22:55:06
419
原创 【大模型】8.6自然语言转SQL并自动执行查询的智能问答系统
核心能力:实现“自然语言→SQL→执行→自然语言回答”的全流程自动化,无需手动编写/执行SQL;核心流程:数据库连接→SQL生成→SQL执行→结果整合→自然语言回答;关键组件是自然语言转SQL的核心;实现SQL自动执行;串联多步骤,简化输出;实用技巧数据库URL需指定避免中文乱码;测试时先打印生成的SQL,确认无误后再执行,避免误操作;可通过LangChain Tracing查看SQL生成/执行的详细日志,便于调试。
2026-03-07 22:33:27
414
原创 【大模型】8.5具备会话历史感知能力的检索增强生成(RAG)智能问答系统
核心能力:历史感知检索器解决RAG“模糊追问无上下文”的痛点,实现精准检索;核心流程:网页加载→文本切割→向量存储→历史感知检索→问答→会话历史管理;关键组件是实现历史感知的核心;是会话隔离、上下文关联的关键;实用技巧文本切割时设置避免语义割裂;通过session_id隔离不同用户的会话,避免历史混淆;提示模板中明确“仅基于上下文回答”,避免模型编造答案。
2026-03-07 22:27:36
389
原创 【大模型】8.4基于LangChain、LangGraph、Tavily实现具备自动工具调用能力的智能代理(Agent)
Agent核心价值:解决大模型“知识过期”“无实时数据”痛点,能自动判断并调用外部工具(如Tavily搜索)获取最新数据;关键组件TavilySearchResults提供实时搜索能力,需配置API Key;chat_agent_executor封装完整的Agent执行流程,无需手动实现工具调用逻辑;bind_tools让模型具备“是否调用工具”的推理能力(底层逻辑);执行逻辑无需工具的问题→模型直接回答;需要工具的问题→模型调用工具→整合结果→回答;实用技巧控制Tavily的。
2026-03-06 17:42:57
363
原创 【大模型】8.3基于LangChain实现检索增强生成(RAG)功能
RAG核心逻辑:先检索向量库中的相似文档作为上下文,再让模型基于上下文回答,解决大模型“幻觉”问题;向量库关键Chroma.from_documents将Document转为向量存储,依赖OpenAIEmbeddings生成向量;检索器通过RunnableLambda封装检索方法,bind(k=1)控制返回最相似的1个文档;链的执行RunnablePassthrough透传用户问题,检索器提供上下文,共同填充提示模板;{参数映射} | 提示模板 | 模型。
2026-03-05 22:18:30
370
原创 【大模型】8.2基于LangChain实现带会话历史的多语言聊天机器人
核心能力:LangChain通过实现会话历史管理,session_id是区分不同用户的核心;关键组件是提示模板中关联历史的核心,需与保持一致;调用方式invoke:一次性获取完整响应,适合短文本;stream:逐token返回,适合实时对话/长文本;实用技巧内存存储的会话历史仅适合测试,生产环境需用Redis/数据库持久化;会话历史会增加提示词长度,需注意模型的上下文窗口限制(gpt-4-turbo为128k token);可通过清空指定session_id的历史记录。
2026-03-05 22:13:57
364
原创 【大模型】8.1基于LangChain框架实现多语言翻译功能
LangChain核心:通过“提示模板+模型+解析器+链”简化大模型应用开发,管道符串联组件是核心语法;参数化提示:ChatPromptTemplate支持动态替换变量({language}/{text}),适配多语言翻译场景,比固定消息列表更灵活;部署关键:LangServe的可快速将链部署为FastAPI服务,启动后通过可测试接口;实用技巧开启LangChain Tracing便于调试链的执行问题;链调用时需传入与模板匹配的变量字典,否则会报错;服务启动后,若端口8000被占用,可修改。
2026-03-05 22:08:06
395
原创 【大模型】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
527
原创 【大模型】5.6生成配音
核心流程:文本生成配音的核心步骤是“初始化客户端→配置TTS参数→创建流式响应→保存音频文件”,流式响应是节省内存的关键;关键参数:voice(音色)、speed(语速)、response_format(格式)是定制配音效果的核心,需根据文本类型(新闻/故事/情感)选择;实用技巧需提前创建./audio文件夹,否则会报“文件不存在”错误;中文生成优先选nova(新闻)、onyx(解说)、shimmer(情感)音色;
2026-03-01 12:19:57
521
原创 【大模型】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
550
原创 【大模型】5.4识别图片——本地的图片
核心逻辑:本地图片识别的核心是“Base64编码转换”,需将图片转为base64,{Base64字符串}格式传入多模态API;请求构造:直接HTTP请求需手动配置请求头(认证+格式)和请求体(模型+多模态内容),状态码200是请求成功的关键;实用技巧密钥需配置为环境变量(),避免硬编码泄露;失败时通过和resp.text排查问题(401=密钥错,429=频率超限);不同图片格式(png/webp)需修改Base64拼接中的image/jpeg为对应格式;对比SDK。
2026-03-01 11:36:47
618
原创 【大模型】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
539
原创 【大模型】5.2构建一个Python程序员的ai助手
核心流程:创建助手(定义Python编程能力)→创建线程(维护上下文)→发送消息→触发运行→获取结果,是Assistants API的标准使用流程;核心价值:Code Interpreter确保生成的代码可运行,Thread自动维护上下文,让模型理解简略提问;关键注意事项:必须使用gpt-4o模型、配置代理和API密钥、通过Run的状态码判断是否处理完成。
2026-03-01 11:29:22
599
原创 【大模型】5.1构建一个数学的ai助手
核心目标:掌握OpenAI Assistants API(Beta版)的完整使用流程,理解“创建助手→创建线程→发送消息→流式获取回复→清理资源”的核心逻辑,学会使用Code Interpreter工具实现数学计算;关键知识点Assistants API是构建“工具辅助型智能助手”的核心接口,Code Interpreter工具是数学/代码场景的关键;Thread(线程)自动维护上下文,Run(运行)触发助手回复,流式返回提升实时交互体验;
2026-02-28 23:14:16
455
原创 【大模型】4.8聊天机器人案例
核心目标:掌握OpenAI Chat Completions API的核心用法,理解多轮上下文对话的实现原理(维护messages列表),区分“带上下文”和“无上下文”会话的差异;关键知识点Chat Completions API是多轮对话的核心,messages列表是上下文记忆的载体,包含system/user/assistant三种角色;上下文记忆的实现:每轮回复后将assistant的内容append到messages,模型通过完整列表理解指代关系;
2026-02-28 11:06:53
588
原创 【大模型】4.7文本生成的案例
核心目标:掌握OpenAI Completions API(文本补全接口)的基础用法,实现英文文本、中文笑话、Python代码的生成,理解核心参数的作用;关键知识点Completions API是单轮文本生成接口,适配模型,区别于对话接口的Chat Completions;prompt(指令)、max_tokens(长度)、(随机性)、n(结果份数);返回结果的核心是,提取该字段可获取纯生成内容;实用价值快速生成文本/代码/创意内容,适配单轮生成场景;
2026-02-28 10:39:06
493
原创 【大模型】4.6模型的API操作
核心目标:掌握OpenAI API的基础操作——初始化客户端、查询所有可用模型、获取单个模型详情,为后续调用GPT/Embedding等模型打下基础;关键知识点OpenAI Client是所有API操作的入口,需配置API密钥和网络代理;Models API的list()和retrieve()是查看模型信息的核心接口;模型ID是调用API的核心参数,需准确匹配(大小写敏感);实用价值开发前验证模型是否可用、ID是否正确;排查API连接问题(代理/密钥配置是否正确);
2026-02-28 10:33:47
503
原创 【大模型】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
612
原创 【大模型】4.4基于Embedding的相似搜索
核心目标:基于OpenAI Embedding向量和余弦相似度,实现亚马逊评论的语义相似搜索(而非传统关键词搜索);关键步骤:读取Embedding向量数据→关键词向量化→计算每条评论与关键词的余弦相似度→按相似度排序返回结果;核心注意点关键词和评论必须用同一Embedding模型(text-embedding-ada-002),否则向量维度/分布不同,相似度计算无意义;余弦相似度是Embedding相似搜索的核心指标,取值越接近1,语义相似度越高;
2026-02-27 17:47:26
479
原创 【大模型】4.3采用聚类和T-SNE来可视化
核心目标:通过KMeans对1536维的评论Embedding向量做无监督聚类(3类),再用T-SNE降维到2维,可视化不同聚类类别的语义分布;关键步骤:读取向量数据→转换向量格式→构建高维矩阵→KMeans聚类(生成标签)→T-SNE降维→绘制颜色区分聚类的散点图;核心注意点KMeans的类别数k需手动指定,实际应用中可通过“肘部法则”选择最优k;先聚类(高维)再降维(可视化)是最优流程,避免降维后聚类导致信息丢失;
2026-02-27 16:52:45
635
原创 【大模型】4.2.采用T-SNE来可视化
核心目标:将1536维的评论Embedding向量通过T-SNE降维到2维,并用散点图可视化不同评分评论的语义分布;关键步骤:读取向量数据→转换字符串向量为列表→校验向量维度→T-SNE降维→绘制颜色区分评分的散点图;核心注意点Embedding向量读取后是字符串,需用转为列表才能计算;T-SNE的perplexity、learning_rate参数会影响降维效果,需根据数据调整;中文可视化需提前配置matplotlib字体,避免乱码。
2026-02-27 16:41:38
681
原创 【大模型】4.1创建Embedding模型
核心目标:将亚马逊美食评论文本通过OpenAI的text-embedding-ada-002模型转化为1536维的语义向量,为后续语义检索、相似度分析等任务做准备;关键步骤:数据读取→预处理(去重/去缺失值)→Token计数与过滤→调用Embedding API生成向量→保存结果;核心注意点:需配置OpenAI API密钥和网络代理,严格控制Token数量不超过模型上限(8191),确保API调用成功。
2026-02-27 16:25:46
465
原创 【耿直哥深度学习】15.6-项目实战:电影评论情感分类
方法核心步骤作用__init__初始化优化器(AdamW)、损失函数(CrossEntropyLoss)、学习率调度器配置训练所需的核心组件train遍历轮数→批量训练→损失计算→反向传播→学习率更新→验证准确率实现完整的训练流程validate禁用梯度→批量推理→统计正确数→计算准确率评估模型泛化能力,避免过拟合核心流程:电影评论情感分类的核心是“文本编码→BERT提取语义→分类层输出情感”,分为快速推理(Pipeline)和自定义训练(冻结预训练模型+训练分类层)两种方式;关键工具。
2026-02-24 00:07:05
572
原创 【耿直哥深度学习】15.2-词义搜索和句意表示
词向量是将单词表示为固定长度的向量,使语义相似的单词在向量空间中距离较近。这是自然语言处理(NLP)中的基础技术。:计算两个向量的余弦值,范围是[-1,1],但距离通常表示为1 - cos(θ),范围[0,2]Doc2Vec是Word2Vec的扩展,用于生成整个文档的向量表示。返回的是余弦距离(1 - cos(θ)),所以值越小表示越相似。:cos(θ),范围[-1,1]在Word2Vec中,
2026-02-24 00:01:18
604
原创 【耿直哥深度学习】15.1-词嵌入和word2vec
核心目标:词嵌入(word2vec)的核心是把离散词语转成能反映语义的连续向量,让计算机“理解”词语含义;gensim核心用法快速复用通用语义,适合英文场景;Word2Vec()训练专属词向量,需先分词,小数据集用sg=1;实操关键点中文必须分词(jieba),否则模型无法学习语义;保存模型前创建文件夹,避免路径报错;预训练模型体积大,按需选择是否加载,中文场景可替换为中文预训练词向量。
2026-02-23 23:54:05
393
原创 【耿直哥深度学习】14.5-项目实战-猫狗大战
项目核心:基于ResNet50迁移学习实现猫狗二分类,核心是复用预训练特征、仅替换最后一层适配新任务;数据处理关键:训练集数据增强(翻转/旋转/裁剪)防止过拟合,验证/测试集仅标准化保证评估真实;训练优化:使用学习率指数衰减、封装Trainer类简化训练逻辑,验证集监控模型性能;提交技巧:预测值限制在[0.005, 0.995],避免极端值导致BinaryCrossEntropyLoss暴增,提升Kaggle评分;环境适配:PyCharm版本将改为0避免多线程报错,路径改为相对路径适配项目结构。
2026-02-23 23:49:50
409
原创 【耿直哥深度学习】14.3-迁移学习
迁移学习核心流程:加载预训练模型 → 冻结特征提取层参数 → 替换分类层适配新任务 → 仅训练分类层 → 评估模型性能;参数冻结关键固定预训练特征,避免破坏已学习的通用视觉特征;模型适配要点:ResNet18替换fc层(输入512)、ViT替换heads层(输入768),输出维度需匹配新任务类别数(102);训练/测试模式启用训练相关层(如Dropout),保证测试结果准确;:ViT精度略高但训练速度慢,ResNet更轻量、训练效率高,小数据集场景下两者性能差距不大。
2026-02-23 23:47:11
384
原创 【耿直哥深度学习】14.2-图像数据增强
自定义图像变换:添加高斯噪声(数据增强的自定义实现)# 说明:PyTorch的transforms支持自定义类,只需实现__init__和__call__方法"""初始化噪声参数:param noise_factor: 噪声系数(控制噪声强度,值越大噪声越明显)""""""执行噪声添加逻辑(必须实现__call__方法,使类实例可像函数一样调用):param image: 输入的图像张量(形状[C, H, W],像素值[0,1]):return: 添加噪声后的图像张量"""
2026-02-23 23:44:55
493
原创 【耿直哥深度学习】14.1-自定义数据加载
场景1:标签嵌入文件名(如00_001.png,下划线前数字为标签):通过解析文件名提取标签场景2:标签存储在CSV文件:通过pandas按文件名匹配标签核心组件:PyTorch数据加载的核心是Dataset(定义数据结构)和DataLoader(批量加载),是快捷方式,自定义数据集需继承Dataset并实现__len__和。自定义数据集场景:标签嵌入文件名时解析文件名提取标签,标签在CSV时用pandas匹配,核心是“图像路径+标签”的一一对应。关键技巧transforms。
2026-02-23 23:39:36
198
原创 【耿直哥深度学习】13.6-图像生成
VAE核心:通过编码器将图像映射为隐变量的均值和方差,重参数化采样隐变量后,解码器重建图像,损失由“重构损失(保证重建质量)+ KL散度(保证隐空间正则性)”组成,适合生成连续、可解释的图像。GAN核心:生成器和判别器对抗训练,生成器从随机噪声生成图像,判别器区分真假图像,训练关键是平衡两者的损失(避免一方过强),生成的图像通常更清晰但训练更难收敛。数据预处理差异:VAE仅将图像转为张量(像素[0,1]),GAN额外归一化到[-1,1](匹配Tanh输出);
2026-02-23 16:04:52
380
原创 【耿直哥深度学习】12.6-GPT模型代码实现
数据预处理核心:中文GPT实现需先对文本进行字符级词元化,构建包含特殊标记的词表,通过padding统一批次内序列长度,适配PyTorch张量计算。GPT模型核心:仅由解码器构成,核心是自注意力机制(含Pad掩码和未来信息掩码),通过残差连接+层归一化稳定训练,最终通过投影层预测下一个token。文本生成逻辑:采用自回归方式,输入初始文本后循环生成token,直到触发终止标记(<sep>),实现对话回复生成。
2026-02-23 16:00:27
492
原创 【耿直哥深度学习】11.7-Transformer代码实现
Transformer的核心是自注意力机制,通过位置编码弥补无递归/卷积的位置信息缺失,通过掩码确保解码的时序性;多头注意力将注意力拆分为多个头,能捕捉不同维度的语义特征,残差连接+层归一化是稳定训练的关键;数据集构建需注意特殊词元(//)的处理,训练时忽略的损失,预测时遇到停止生成。
2026-02-23 15:56:26
555
原创 【耿直哥深度学习】11.5-注意力池化
注意力可视化通过热图直观展示权重分布,核心工具是,颜色深浅对应权重大小;注意力池化的核心是加权平均,Nadaraya-Watson核回归通过高斯核函数计算权重,相比平均池化能更好拟合非线性规律;Softmax归一化是注意力权重计算的关键步骤,确保权重和为1,是注意力机制的基础特性。
2026-02-23 15:52:34
504
原创 【耿直哥深度学习】10.7-序列到序列模型代码实现
Seq2Seq核心架构:由编码器(Encoder)和解码器(Decoder)组成,编码器将输入序列编码为上下文向量,解码器根据上下文向量生成目标序列,适用于“序列→序列”类任务。关键组件:Embedding层将离散词元转为连续向量,GRU/LSTM处理序列依赖,特殊词元(/)标记序列边界,贪心解码是基础的序列生成策略。训练与验证流程:训练时解码器输入为“+目标序列[:-1]”,采用交叉熵损失+Adam优化器;验证时通过贪心解码逐词生成序列,统计词元级别准确率评估效果。
2026-02-21 20:15:15
483
原创 【耿直哥深度学习】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
583
原创 【耿直哥深度学习】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
820
原创 【耿直哥深度学习】9.5-RNN时间序列数据预测
时间序列预测核心流程:数据获取→可视化→滑动窗口预处理→模型构建→训练→预测,其中滑动窗口采样是将时序数据转换为监督学习样本的关键步骤。MLP vs RNN核心差异:MLP将序列视为普通特征向量,无时序建模能力;RNN通过隐藏状态保存历史信息,能捕捉时间依赖性,因此在时序预测任务中损失更低、预测更准确。RNN数据维度关键:RNN输入需为,单特征时序数据需通过增加维度(如(53,6)→(53,6,1)),匹配RNN输入格式要求。
2026-02-21 18:00:31
562
原创 【耿直哥深度学习】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
513
原创 【耿直哥深度学习】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
549
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅