90 行代码实现问答型商品推荐系统

突破之作:AI原生应用开发全解析——从架构到落地,避开90%开发者踩过的坑 本文将基于阿里云《AI原生应用架构白皮书》核心观点,结合2026年最新落地案例与工具选型,从本质区别、架构拆解、场景实战、坑点攻坚四大维度,带你系统掌握AI原生应用开发的核心逻辑——既有技术深度,又有可落地的实操指南,适合全栈开发者、AI工程师及技术创业者参考,同时适配技术博客、掘金、优快云等平台的变现需求(全文干货无冗余,可直接复制发布)。传统客服系统需要工程师写死“用户问物流就查单号接口,问退款就走售后流程”的规则,一旦用户问“我的快递没收到,能先退款再重新下单吗”这类跨场景问题,系统就会“卡壳”; 阅读详情

在这里插入图片描述

当我们谈论 ChatGPT 这类的大语言模型时,希望能够用通俗的方式为大家解释。本文提供了一个落地场景的思路,让大家更好地理解大模型是如何在我们日常生活中发挥作用的(公众号的排版不适合阅读代码,有复现代码需求的朋友请移步个人博客 bjt.name 阅读)。

1. 解决的是什么问题?

假如你叫刘弱(强)西(东),现在经营一家售卖食品的电商平台 Bmazon,拥有 70000 件各类食品(包括零食、糕点、巧克力、糖果、猫粮、狗粮……)。这些商品对应有自己的描述和顾客购买使用后的评价。如果有一个机器人,它能通过和客户对话,总结顾客的潜在购买意图,给出推荐商品。这样聪明的机器人能不能来一个呢?

先随便来一个用户购买咨询:

有什么好吃的坚果推荐购买吗?

先别看答案,闭上眼睛暂停十秒钟!如果你是导购,你会怎么回答?

…

这个机器人这样回答的:

这些商品是各类坚果产品,包括混合坚果、坚果棒和单品种坚果如碧根果和夏威夷果等。它们的特点是:品质上乘,口感绝佳,深受大人小孩喜爱;部分产品采用完美配比,融合了杏仁、蜂蜜烤花生、芝麻棒、黑巧克力裹 soy 坚果以及软糯的核桃和山核桃,甜度适中;部分坚果无盐且新鲜美味,特别适合健康饮食需求,如控制血压者食用;有些产品提供大包装,经济实惠;还有自制混合坚果与干果,适合早餐搭配,营养丰富。另外,部分品牌因其出色的产品线和快速免费送货服务而受到高度推荐。总体而言,这些坚果产品不仅美味可口,还具有多种健康益处,是聚会、节日礼物或日常零食的理想选择。

以及相关的商品推荐,您可以在 Bmazon 上购买:

  • Planters Trail Mix, Energy Mix

  • Eat Natural Bars: Almond & Raisin with Brazil Nuts & Peanuts

  • Planters Mixed Nuts, Antioxidant Mix

这三款产品,它们长这个样子:

是不是很神奇?这个问答式的引擎可以用 90 行代码实现。喔?有点意思……且听我讲讲如何实现。

2. 原料准备

我们要构建一个问答型的商品推荐系统,领域内的文本(知识)是关键。知乎上的问答显然无法支撑这个想法,亚马逊的商品评论数据是很好的选择。当有了这些文本数据后,领域内的信息互动就能够做到了(用户的咨询可以找到相似的评论文本)。除此之外,还需要一个对话模型,可以将信息组织成人理解的语言。也就是说,需要两个关键原料:

  1. 本地知识库:选用了 Amazon 在 1999 - 2012 年 25 万用户在 7 万食物商品上的 56 万条评论详情。

  2. 可调用的高性能的大语言模型:阿里通义千问的 720 亿参数规模的 Qwen-72B 。这是笔者对比了 OpenAI、本地部署、国产大模型……之后的选择,过程不做赘述。

2.1. Amazon 的购买行为数据

稍稍瞄一眼,原始的购买数据长啥样:

ProductIdUserIdProfileNameScore
B001E4KFG0A3SGXH7AUHU8GWdelmartian5
B00813GRG4A1D87F6ZCVE5NKdll pa1
B000LQOCH0ABXLMWJIXXAINNatalia Corres4
B000UA0QIQA395BORC6FGVXVKarl2
B006K2ZZ7KA1UQRSCLF8GW1TMichae D. Bigham5
B006K2ZZ7KADT0SRK1MGOEUTwoapennything4

以及我们最关心的评论文本。ID = 1 的用户是这么评价:

