实习手记:基于大模型的搜索引擎开发实践

大模型驱动的新范式选车引擎 通过Agent化的方式构建了大模型驱动的生成式搜索引擎GSE,并对其进行了整体评估,在选车场景中传统引擎难以有效应对的长尾问题以及复杂选车问题上,效果独立评估与相对评估(相比传统搜索)上GSE都达到了非常不错的水平,选车体验焕然一新,更加出色。业界实践中,大模型做SFT(Supervised Fine-Tuning,有监督微调)经常会遇到比较棘手的情况,领域上能力增强,但是通用上的能力变得一塌糊涂,各种任务上的评测效果都显著下降,对垂直域上的数据产生过拟合,失去了原有的泛化能力。 阅读详情

初入团队:从理论到实践的跨越

五月份开始,我怀着忐忑又期待的心情以线上的方式加入了公司AI研发中心的搜索引擎优化小组。作为一名数据科学与大数据技术专业的学生,这是我第一次参与工业级AI项目的开发,团队的任务是构建一个基于大语言模型(LLM)的新一代搜索引擎。学长在入职第一天就告诉我:"我们不是要替代传统搜索引擎,而是要让搜索更智能、更人性化。"这句话成为了我整个实习期的指路明灯。

第一阶段:理解现有架构

1.1 传统搜索的瓶颈

团队首先让我分析了现有搜索引擎的痛点:

  • 关键词匹配的局限性

  • 无法理解用户真实意图

  • 长尾查询效果差

  • 个性化程度不足

# 传统搜索的简单模拟
def keyword_search(query, documents):
    scores = {}
    for doc in documents:
        score = sum(1 for word in query.split() if word in doc)
        scores[doc] = score
    return sorted(scores.items(), key=lambda x: -x[1])

1.2 大模型带来的变革

我们选择LLM作为核心是因为它能:

  • 理解自然语言查询的语义

  • 生成更自然的回答

  • 处理复杂、多轮查询

  • 具备一定的推理能力

第二阶段:原型开发

2.1 检索-重排-生成架构

团队决定采用流行的RAG(Retrieval-Augmented Generation)架构:

用户查询 → 传统检索 → 候选文档 → 大模型重排 → 生成回答

我负责的是重排模块的初期开发:

def rerank_with_llm(query, candidates, model):
    # 构造prompt
    prompt = f"请根据问题'{query}'的相关性对以下文档排序:\n"
    for i, cand in enumerate(candidates):
        prompt += f"{i+1}. {cand[:200]}...\n"
    
    # 调用大模型API
    response = model.generate(prompt)
    return parse_ranking(response)

2.2 遇到的挑战

  • ​​延迟问题​​:直接调用大模型API导致响应时间过长

  • ​​成本控制​​:每次查询都需要调用大模型,成本高昂

  • ​​结果不一致​​:模型有时会产生不符合预期的排序

第三阶段:优化与创新

3.1 混合检索策略

为了解决性能问题,我们设计了混合检索策略:

  1. 第一层:传统BM25快速检索

  2. 第二层:小型BERT模型精排

  3. 第三层:大模型仅处理前10结果

def hybrid_search(query, corpus):
    # 第一层:快速检索
    bm25_results = bm25_search(query, corpus, top_k=100)
    
    # 第二层:神经网络精排
    bert_scores = bert_rerank(query, bm25_results)
    top_10 = [x[0] for x in sorted(zip(bm25_results, bert_scores), 
                                  key=lambda x: -x[1])[:10]]
    
    # 第三层:大模型最终处理
    final_results = llm_rerank(query, top_10)
    return final_results

3.2 查询理解模块

我主导开发了查询理解模块,主要功能包括:

查询意图

分类实体识别与扩展

查询改写建议

def query_understanding(query):
    # 意图分类
    intent = classify_intent(query)
    
    # 实体识别
    entities = extract_entities(query)
    
    # 查询改写
    paraphrases = generate_paraphrases(query)
    
    return {
        'intent': intent,
        'entities': entities,
        'paraphrases': paraphrases
    }

第四阶段:评估与迭代

4.1 评估指标体系

我们建立了多维度的评估体系:

  1. ​​相关性​​:nDCG@5, nDCG@10

  2. ​​响应速度​​:P99延迟

  3. ​​用户满意度​​:点击率、停留时间

  4. ​​商业价值​​:转化率

