Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RAG+内容推荐,应该如何实践?

RAG+内容推荐,应该如何实践?

作者头像
掘金安东尼
发布于 2024-07-18 00:10:59
发布于 2024-07-18 00:10:59
30000
代码可运行
举报
文章被收录于专栏:掘金安东尼掘金安东尼
运行总次数:0
代码可运行

最近业务有需求:结合RAG+内容推荐,针对实践部分,做一点探究。

话不多说,直接开冲!

背景

首先回顾一下 RAG 技术定义,它可以结合信息检索和生成模型的混合。简单来说,RAG = 预训练的语言模型 + 信息检索系统,使模型能够在生成自然语言时引入外部知识,从而提高生成内容的准确性和多样性。

  1. 检索模型用于从一个大规模知识库中检索相关文档。通常使用向量空间模型来表示文档和查询,并利用最近邻搜索算法来找到与查询最相关的文档。
  2. 生成模型基于检索到的文档生成回答。它通常是一个预训练的语言模型(例如GPT-3)微调后用于生成与上下文相关的回答。

基于这样的背景,这种技术在内容推荐、问答系统和自动摘要等领域有着广泛的应用,它能克服纯生成模型对训练数据依赖过大的缺点。

本文将介绍RAG的基本原理,并结合内容推荐机制进行实践演示,包括代码示例。

在内容推荐中,RAG 可以通过 结合用户历史行为和外部文档生成个性化的推荐内容

例如,可以根据用户的阅读历史检索相关文档,并生成推荐理由或简介,从而提高推荐系统的智能性和用户体验。

实践示例

首先就是安装必要的库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install transformers faiss-cpu

这里,假设我们有一个包含文档的知识库,以及用户的历史行为记录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
documents = [
    "Deep learning is a subset of machine learning in artificial intelligence (AI).",
    "Recommender systems are a subclass of information filtering system that seek to predict the rating or preference a user would give to an item.",
    "Natural language processing (NLP) is a subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language."
]

user_history = [
    "I am interested in machine learning and artificial intelligence.",
    "I want to learn more about recommender systems."
]

我们使用一个简单的TF-IDF模型进行检索:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

# 创建TF-IDF向量化器
vectorizer = TfidfVectorizer().fit(documents)
doc_vectors = vectorizer.transform(documents)

def retrieve(query, top_k=2):
    query_vector = vectorizer.transform([query])
    similarities = cosine_similarity(query_vector, doc_vectors).flatten()
    indices = similarities.argsort()[-top_k:][::-1]
    return [documents[i] for i in indices]

# 示例检索
query = "Tell me about AI and recommender systems."
retrieved_docs = retrieve(query)
print(retrieved_docs)

这里使用TF-IDF向量化器将文档和查询向量化,并通过计算余弦相似度找到与查询最相关的文档。

使用预训练的GPT模型进行生成:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from transformers import GPT2LMHeadModel, GPT2Tokenizer

# 加载预训练的GPT模型和tokenizer
model_name = "gpt2"
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
model = GPT2LMHeadModel.from_pretrained(model_name)

def generate_text(prompt, max_length=100):
    inputs = tokenizer.encode(prompt, return_tensors="pt")
    outputs = model.generate(inputs, max_length=max_length, num_return_sequences=1)
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# 结合检索文档生成推荐内容
prompt = "Based on your interest in machine learning and AI, I recommend: " + " ".join(retrieved_docs)
recommendation = generate_text(prompt)
print(recommendation)

将检索和生成结合起来,构建一个简单的内容推荐系统:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def recommend_content(user_history):
    all_recommendations = []
    for history in user_history:
        retrieved_docs = retrieve(history)
        prompt = "Based on your interest, I recommend: " + " ".join(retrieved_docs)
        recommendation = generate_text(prompt)
        all_recommendations.append(recommendation)
    return all_recommendations

# 生成推荐内容
recommendations = recommend_content(user_history)
for rec in recommendations:
    print(rec)