I have bought several of the Vitality canned dog food products and have found them all to be of good quality. The product looks more like a stew than a processed meat and it smells better. My Labrador is finicky and she appreciates this product better than most.

ID = 2 的用户的评价文本是这样:

Product arrived labeled as Jumbo Salted Peanuts…the peanuts were actually small sized unsalted. Not sure if this was an error or if the vendor intended to represent the product as ““Jumbo””.

细扒的话,会发现用户评论信息内存在大量非英文字符,以及超链接文本。用正则表达式处理成纯文本是其中的一个小步骤。

2.2. 阿里通义大模型

国产大模型孰优孰劣不好评价,市面上也有很多评测标准,基本上各家都会找到有利于自己的一些测评结果,反正大家都是第一。从本质上看的话,数据集多样性和丰富度、计算资源(算力)、模型架构和算法技巧(工程师能力)四个方面是关键要素。从调用方式上判断,阿里通义大语言模型更适合我的工作环境,因为调用接口仅需要安装 Python 的一个包:

pip3 install dashscope

引入 dashscope 之后,核心是一个 Call 函数,对应 user 和 content 两个参数。不纠结,这个理由足够。

另外基于我们的这个场景简单比对了一下 Qwen-7B、Qwen-72B、Qwen-Plus、Qwen-Max 效果,参数规模达到千亿级别的 Qwen-Max 表现最好。刚好上周阿里团队到公司有一次交流,详细分享了各类模型使用细节。阿里的产品同事同样也推荐使用 Qwen-Max:效果最优,当然也最贵!Qwen-Max 的 API 调用限定用户输入为 6k tokens,覆盖这个场景绰绰有余。

2.3. 技术框架

实现前文演示的机器人,核心实现步骤只有四个步骤:

  • 步骤一:通过 embedding 技术,将所有评论映射到低维向量空间,获得“评论向量”。

  • 步骤二:将查询的 Query 利用同样的 embedding 技术,转化为低维 “Query 向量”。

  • 步骤三:比对 Query 和评论的相似度(向量相似度),召回最相似评论的集合(Chunks)。

  • 步骤四:将这些 Chunks 重新组织成 prompt 丢进大模型里,利用大模型的语言组织能力返回答案,同时返回商品清单。

第 1 步需要提前做好预处理,评论向量的结果用于后续步骤。第 2 步是问答型商品推荐系统用户的问询部分,也是该系统的唯一输入。第 4 步是问答返回的结果,包含了推荐商品的文字内容、商品链接两部分。

2.4. 细节讨论

想象一下用户的问询:

有什么好吃的坚果推荐购买吗?

这里面有这几个关键词:好吃、坚果、推荐、购买。如果用户的意图可以通过这四个词的向量“相加”就好了,甚至用户表达了:我不喜欢混合坚果。那么,“混合”这个词能够用“相减”的方式来处理,那就完美了!要满足这样的设想,源自于斯坦福大学的 GloVe 算法刚好适用。算法细节客官可以参见这里。官网上给了一个通过语料训练得到的词汇关系,直观的体现了 Glove 算法的优雅:

身份、性别、血缘这些概念在二维空间上,非常微妙地组织在了一起。直观的看 man - woman, king - queen, brother - sister 的距离基本是相等的,也就是说:

man - woman = king - queen,那么 queen = king - man + woman!

这个算法原理非常适合这个场景,既然词向量的"加减"代表意义的变化,那么就可以“暴力”地获得句子向量,以及兴趣向量(不是最优,但可用,后文有解释)。

3. 关键过程描述

90 行详细代码我放在了全文之后,这里摘取一部分中间的关键过程,用于说明实现细节。

第一部分是通过 GloVe 算法生成的“词向量”,单词的数量有 23000,随便用 6 个单词看看它们前 4 维(总计 50 维)什么样子:

Wordd1d2d3d4
caloriesbut0.53-0.190.22-1.00
caloriesthey0.04-0.030.790.33
cameron0.320.630.440.52
campari-0.07-0.210.740.13
cancellation0.320.350.15-0.14
cannery-0.120.74-0.250.34

第二部分是“评论向量”。如前文描述,利用 GloVe 算法,整段评论可以表达为“词向量”的“加和”。随机选取 5 组评论对应的“评论向量”(仅取了前 4 维,总计 50 维):

Docd1d2d3d4
1-14.43.12-0.35-0.97
2-3.22-4.77-3.760.39
32.76-9.15-7.322.70
4-1.44-0.17-4.495.19
5-2.28-4.82-7.2142.86