4.2 A/B测试结果

经过一个月的A/B测试,新系统表现:

  • 相关性提升32%

  • 长尾查询效果提升45%

  • 用户停留时间增加28%

  • 响应时间增加180ms(仍在可接受范围)

技术难点与突破

5.1 大模型蒸馏

为了平衡效果和性能,我们尝试了模型蒸馏技术:

  • 使用GPT-4生成训练数据

  • 训练小型专用模型

  • 实现90%的效果保留,速度提升5倍

5.2 缓存机制创新

我提出的层级缓存设计被团队采纳:

  1. 查询结果缓存

  2. 中间表示缓存

  3. 模型输出缓存

class SearchCache:
    def __init__(self):
        self.query_cache = LRUCache(10000)
        self.embedding_cache = LRUCache(50000)
        self.llm_cache = LRUCache(1000)
    
    def get(self, query):
        if query in self.query_cache:
            return self.query_cache[query]
        
        # 其他处理逻辑...

个人成长与收获

6.1 技术能力的提升

  • 深入理解了现代搜索引擎架构

  • 掌握了LLM在实际产品中的应用技巧

  • 提升了大规模系统优化能力

6.2 团队协作经验

  • 学会了在大型代码库中协作开发

  • 掌握了敏捷开发流程

  • 提高了技术方案表达能力

未来展望

实习结束时,团队已经开始规划下一阶段工作:

  1. 多模态搜索支持

  2. 个性化搜索体验

  3. 端到端的学习排序

这次实习让我深刻认识到,AI产品的开发不仅仅是模型的堆砌,更是系统工程、用户体验和技术创新的完美结合。每当我看到自己参与开发的系统被真实用户使用并产生价值时,那种成就感是无可比拟的。实习期还未结束,希望我能在接下来的实习过程中顶住压力来继续达到目标!

LLM入门手记:从Tokenizer到本地推理的实践指南 大语言模型(LLM)是当前AI工程落地的核心技术,其本质是基于Transformer架构的概率化文本生成系统。理解tokenization分词机制、上下文窗口限制与inference参数协同效应,是避免幻觉、控制成本、提升响应质量的基础能力。本文聚焦本地可运行的最小闭环实践,以Llama-3-8B-Instruct为载体,详解tokenizer中文切分差异、KV Cache内存行为、temperature/top_p等关键参数的物理意义,并覆盖MPS加速、4-bit量化、安全加载等真实部署场景。适合希望摆脱 阅读详情

相关推荐

LLM开发者、智能检索与多智能体:生产级大模型应用三大支柱

大语言模型(LLM)已从研究热点迈入工程落地深水区,其核心挑战不再局限于模型本身,而在于如何构建可信赖、可审计、可维护的AI系统。理解LLM开发者角色本质,是掌握模型能力边界与接口契约设计的关键;构建更聪明的搜索引擎,需融合语义检索、查询重写与可信度自验证三重范式跃迁;而多智能体模式的价值,在于将复杂任务分解为职责清晰、状态可控、失败可溯的协作单元。这些实践直指RAG瓶颈、提示工程失效与单次推理局限等真实痛点,广泛适用于金融合规、工业知识库、教育协同等私有数据场景,为从PoC走向规模化部署提供可复用的方法论

weixin_33182798的博客 302

[AI] 基于大模型的AI搜索引擎

概述:基于大模型的AI搜索引擎 ∈ 大模型智能体应用 AI搜索引擎的架构与组成 用户层:用户输入问题/关键词 Agent层: 用户的输入(当前和历史) + 问题提问模板 => 标准的问题 ... 记忆层:用户的历史对话 大模型层(Ollama + 私有大模型 | 公有大模型) 大模型层的优化技术方向:指令微调(Fine-Tuning) / RAG + 向量数据库 ...

weixin_41091637的博客 803

技术博客生存手记:个体写作者的可信赖交付实践

技术博客本质是建立专业信任的数字载体,其核心不在流量获取,而在稳定、精准、可验证的内容交付能力。它依托于严谨的技术验证机制(如多环境实测、版本锚定、错误复现)、结构化的问题解决范式(从报错出发的‘问题树’模型),以及工程级的发布纪律(周更节奏、性能约束、可访问性设计)。这类实践显著提升读者决策效率与知识复用率,广泛应用于开发者技术沉淀、中小团队知识管理、开源项目文档增强等场景。Fish Li 的独立博客十年实践,正是这一逻辑在无算法扶持、无商业资源条件下的真实印证。