小结

本文提供了一个简单的实践示例,通过TF-IDF检索和GPT生成模型实现了一个基本的内容推荐系统。

展望 RAG ,它使得内容更准确、丰富,能够通过精准推荐,获取用户信任感,也适用于多场景,可能需要提升的点在于如何提升检索模型的效率、在复杂模型下,如何确保生成模型的稳定,以及多模态融合等等。。。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
你的智能汽车正在窥视你!
近些年,随着“智能汽车”这一新风口的出现,各大互联网公司开始将视线从手机转向智能汽车,例如小米汽车、华为问界汽车。相较于传统汽车,智能汽车的主要卖点在于智能化, 如车外的毫米波雷达、激光雷达,车内DMS驾驶员监测系统、智能座舱APP应用。
陈哥聊测试
2024/06/11
1020
你的智能汽车正在窥视你!
蔚来汽车大量数据泄露,谁来保护智能汽车时代的应用安全?
2022年12月,“蔚来汽车数据泄露”的消息在网上传得沸沸扬扬,被泄露的数据包括2.28万条蔚来内部员工数据、39.9万条车主用户身份证数据、65万条用户地址信息……攻击者以泄露数据为条件勒索225万美元等额比特币。
云鲨RASP
2023/04/19
4300
寻找汽车数据安全的平衡点:引导大于限制
当特斯拉女车主“坐车顶维权”事件过去不久,满帮、滴滴接连向美国证券交易委员会(SEC)递交了招股说明书,前者准备了55页风险提示文档,后者则是60页,涉及各方面的安全,包括隐私、数据保护和信息安全,但上市后仍因违规收集和使用个人信息被调查,相关25款软件全部下架,随后国家七部门联合进驻审查,滴滴或面临巨额罚款。
数据猿
2021/09/08
5160
寻找汽车数据安全的平衡点:引导大于限制
政策频繁出台,智能网联汽车安全如何“驾驭”?
智能网联汽车是新一代信息技术与汽车领域深度融合的产物,汽车已成为数据的重要生产者和使用者。统计数据显示,全球已有超过140个国家和地区制定了隐私和数据保护的相关法律法规,智能网联汽车的数据安全已引起全球重视。数据安全问题包括如何有序、规范、合理地使用数据已成为关注的焦点。
腾讯安全
2021/08/30
4470
政策频繁出台,智能网联汽车安全如何“驾驭”?
聚焦“两会”:智能汽车成攻击新目标,网络安全会成为标配吗?
今年的“两会”,各位企业家们积极献言献策,百度、腾讯、小米等科技公司的大佬也在今年带来了自己的多个提案。身为科技圈代表的他们,在提案中都有什么建议?
科技云报道
2022/04/16
2200
聚焦“两会”:智能汽车成攻击新目标,网络安全会成为标配吗?
顶象发布《车企App安全研究白皮书》,剖析品牌汽车App的两大类风险
近日,顶象发布《车企App安全研究白皮书》。该白皮书总结了当前车企App主要面临的技术威胁和合规风险,详细分析了风险产生的原因,并提出相应安全解决方案。
顶象技术
2023/06/07
2090
顶象发布《车企App安全研究白皮书》,剖析品牌汽车App的两大类风险
2020国家网安周:安全左移是智能车联网发展必由之路
9月14日-20日,由中央宣传部、中央网信办、工信部、公安部等多部委联合主办的 2020国家网络安全宣传周正式举行。期间,在中央网信办网络安全协调局的指导下,中国网络安全产业联盟与腾讯联合主办 “网络安全会客室”节目,探讨网络安全政策制定、风险治理、技术产业发展等热点议题。
腾讯安全
2020/09/17
4480
2020国家网安周:安全左移是智能车联网发展必由之路
2023年全球汽车网络安全报告(一)
网联汽车和电动汽车,加上丰富的数字体验和数据驱动的应用程序,将汽车行业转变为充满活力的智能出行生态系统,具有增强的驾驶体验和功能,引入了新的盈利机会。然而,随着这一转型,出现了亟需解决的新的网络安全风险——过去十年间网络攻击的规模、频率和复杂程度呈指数级增长就很好地诠释了这一点。
绿盟科技研究通讯
2023/08/31
1.3K0
2023年全球汽车网络安全报告(一)
行业安全解决方案|腾讯打造汽车一体化安全防护,助力车企数字化安全
随着汽车智能化的发展,车联网、自动驾驶、车路协同等应用快速落地,汽车作为智能终端所产生的数据成指数级增长态势。然而,当汽车行业数字化转型正如火如荼进行时,新的安全挑战也接踵而至,车企甚至可能因忽视安全建设,给用户驾驶和数据安全带来隐患,从而面临严重的行政处罚和经济损失。
腾讯安全
2022/11/22
1.7K0
行业安全解决方案|腾讯打造汽车一体化安全防护,助力车企数字化安全
漫谈智能网联汽车
最近读了几篇关于智能网联的行研报告,将其中的部分观点记录分享下,也欢迎大家交流讨论。
Defry
2022/04/19
5510
漫谈智能网联汽车
吕一平:90%的安全漏洞,都可被扼杀在研发阶段
作者 / 曹锦 智行官简介: 吕一平——腾讯安全策略发展中心总经理,主要负责腾讯安全专家服务业务、腾讯安全科恩实验室国际和国内行业安全研究和技术合作。 提起智能网联汽车的安全问题,许多人都会联想到《速度与激情8》中的经典一幕:黑客入侵了三公里内的所有车辆,让它们集中冲向同一目标,甚至导致大批车辆排山倒海般从停车楼上冲下。 这一情节,直观展示了汽车联网后可能存在的严重安全隐患。许多观众只是看了个热闹,但也会有人对此认真思考。 (左:Auto Byte负责人 曹锦, 右:腾讯安全策略发展中心总经理 吕一平)
机器之心
2023/03/29
6490
吕一平:90%的安全漏洞,都可被扼杀在研发阶段
360、奇安信、腾讯、华为们“拥堵”在智能汽车安全的风口
智能汽车越来越像一个科技产品,伴随着车联网速率的提升,汽车拥有了更多智能化的功能和表现,同时也带来了诸多生态性的问题,其中接轨互联网所带来的安全问题就是未来汽车发展需要面对的一大焦点。
用户2908108
2021/03/19
4730
360、奇安信、腾讯、华为们“拥堵”在智能汽车安全的风口
黑客控制你的车!不信?其实很简单
汽车和电脑之间的友谊日益密切且复杂。专业软件可实现车辆各部件的互联,从刹车到方向盘再到到门锁乃至收音机,所有部件均能实现网络连接。许多较新车型还能实现车辆与互联网的连接。 那么,您爱车被黑客攻击的机率有多大呢?黑客所造成破坏究竟有多大呢?车企正在做打造自动驾驶汽车,面对黑客发起的网络攻击,其防黑客能力有多强呢?今天我们就让全球权威大咖给咱们详细介绍一下。 斯蒂芬·萨维奇是2017年麦克阿瑟基金会的“天才”奖学金获得者兼加州大学圣地亚哥分校教授,负责专门研究汽车黑客。他表示:“相较于从前,车企
企鹅号小编
2018/01/23
1.4K1
黑客控制你的车!不信?其实很简单
问题频频,盘点近期特斯拉所经历的“网安事故”
一年前,因制动失效而闹得沸沸扬扬的特斯拉“刹车门”事件仍未平息,当事人张女士就特斯拉行车数据纠纷向法院递交资料,今年3月12日,法院正式以“个人信息保护纠纷”为由立案,这很可能是国内首起关于智能电动汽车行驶数据归属权纠纷的案件。其实纵观近来,围绕特斯拉数据处理相关的争议乃至系统被破解、泄密的事件时有发生。本文立足于国内和国际两部分,盘点特斯拉所遭遇的“网安事故”。
FB客服
2022/06/08
8580
问题频频,盘点近期特斯拉所经历的“网安事故”
汽车安全攻击篇:智能网联系统的短板,如何防护汽车的安全
我们在《速度与激情》里,经常可以看到主角们利用网络侵入汽车网络系统,然后任意的操纵这些车辆,看电影的时候会被画面所震撼到,这两年“自动驾驶”随着特斯拉的车已经越来越普及了,Model 3都国产化了, 今天我们就来了解下汽车侵入的方式和原理。
奥特曼超人Dujinyang
2021/02/18
9950
一文了解智能汽车网安政策和法规
随着人工智能、信息通信技术加速发展和跨界融合,智能网联汽车与外界交互手段不断丰富,智能网联汽车在积极融入网络时代的同时,同样不可避免地面临信息安全问题,引发了行业高度关注。
FB客服
2022/11/14
6020
一文了解智能汽车网安政策和法规
万物互联,小程序容器技术赋能车载生态安全共赢
“互联网+”蓬勃发展,带动信息消费持续扩大升级,并随着行业的高速发展,以及政策法规的支持下,汽车行业特别是新能源汽车领域正面向数智化发展的阶段,作为数智化的关键环节,车联网数据发挥着重要作用。
Lydiasq
2022/11/01
2910
车联网安全技术现状、突破及趋势
据公安部2024年1月11日统计,截至2023年底,全国机动车保有量达4.35亿辆,其中汽车3.36亿辆;机动车驾驶人达5.23亿人,其中汽车驾驶人4.86亿人。伴随汽车的逐步普及,车联网在十年内经历了巨大的技术变革,汽车智能网联功能已成为当前新车标配,百姓对汽车功能的需求越来越多元化,提供座舱娱乐、自动驾驶等功能的新型汽车部件日趋成熟,多种汽车电子电气架构随之涌现。
绿盟科技研究通讯
2024/07/12
6730
车联网安全技术现状、突破及趋势
BBA也无法幸免,这些汽车品牌曾被黑客攻击
3月22日,世界黑客大赛(Pwn2Own)在温哥华拉开序幕。2023 Pwn2Own为期三天,主办方为本届比赛总计准备了108万美元奖金,来自全球各个国家和地区的安全专家大展神通,纷纷向知名品牌发起网络攻击。 在Pwn2Own大赛上,就有黑客成功攻破特斯拉汽车安全防护,而且是攻破了“两次”,也因此获得了大量的赏金。 第一天,Synacktiv团队演示了针对特斯拉Gateway 的 TOCTOU的竞态条件漏洞攻击。他们获得了 10万美元和 10 个 Master of Pwn 积分,并额外获赠了一辆特斯拉Mo
FB客服
2023/04/04
5010
BBA也无法幸免,这些汽车品牌曾被黑客攻击
「软件定义汽车」背后:海量代码的安全代价
作者/ 曹锦 虽然汽车数据安全在近两年才开始受关注,但这并不意味着相关隐患只在这几年才出现。 在过去五六年间,包括宝马、Jeep以及特斯拉在内的一些知名车型,都曾经被黑客或白帽通过特定的技术手段,通过远程的方式入侵系统,进行开锁、开灯甚至制动、加减速等操控,导致了大规模的召回。 通过近日在ISC举办的「车联网安全论坛」上得到的信息,各位专家均认为,相比传统的物理接触型安全影响,如今智能网联汽车所面临的更严重的安全隐患,还是隐藏在空中看不见的这一部分。 越先进,越快速,也越危险 80年代的时候,一辆汽车大概
机器之心
2023/03/29
2880
「软件定义汽车」背后:海量代码的安全代价
推荐阅读
相关推荐
你的智能汽车正在窥视你!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验