基于以上两部分,就可以找到用户发起 query 的相似评论。

回到文章最初用户的提问:有什么好吃的坚果推荐购买吗?根据 delicious, nuts, recommended, buy 四个单词召回的最相似评论有(前 4 个):

[1] “these nuts are the best great large size bag for partys really the best nuts i have ever eaten highly reccommend”

[2] “these nuts are delicious i am so happy they are available in bulk too i highly recommend them try these”

[3] “definitely will be buying more of these peanuts as they are the best freshest peanuts i have ever enjoyed unsalted which is the only way to eat peanuts as when you get them in the shell there is no salt besides you get up there in years and your bp will pay the price for all that salty food these are unsalted and absolutely the best excellent choice for a birthday or christmasholiday gift as well as no one would expect to receive these large crunchy peanuts just outstanding superb”

[4] “these almonds are outstanding every single nut was fresh and crunchy almonds are really good for you and these are a great bargain ill be buying these often”

第 3 个评论中并未出现 nuts,而是在说 peanuts,但 GloVe 算法依然识别了这些概念之间的相似性。以及第 4 条评论的 nut 约等于了 nuts,buying 约等于了 buy。

把这些文本评论,拼接在下段话之后。同时向大模型发问(Prompt 工程):

下面的英文由多款商品的评论构成,请将这些商品的特性做一个中文总结,字数不超过 150 字:

阿里通义千问大模型 Qwen-Max 就会返回人类能够理解,且非常精炼的总结性陈述:

这些商品是各类坚果产品,包括混合坚果、坚果棒和单品种坚果如碧根果和夏威夷果等。它们的特点是:品质上乘,口感绝佳,深受大人小孩喜爱;部分产品采用完美配比,融合了杏仁、蜂蜜烤花生、芝麻棒、黑巧克力裹 soy 坚果以及软糯的核桃和山核桃,甜度适中;部分坚果无盐且新鲜美味,特别适合健康饮食需求,如控制血压者食用;有些产品提供大包装,经济实惠;还有自制混合坚果与干果,适合早餐搭配,营养丰富。另外,部分品牌因其出色的产品线和快速免费送货服务而受到高度推荐。总体而言,这些坚果产品不仅美味可口,还具有多种健康益处,是聚会、节日礼物或日常零食的理想选择。

当然既然评论已经能够找到了,对应的推荐商品内容也就出来了。

4. 已有的现成技术方案

本文实际借鉴了大模型构建本地知识助手的思路,典型的代表是Langchain-ChatGLM。这个项目实现原理如下图所示,过程包括 15 个步骤:

加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM 生成回答

实际上同“问答型商品推荐系统”的方案是完全一致的,各自对应关系:

  • 1-2-3-4-5-6-7 对应步骤一,评论的向量化;

  • 8-9-10 对应步骤二,Query 的向量化;

  • 11-12-13 对应步骤三,返回评论的 Chunks;

  • 14-15 对应步骤四,利用大语言模型返回答案。

各位看官根据本文思路和代码生成一个“基于大语言模型的本地知识助手”也是很轻松的。

5. 工程化讨论

如果看官不是工程师背景,文章到此结束。下面讨论工程效果、性能的一些细节问题。

5.1. 为什么用 embedding

正常的话,构建本地知识助手有两种可能的技术方向 fine-tuning 和 embedding。但前者需要的硬件资源巨大,即便是用云端的资源,也需要在开源大模型基础上再训练,要么用自己的算法工程师的“人天”,要么买云商算法工程师的“人天”,成本巨大。

相比较下,embedding 的技术框架更为简单,并且还有个无法拒绝的优点:本地知识库时常会有新增或更新,embedding 重新训练模型(向量化)的成本几乎可以忽略不计。

5.2. embedding 的其他可能

可能在第 3 节有客观会有疑问,既然是通过 query 搜索相关文档,我用一个文本搜索的数据库(比如 Lucene)直接创建索引直接搜不就行了吗,为什么非要用 embedding 的技术来做处理?想象一下,我们从文字中感知到的信息除了词汇外,还有语法、语义、情感、情绪、主题、上下文等,这些信息是无法只通过词汇来表达出的。前文中也出现了一些词汇,比如 nuts 和 peanuts, buy 和 buying 这样的效果,embedding 显然效果会更好。

另外还可以直接调用大厂的 embedding 算法直接返回你需要的素材:

  1. “评论向量”通过调用接口的方式全部获得后再本地化部署,

  2. 用户 query 向量可以通过实时接口获得(也可本地部署)。