393

重磅再推 | 基于OpenSearch向量检索版+大模型,搭建对话式搜索

阿里云OpenSearch再推面向企业开发者PaaS方案:基于OpenSearch向量检索版,为企业开发者提供性能表现优秀、性价比优异的向量检索服务,并提供与大模型结合脚本工具,用户可在使用能力可靠向量检索服务的同时,自由选择文档切片方案、向量化模型、大语言模型。

科技很有意思 1056

DeepSeek与文心一言技术路线对比:开源模型vs搜索增强大模型

大语言模型(LLM)作为AI基础设施的核心组件,其选型本质是技术路线与业务场景的深度匹配问题。理解模型原理需回归基础:开源模型依赖社区协同与软硬协同优化,强调可调试性与部署自由;而搜索增强型大模型则融合索引、知识图谱与生成能力,突出开箱即用与合规可控。二者在长文本处理、代码生成、多模态理解等关键能力上呈现显著错位——并非性能高下之分,而是范式差异所致。企业落地时,初创团队常借DeepSeek快速验证创意,政企客户则倾向文心一言降低集成风险。本文基于23个真实项目经验,拆解国产大模型在算力约束、数据合规、场景

weixin_29061531的博客 360

逆向攻防世界CTF系列40-ReverseMe-120

注意sub_401000main中只传了两个参数,但是跟进后发现四个(可能是隐式传递,放在寄存器里传递了),调试发现a4是输入长度,与最终的you_know_how_to_remove_junk_code比较的是v12(但是并没有被传入),开始怀疑是不是隐式传递了。_mm_xor_si128用于计算128位(16字节)的按位异或,然后通过v14控制循环结束的条件,可以看到v14增长的步长为16,而且通过上面得到的flag值解码得到的字符串为32个字节大小,正好是16的整数倍。

LH1013886337的博客 1407

基于 OpenSearch 向量检索版+大模型,搭建对话式搜索

阿里云OpenSearch再推面向企业开发者的PaaS方案:基于OpenSearch向量检索版,为企业开发者提供性能表现优秀、性价比优异的向量检索服务,并提供与大模型结合脚本工具,用户可在使用能力可靠的向量检索服务的同时,自由选择文档切片方案、向量化模型、大语言模型。

阿里云云栖号 1809

树莓派与无人机协同实战:基于OpenCV的地标识别优化策略

本文深入探讨了基于树莓派与无人机的协同系统,重点分享了利用OpenCV优化地标识别以实现精准降落的实战策略。内容涵盖从应对复杂光照的图像预处理、鲁棒的轮廓几何过滤,到通过ROS进行稳定通信,以及实现分层控制与状态机设计,旨在提升系统在真实环境中的可靠性与性能。

y2z3a4b5c的博客 1085

实习手记 :日志接入 ES 方案(一)——本地 IDC 极简与高可用 Logstash 流水线搭建

本文分享了在本地IDC环境下搭建高可用Logstash日志流水线的实践经验。针对业务直连Logstash/ES的三大痛点(资源占用、流量洪峰、数据丢失),提出了基于Filebeat+Logstash+ES的标准架构方案。详细介绍了Logstash配置模板(input接收Filebeat日志,filter进行解析脱敏,output动态写入ES),并总结了关键调优技巧:开启持久化队列防止数据丢失,调整JVM堆内存和批量参数提升吞吐量,以及通过监控队列积压、事件吞吐量和JVM堆使用率来保障流水线稳定运行。这套方案

Aision_tean的博客 1万+

机器学习预测股票收益(一)之随机森林模型

机器学习预测股票收益(一)前言一、导入库和数据二、处理数据以及计算特征变量三、使用随机森林回归预测股票收益1.构建训练集和测试集2.查看预测结果四、根据预测结果构建long-short投资组合1.定义投资组合函数2.定义绩效分析函数五、引入Fama-French Factor六、投资组合表现1.超额收益表现2.多因子回归总结 前言 本文将使用Python整理1927-2020年所有美国上市公司股票数据。根据历史收益以及交易量,使用随机森林,支持向量机以及神经网络等机器学习方法预测股票收益。最优结果构建的资产