大厂(顶级互联网公司)发布的模型语料更佳丰富、考虑的细节更多,效果更佳。比如这里是一个本地部署的例子,方案采用的是 jina.ai 开源的的向量化模型:



1.  `library(lsa)`
    
2.  `require(reticulate)`
    
3.  `## pip3 install sentence_transformers`
    
4.  `sent_transformers <- import("sentence_transformers")` 
    
5.  `model <- sent_transformers$SentenceTransformer("/Users/huggingface/jinaai")`
    

7.  `## 自定义句子列表`
    
8.  `sentences <- c("how is the weather today",`
    
9.                 `"What is the current weather like today?",`
    
10.                 `"how to implement quick sort in python?",`
    
11.                 `"what is the capital of China?",`
    
12.                 `"Beijing")`
    

14.  `## 使用预训练模型将句子 embedding`
    
15.  `embeddings <- model$encode(sentences)`
    
16.  `cosine(t(embeddings)) |> round(2)`
    


这 5 段文本之间的 两两 cosine 距离是:

1.000.90-0.02-0.14-0.02
0.901.00-0.04-0.140.02
-0.02-0.041.000.010.09
-0.14-0.140.011.000.57
-0.020.020.090.571.00

注意,“what is the capital of China?” 和 “Beijing” 的相似度有 0.57,如果只考虑纯粹的文本相似度,相似度是为 0 的。

5.3. 相似度计算

那既然用 embedding 向量化的方式,向量化存储以及相似度计算就是关键问题了。下面的代码实际上就是将“评论向量”放置到了内存中,利用 sim2 函数做了相似度运算(y 是 query 向量)



1.  `cos_sim = sim2(`
    
2.    `x = as.matrix(db),`
    
3.    `y = sentence_vector,`
    
4.    `method = "cosine",`
    
5.    `norm = "l2"`
    
6.  `)`
    


这点小数据量性能的花销还好,一旦我们为了更复杂的表征,向量维度几千维,评论数量几百亿,存储和计算都是工程难题。不过好在,太阳底下没有新鲜事,前人已经给出非常完备的解决方案,比如

  • Faiss:Meta 开源的向量数据库,不必加载到内存,支持欧式距离(L2)和点积(dot product),支持 GPU 计算。

  • Milvus:开源的向量数据库,支持云原生。Star 数量 25k,笔者撰文两小时前还有更新,是 OpenAI 官方和微软官方的合作伙伴。

关于为什么这些向量数据库可以这么快,篇幅所限,读者可自行 Google 之。

5.4. 如何处理历史偏好

如果采用 GloVe 训练评论向量的话,可以使用 ± 的关键词的方式处理用户的意图,虽然该算法是基于全局词频统计的方法,但笔者小范围尝试效果是够用的。如果是使用预训练 embedding 模型的话,可以考虑将用户历史上不喜欢的 query 结果缓存,在新的召回中剔除即可。

5.5. 语料中没有的答案

通过点击流记录用户的无返回结果,针对于这些 bad case 增加规则和异常处理逻辑。

刘弱(强)西(东),你兴奋不?创业去吧,哈哈哈~~

6. 实现代码



1.  `## 使用数据 https://www.kaggle.com/datasets/snap/amazon-fine-food-reviews/data`
    
2.  `library(data.table)`
    
3.  `library(stopwords)`
    
4.  `require(text2vec)`
    
5.  `library(stringr)`
    
6.  `file <- '/Users/liusizhe/Downloads/archive/Reviews.csv'`
    
7.  `x <- fread(file)`
    
8.  `x <- x[!duplicated(x$Text), ] # 为了简化问题,剔除重复的评价`
    
9.  `str_pipe <- function(text) {`
    
10.    `text |> str_replace_all('<a href=.*/a>', '') |> # 剔除商品超链接`
    
11.      `str_replace_all("<[^>]+>", '') |> # 剔除这种 <br /br>`
    
12.      `str_replace_all("[[:punct:]]", '') |> # 剔除符号,如,.等`
    
13.      `str_replace_all("\\d+", '') |> # 剔除数字`
    
14.      `tolower() # 全部小写化`
    
15.  `}`
    
16.  `plaintext <- str_pipe(x$Text) # 获得干净的文本内容`
    
17.  `tokens <- paste(plaintext, sep = ' ') |> space_tokenizer() # 利用空白 tokens 化`
    
18.  `it = itoken(tokens, progressbar = FALSE)`
    
19.  `## 构建 vocabulary 并剔除停止词,以及剔除词频过低的 term`
    
20.  `vocab <- create_vocabulary(it, stopwords = stopwords()) |>`
    
21.    `prune_vocabulary(term_count_min = 15L)`
    
22.  `vectorizer <- vocab_vectorizer(vocab)`
    
23.  `## 构建 term-co-occurence matrix 和 document-term matrix`
    
24.  `tcm <- create_tcm(it, vectorizer, skip_grams_window = 5L)`
    
25.  `dtm <- create_dtm(it, vectorizer)`
    

27.  `## 通过 GloVe 算法将 tcm 分解为 rank = 50 的向量`
    
28.  `glove <- GlobalVectors$new(rank = 50, x_max = 10)`
    
29.  `wv_main <- glove$fit_transform(`
    
30.    `tcm,`
    
31.    `n_iter = 10,`
    
32.    `convergence_tol = 0.01,`
    
33.    `n_threads = 8`
    
34.  `)`
    
35.  `## 获得词向量`
    
36.  `wv_context <- glove$components`
    
37.  `word_vectors <- wv_main + t(wv_context)`
    
38.  `## 构建 document 的 rank 表征向量`
    
39.  `document_vectors <- dtm %*% word_vectors`
    

41.  `## 定义用户 query 信息处理函数。入参有 6 个:`
    
42.  `## 1.sentence:用户 query`
    
43.  `##   2.review:用户评论的纯文本`
    
44.  `##     3.wvec:词向量`
    
45.  `##       4.db: 文档向量`
    
46.  `##        5.n:控制最相似的 reviews 数量,默认为 10`
    
47.  `##      6.hint:用于同大模型交互的 prompt`
    
48.  `## 输出有两部分 1.传递给大模型的 prompt 2.对应的推荐(语义相似)商品 ID`
    
49.  `query2chunks <- function(sentence, review, wvec, db, hint, n = 10) {`
    
50.    `st_token <- sentence |>`
    
51.      `str_pipe() |>`
    
52.      `space_tokenizer() |>`
    
53.      `unlist()`
    
54.    `sentence_id <- match(st_token, vocab$term, nomatch = 0)`
    
55.    `sentence_vector <- wvec[sentence_id, ] |> colSums() |> t()`
    
56.    `cos_sim = sim2(`
    
57.      `x = as.matrix(db),`
    
58.      `y = sentence_vector,`
    
59.      `method = "cosine",`
    
60.      `norm = "l2"`
    
61.    `)`
    
62.    `nn <- head(sort(cos_sim[, 1], decreasing = TRUE), n) |> names() |> as.numeric()`
    
63.    `query_info <- review[nn] |> unique() |> paste(collapse = ' ')`
    
64.    `prompt <- paste(hint, query_info, sep = '')`
    
65.    `return(list (text = prompt, n = nn))`
    
66.  `}`
    
67.  `prompt_words <- "下面的英文由多款商品的评论构成,请将这些商品的特性做一个中文总结,字数不超过 150 字:"`
    
68.  `prompt <- query2chunks(`
    
69.    `sentence = "Are there any delicious nuts recommended to buy?",`
    
70.    `review = plaintext,`
    
71.    `wvec = word_vectors,`
    
72.    `db = document_vectors,`
    
73.    `hint = prompt_words`
    
74.  `)`
    

76.  `## 将组装好的 prompt 传递到阿里通义大模型,返回我们要求的人话`
    
77.  `require(reticulate)`
    
78.  `use_python("/usr/local/bin/python3")`
    
79.  `dashscope <- import('dashscope') # pip3 install dashscope`
    
80.  `dashscope$api_key <- '' # 填入你的 key`
    
81.  `response <- dashscope$Generation$call(model = 'qwen-max',`
    
82.                                        `messages = list(dict(`
    
83.                                          `role = 'user', content = prompt$text`
    
84.                                        `)))`
    
85.  `## 打印阿里通义大模型的结果,并返回推荐商品购买链接`
    
86.  `response$output$text`
    
87.  `paste('https://www.amazon.com/gp/product/', x$ProductId[prompt$n], sep = '')`
    


​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

【项目01】AI实战90讲 & 专栏目录 欢迎来到《AI实战90讲:从入门到项目落地(2026版)》!这是一个「动手第一、理论辅助」的 AI 实战专栏。不讲空洞的公式推导,不讲你一辈子用不到的边缘理论——每一个项目都是一份完整、可运行、能写进简历的代码。你可能会问:网上免费教程那么多,为什么要付费订阅?三个理由:90 个项目形成体系。免费教程最大的问题是碎片化——今天看一篇图像分类,明天看一篇 NLP,后天不知道学什么。本专栏按照「4 周 × 30 天」的节奏编排,从 CV 到 NLP 到多模态到工程部署,形成完整闭环。跟着走,你不会迷路。 阅读详情