weixin_47174968的博客 1万+

生态学家都在用的MixSIAR:用R语言搞定稳定同位素混合模型(从数据整理到结果解读)

本文详细介绍了生态学家常用的MixSIAR工具,通过R语言实现稳定同位素混合模型分析,从数据整理到结果解读全流程。文章涵盖环境准备、模型构建、参数设置、运行诊断及可视化等关键步骤,帮助研究者科学分析河口鱼类食物来源,适用于生态学研究和湿地保护政策制定。

weixin_28683065的博客 437

大模型开发手记(二):基于 LangChain 的 RAG 架构全面解析与落地实践

这个系列博客主要打算汇总一下python大模型开发的所有知识体系,大模型知识点太多,包括langchain、langgraph、deepagent、RAG应用等等,时间长了脑子就乱子,这篇博客主要汇总一下基于langchain的RAG开发的相关知识点,重点在整个流程和原理,只要弄懂了原理,不一定是基于langchain,用java调用各个组件,也是可以实现rag的大部分流程。

勇往直前的博客 911

【嵌入式DIY实例-ESP32篇】-智能花园助手

本文介绍了一个基于ESP32的智能花园监控系统。系统使用ESP-EYE摄像头开发板,集成了土壤湿度传感器、DHT22温湿度传感器和电磁阀等模块,实现植物生长环境监测与自动灌溉功能。硬件部分详细说明了各传感器的接线方式,软件部分展示了如何通过Firebase实现数据存储和远程监控。系统可实时采集土壤湿度、空气温湿度等数据,并通过摄像头监控植物状态,当检测到环境参数异常时,可自动控制水泵进行灌溉,为植物提供最佳生长环境。

视觉与物联智能 263

Kimi K3大模型与天文课手记:AI赋能天文观测实践指南

大语言模型(LLM)作为人工智能领域的重要突破,通过深度学习技术实现了对人类语言的深度理解和生成。其核心原理基于Transformer架构,能够处理复杂的语义关系和上下文信息。在技术价值层面,LLM显著提升了自然语言处理的准确性和效率,为各行业提供了智能化的解决方案。特别是在天文观测领域,结合长文本处理和科学推理能力,大模型能够有效分析观测数据、生成专业报告。Kimi K3作为月之暗面推出的新一代大语言模型,在天文课手记工具的配合下,为天文爱好者和研究人员提供了强大的AI分析能力,实现了观测记录、数据分析和

weixin_29084231的博客 282

MTK平台WiFi学习--Wi-Fi 连线/断线问题初步分析

摘要:本文详细介绍了MTK平台WiFi连接问题的日志分析方法。文章首先阐述了WiFi连接的标准流程,包括指令接收、BSSID选择、信道分配、认证关联、四次握手和DHCP获取等关键步骤。针对常见故障场景,如选网失败、信道申请失败、认证关联失败、四次握手失败等,提供了具体的日志分析方法和排查思路,包括识别关键日志、分析状态码、结合固件日志和抓包数据等。文章还特别强调了不同故障场景下需要收集的日志类型和分析要点,为WiFi连接问题的定位提供了一套系统化的解决方案。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1590

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

【系统架构设计师-2025上半年真题】案例分析-参考答案及部分详解

数据知道的博客 1万+

【技术手记】DeepSeek-R1大模型本地部署实践,全面解析!

搭建的过程对新手非常友好,DeepSeek的开源特性可以在其基础上进行二次开发,极大降低门槛和成本,还促进了AI技术的快速传播和应用。本地部署更多的作用是保护敏感数据,并且可以个性化定制,比如搭建私人知识库。如果没有这个需求还是网页版效果更好,毕竟个人搭建高参数模型成本比较高。

2401_85390073的博客 960

ML307R OpenCPU TCP使用

实现现象 平台下发数据,板子在收到数据之后,马上再发送到平台,通过串口助手可以看到已经接收到数据。ML307R TCP 是使用LWIP的标准的socket通信,具体TCP流程可以自行百度。实验目的:实现把接收的数据再发送到服务端。因为是4G,所以必须用外网的。

面朝大海春暖花开 2232