相关推荐

gradle报错:A problem occurred configuring root project ‘My Application‘.

即使翻译了,我开始也看不懂,到处找网上教程,但都是改环境变量。马虎的我即使看了很多遍,改了很多遍也没反应过来,今天第一次搞gradle,突然就报错了,打印出。好了我就继续看项目了。

m0_59878789的博客 4091

《推荐系统三十六式》内容推荐 学习总结

作者:jliang https://blog.youkuaiyun.com/jliang3   1.重点归纳 1)用户画像是对用户信息的向量化表示,而且用户画像是给机器看的,而不是给人看的。 2)用户画像的关键元素是维度和量化,用户画像是跟着使用效果走,用户画像本身不是目的。 3)构建用户画像的手段:查户口做记录、堆数据作统计、机器学习黑盒子。 4)文本数据用户画像过程 (1)分析用户...

jliang3的博客 2820

通达信股本变迁文件(gbbq)解密方法

近年来A股市场跌宕起伏真特么精彩,本人愚钝,被整爆仓,损失惨重 痛定思痛,认为交易这种对纪律要求极高,且必须完全排除情绪影响的勾当,还是应该交给程序来干 数据哪里来呢?当然是拿来主义。。。问券商的交易软件要呗 到处查资料,得知通达信的权息文件数据齐全,不仅含有除权除息数据,还含有限售解禁、增发、可转债上市等股本变化数据 ——这对于某些对成交量变化敏感的交易模型是非常重要的

不甘碌碌老,结庐铸宝刀 2万+

知了 | 基于NLP的智能问答推荐系统

作者简介苗贝贝 百度高级研发工程师负责百度智能运维客服平台ChatOps,在时序数据异常检测、文本模式识别、相似度网络等方向也有广泛的实践经验。干货概览通常,客服系统主要有两种应答...

AIOps智能运维 3052

保姆级教程:用PROGRAM_FTDI搞定Xilinx FPGA的JTAG调试器(基于FT232/FT2232/FT4232)

本文详细介绍了如何使用FT232/FT2232/FT4232系列芯片通过PROGRAM_FTDI工具配置Xilinx FPGA的JTAG调试器。从芯片选型、驱动安装到固件烧写和Vivado验证,提供了完整的实操指南和避坑要点,帮助开发者低成本实现高效调试。

weixin_29271053的博客 2157

无人机飞控算法开发实战:从零到一构建企业级飞控系统

本文系统介绍了无人机飞控算法开发的完整流程,包括飞行动力学模型建立、传感器校准与数据融合、主流控制算法实现(PID、ADRC、EKF)以及企业级飞控系统架构设计。通过结合开源飞控框架(如PX4)和实际工程经验,提供了完整的代码实现示例,帮助学者从零开始掌握无人机飞控开发的核心技术。文中详细讲解了四旋翼无人机的动力学模型、传感器校准方法、EKF状态估计算法、PID和ADRC控制算法的实现,以及MAVLink通信协议的集成。最后,总结了完整的飞控系统开发流程和未来发展趋势。

全栈 3402

猜你喜欢-----推荐系统原理介绍

写在正文之前   最近在做推荐系统,在项目组内做了一个分享。今天有些时间,就将逻辑梳理一遍,将ppt内容用文字沉淀下来,便于接下来对推荐系统的进一步研究。推荐系统确实是极度复杂,要走的路还很长。   A First Glance     为什么需要推荐系统——信息过载   随着互联网行业的井喷式发展,获取信息的方式越来越多,人们从主动获

Neil的博客 1万+

dreamerv3复现教程

由于dreamerv3存在很多版本冲突问题,所以很难直接使用和复现。

无人机飞啊飞啊飞 2835

vue和springboot框架开发的基于协同过滤算法的跳蚤市场商品推荐系统_9k725cw1_一口蛋黄苏

技术范围:uniapp框架,Android,Kotlin框架,koa框架,express框架,go语言,laravel框架,thinkphp框架,springcloud,django,flask框架,SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。(2)性能上应合理考虑运行环境、用户并发数、通信量、网络带宽、数据存储与备份、信息安全与隐私保护等方面的要求。

QQ1304979694的博客 747

【一 扣子客户案例合集】【 1.3 识典古籍基于扣子智能助手的古籍数字化全流程技术解析】

古籍数字化智能处理系统全流程解析 本文详细介绍了基于扣子智能助手的古籍数字化解决方案,核心技术包括: 多层级架构设计:采用"云-边-端"三层次架构,整合高精度扫描设备与AI处理模块,实现从物理古籍到结构化数据的全流程自动化。 智能图像处理:通过12道预处理工序(包括畸变校正、污渍去除和对比度增强)处理古籍图像,采用改进的EAST算法和ViT模型实现高精度文字检测与识别,准确率达98.7%。 NLP增强处理:结合Transformer-XL预训练模型和N-gram语言模型进行文本校正,基于

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 1441

MATLAB - 激光雷达 - 相机联合标定(Lidar-Camera Calibration)

激光雷达传感器和相机通常在自动驾驶应用中结合使用,因为激光雷达传感器收集三维空间信息,而相机则以二维图像捕捉空间的外观和纹理。您可以融合来自这些传感器的数据来改进物体检测和分类。激光雷达-相机标定可以估算出一个变换矩阵,给出两个传感器之间的相对旋转和平移。在进行激光雷达-相机数据融合时,您可以使用该矩阵。本图说明了激光雷达和相机标定 (LCC) 过程的工作流程,我们使用棋盘格作为标定对象。我们从激光雷达和相机数据中提取棋盘角和平面,然后在它们的坐标系之间建立几何关系,进行标定。

机器人控制与仿真应用 7371

Chandra电商应用:智能商品推荐对话系统

本文介绍了如何在星图GPU平台上自动化部署🤖 Chandra - AI 聊天助手镜像,构建智能商品推荐对话系统。该镜像支持自然语言交互式推荐,典型应用于电商场景中理解模糊需求、动态调整筛选条件并解释优惠策略,显著提升用户转化与信任感。

weixin_42518334的博客 184

【51单片机仿真】基于51单片机设计的多功能电子时钟日历(实时时钟闹钟秒表温度检测)系统__资料编号5

该项目是基于单片机的多功能电子时钟系统,集成了时间显示、闹钟设置、秒表功能以及温度显示等功能。主要硬件包括1602液晶显示屏、DS1302时钟芯片、DS18B20温度传感器和蜂鸣器。系统通过按键进行时间和闹钟的设置,并实时显示当前时间和温度。

嵌入式阿齐Archie 2万+

LLM+知识图谱:应用案例分析:运维知识问答系统

本文探讨了知识图谱与大语言模型(LLM)在各领域的应用效果。应用实现的架构,持续更新中

applepie_max的博客 1349

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

通义千问3-Embedding省钱攻略:比买显卡省90%成本

本文介绍了如何在星图GPU平台自动化部署“通义千问3-Embedding-4B-向量化模型”镜像,实现低成本、高效率的AI应用开发。该平台支持一键启动云端GPU实例,免去复杂环境配置,特别适用于构建智能客服、文档检索和内容推荐等语义理解场景,助力开发者快速落地实际项目。

GoldenleafRaven13的博客 1144

STM32F407中文手册

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

LangChain智能体开发:从问答到办事的工程化实践

智能体(Agent)是大模型落地业务的核心范式,区别于传统RAG和聊天界面,它强调感知-决策-行动-记忆的闭环能力。其技术本质在于将LLM调用、工具调度、状态管理与业务逻辑统一为可调试、可监控、可演进的工程模块。LangChain通过Runnable抽象、Tool契约与State显式建模,为智能体提供生产级基建支撑,解决模块耦合、错误难定位、状态混乱等高频痛点。典型应用场景包括商品推荐、金融客服、IT运维等需多步推理与外部系统协同的任务。本文聚焦LangChain核心原理与真实商品推荐智能体的构建过程,覆盖

weixin_42683392的博客 283

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Agent+RAG+Langchain实战:知识库问答系统开发核心指南

大模型应用开发正从单纯对话走向复杂任务执行,其核心能力源于检索增强生成(RAG)与智能体(Agent)技术的融合。RAG通过外部知识库检索为模型提供实时、可靠的上下文,有效缓解幻觉问题;Agent则赋予模型规划、调用工具与执行动作的“行动力”;而Langchain作为标准化开发框架,将模型、检索、工具与记忆模块无缝编排,大幅降低AI应用落地门槛。该技术栈已广泛用于企业知识库问答、智能客服、自动化办公等场景,成为AI工程师的核心技能。本文围绕这一技术体系,拆解概念与原理,提供从环境搭建到完整项目的实战代码,并

weixin_33912638的博客 319

RexUniNLU多领域泛化能力展示:同一模型在电商搜索与医疗问答中表现对比