大模型低成本高性能演进 从GPT到DeepSeek的技术实战手记

【摘要】本文分享大模型部署实战经验,重点解析如何用消费级显卡高效运行DeepSeek-7B模型。通过混合专家架构(MoE)、4-bit量化和动态稀疏激活三大技术,在RTX3090上实现58.7 token/s的推理速度,显存占用降至20GB以内。文章包含完整部署代码、企业级优化方案(电商客服场景实测成本降低71%)及常见故障排查指南。特别强调:7B模型经垂直领域微调后,效果可超越未调优的70B模型,证明参数规模并非性能决定因素。文末还介绍了低门槛参与AI技术交流的AMA活动,为开发者提供实用资源。

七夜zippoe的博客 3万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

实习手记 Day:从 ELK 到 Agent 的“最后一公里”——告警消费与上下文富化

alert_id: str = Field(description="告警唯一标识符")timestamp: str = Field(description="告警发生时间")severity: str = Field(description="告警严重程度: Low, Medium, High, Critical")attack_technique: Optional[str] = Field(description="MITRE ATT&CK 战术/技术编号")# 实体信息。

Aision_tean的博客 5970

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ERNIE3.0实践手记

基于Ernie-3.0-medium-zh大模型,这篇博文运用孤注一掷影评数据进行情感分析,共600条数据,进行了词云展示。利用正则表达式清理数据,利用中的函数对数据进行处理,数据变成了[{‘text_a’: ‘data’, ‘label’: label},……] 的格式。

m0_73085867的博客 1291

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

独立大模型创业者的代码生存手记:从二手A100到SLO达标

大模型推理服务并非调用API即可交付,其本质是模型、系统与业务三层深度耦合的工程实践。理解Transformer底层计算流、CUDA内存生命周期和动态批处理调度逻辑,是构建可控、可审计、低成本服务的前提。尤其在算力受限场景下,PyTorch手动device map管理、CPU预处理优化、GPTQ量化后处理等‘脏活’,直接决定推理延迟、显存利用率与千token成本。本文聚焦独立团队真实落地中的技术取舍——为何弃用vLLM而自研调度器、为何坚持逐行审计requirements.txt、如何用三重校验保障模型行为

weixin_34204722的博客 501

大模型生成长度预测器

在Transformer大模型推理过程中,**KV缓存(Key-Value Cache)**的内存占用会随着序列长度呈线性增长。传统系统(如HuggingFace Transformers和FasterTransformer)要么频繁分配内存导致延迟,要么预分配最大长度造成资源浪费。,将吞吐量提升6.49倍。

goodgood_UP的博客 970

大模型开发手记(九):LangChain Agent 中间件-提升Agent的可靠性与可控性

在构建复杂的LangChain Agent时,我们常常面临上下文超限、成本失控、工具调用失败、敏感信息泄露等问题。LangChain提供了一套生产就绪的预构建中间件,像乐高积木一样,让我们轻松为Agent添加对话总结、人工审核、调用限流、自动重试等能力。这篇博客主要讲述中间件的作用、有哪些内置的中间件、怎么自己定义中间等场景:长对话易超Token限制,自动总结旧消息,保留最新上下文。配置:trigger:触发总结的条件(如token数≥4000或消息数≥6)

勇往直前的博客 975

2022 AI工程化实战:数据质量、MLOps与大模型落地指南

在AI从实验室走向产线的关键转折期,‘数据质量’与‘MLOps’已成为决定模型能否上线、可否审计、是否可持续的核心基础能力。本文基于32个真实工业项目实践,解析数据漂移检测、特征泄漏规避、模型可追溯性设计等高频痛点,系统阐述如何将Great Expectations、Delta Lake、MLflow 2.0+等工具链嵌入端到端AI流水线,并融合大模型Prompt工程与RAG基建实现低代码智能应用。内容覆盖数据治理契约化、特征平台工业化、模型护照标准化等2022年已验证的硬核落地范式,为金融、制造、政务等行

weixin_34095889的博客 362
上一篇: 基于CentOS的分布式GitLab+Jenkins+Docker架构:企业级CI/CD流水线实战全记录
下一篇: 从零实现AI编译器核心组件:实习学习开发实践
loopdeloop
博客等级 码龄4年 219粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值