本文介绍了如何在星图GPU平台上自动化部署RexUniNLU镜像,实现跨领域的自然语言理解。该模型具备零样本学习能力,无需训练即可在电商和医疗等不同领域进行意图识别与信息抽取,典型应用于智能客服系统中的用户查询理解和医疗症状分析。

weixin_42502089的博客 238

VisRAG-Ret与GPT-4o集成:打造强大的视觉问答系统终极指南

VisRAG-Ret是一个革命性的视觉检索增强生成模型,专门为多模态检索和视觉问答系统设计。通过与GPT-4o等大型语言模型的集成,它能够构建强大的视觉问答系统,实现图像与文本之间的智能交互。这个开源项目由OpenBMB团队开发,在HuggingFace上获得了广泛关注。 ## 🔍 VisRAG-Ret的核心功能与工作原理 VisRAG-Ret的核心功能是将视觉信息与文本信息进行联合编码,生

gitblog_00157的博客 460

EcomGPT电商大模型实测:智能客服搭建全流程解析

本文介绍了如何在星图GPU平台自动化部署EcomGPT-中英文-7B-电商领域镜像,快速搭建智能客服系统。该镜像专为电商场景优化,能够自动处理商品咨询、退换货等多轮对话,显著提升客服效率与服务质量,实现7x24小时智能客户服务。

weixin_42612405的博客 375

Python ai技术的宝宝成长记录分享系统 母婴商城系统妈宝小程序的设计与实现

2、同时增加文字触发提醒,设置提醒语,有相同字段的数据,会触发弹框提醒,例如设置状态提醒:特急/加急/一般 增加自定义提醒语(如:库存不足,请补货)对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。AI续写、AI优化、AI校对、AI翻译:新增AI接口,编辑器接入AI,可以实现AI续写、AI优化、AI校对、AI翻译,可以帮你实现自动化,ai帮你完成文档。多种统计效果:可以多种统计图效果展示,1、合并效果 2、单独展示3、随模块一起。

专注分享bishe530的博客 438

Qwen-Image镜像多场景应用:RTX4090D支持的图文检索、视觉问答、跨模态排序三合一

本文介绍了如何在星图GPU平台上自动化部署Qwen-Image定制镜像(RTX4090D CUDA12.4 大模型推理专用),实现多模态AI开发。该镜像支持图文检索、视觉问答和跨模态排序等核心功能,特别适用于电商产品图片搜索、内容审核等场景,显著提升开发效率。

weixin_42584507的博客 25

GTE-Large-En-V1.5模型的应用案例分享

在自然语言处理(NLP)领域,模型的实际应用价值日益凸显。GTE-Large-En-V1.5模型作为一款高性能的句子嵌入模型,凭借其在多种任务中的卓越表现,成为了许多实际应用场景中的首选工具。本文将通过三个具体的应用案例,展示GTE-Large-En-V1.5模型在不同领域中的实际应用效果,旨在帮助读者更好地理解该模型的实用性,并激发更多创新应用的探索。 ## 主体 ### 案例一:在电商领域...

gitblog_02784的博客 594

企业级聊天机器人:从问答工具到价值引擎的四大战略支柱与落地实践

聊天机器人作为人工智能与自然语言处理技术在企业场景中的关键应用,其核心原理在于通过意图识别、实体抽取和对话管理,理解并响应用户的自然语言请求。这项技术的价值在于将传统的人力密集型服务转化为可自动化、规模化的智能交互,从而显著优化成本结构并提升运营效率。在实际应用场景中,企业级聊天机器人已超越简单的自动回复,演变为驱动业务增长的核心引擎。它通过无缝集成CRM、ERP等后台系统,实现从信息查询到业务流程自动化的跨越,例如自动处理订单查询或内部审批。同时,基于交互数据的沉淀与分析,机器人能够构建动态客户画像,为个

weixin_30888413的博客 424

AI伴侣推荐系统的技术实现与优化策略

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960120的博客 356

【RAG】03-RAG的好处:RAG在准确性、效率和可扩展性方面的优势

RAG(Retrieval-Augmented Generation,检索增强生成)是一种先进的自然语言处理技术,通过结合信息检索和生成模型来提升文本生成的质量和效率。本文将深入分析RAG在准确性、效率和可扩展性方面的显著优势,帮助读者全面了解这一技术的价值与应用前景。

rengang66的博客 963
上一篇: NLP常见面试题,必知必答系列大全:(面试问题持续更新)
下一篇: 利用大语言模型实现模拟版图自动化
少喝冰美式
博客等级 码龄3年 6839粉丝 517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值