[技术求助帖] 我希望完成这个功能:有一个数据库,可以存储很多文章。然后在检索的时候,可以按照语义特征搜索,比如情感类文章、恐怖小说文章、谈论爱情的文章、和用户输入相识的文章等。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
overwall2016w
V2EX    程序员

[技术求助帖] 我希望完成这个功能:有一个数据库,可以存储很多文章。然后在检索的时候,可以按照语义特征搜索,比如情感类文章恐怖小说文章、谈论爱情的文章、和用户输入相识的文章等。

  •  
  •   overwall2016w 2024-01-08 10:34:08 +08:00 4149 次点击
    这是一个创建于 643 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我大概知道可以使用向量数据库处理。但是我之前没学过向量数据库。

    有没有朋友说一下该采取什么技术栈、选择哪种数据库、如何循序渐进的学习?

    23 条回复    2024-01-09 12:42:23 +08:00
    kuituosi
        1
    kuituosi  
       2024-01-08 10:55:08 +08:00
    这就是大数据和 ai ,根据特征分类识别
    marktown
        2
    marktown  
       2024-01-08 10:56:52 +08:00
    这个用普通的数据库也可以,文章存入数据库的时候,搞个打标签的动作把文章进行分类,然后把标签存入数据库,就可以检索了,文章进行分类的动作找 nlp 的开源算法就能实现了
    Trinityuan
        3
    Trinityuan  
       2024-01-08 11:02:28 +08:00
    向量数据库比 SQL 数据库还简单,直接上 milvus ,就读和取。但是你这个数据,除了“和用户输入相识的文章”这个需求,其他的按照 2 楼说的,存储的时候写标签就够了。
    asmmt
        4
    asmmt  
       2024-01-08 11:07:04 +08:00
    我做过代码的相似性分析,就是用自然语言描述找函数,或者用函数找功能相似的函数。可以先用关键词生成给每篇文章生成语义特征向量,然后把用户输入也转为语义特征向量做相似性分析,匹配相似度最高的文章。
    willbetter
        5
    willbetter  
       2024-01-08 11:19:31 +08:00
    文章是文本数据可以考虑使用 ES 来存储,入库的时候进行打标分类就行,也可以提取内容的关键词等特征向量,搜索的时候利用相似度进行匹配
    Fish1024
        6
    Fish1024  
       2024-01-08 11:20:20 +08:00
    文章入库的时候打标签。
    nlfiasel
        7
    nlfiasel  
       2024-01-08 11:21:37 +08:00
    allenQI
        8
    allenQI  
       2024-01-08 11:34:01 +08:00
    打标签+ES 完全满足
    encro
        9
    encro  
       2024-01-08 11:35:44 +08:00
    看到这些,
    想起中文环境,
    我就恍惚看到一个人在如山的垃圾堆里翻来翻去的画面。
    victimsss
        10
    victimsss  
       2024-01-08 11:36:53 +08:00
    为啥我觉得 NoSQL + tag 比较简单。
    ```
    {
    "_id": ObjectId("5f6aefad181f144bfb5eb6b1"),
    "title": "MongoDB Case Example",
    "content": "This is an example of using MongoDB for a case study.",
    "emotion": "study",
    "topic": ["database", "MongoDB"]
    }
    southwolf
        11
    southwolf  
       2024-01-08 11:39:52 +08:00 via Android   1
    提取完关键字之后 搞个 word2vec 之类的关键字相似性 丢进 ES 完事
    raycool
        12
    raycool  
       2024-01-08 11:44:52 +08:00
    langchain 完美解决你的问题
    duwenink248
        13
    duwenink248  
       2024-01-08 12:59:18 +08:00
    你要找的是不是 meilisearch?
    overwall2016w
        14
    overwall2016w  
    OP
       2024-01-08 13:57:04 +08:00
    @willbetter 我想让这个查询灵活点。打标签的话,感觉不够灵活,毕竟一篇文章可以有非常多个标签
    overwall2016w
        15
    overwall2016w  
    OP
       2024-01-08 13:58:45 +08:00
    @nlfiasel 是个方案。之前了解过一点,就是感觉学起来太慢了(我之前没有太多 AI 基础),所以想从向量数据库那里找捷径。
    nlfiasel
        16
    nlfiasel  
       2024-01-08 14:42:09 +08:00
    @overwall2016w 向量数据库不过是把别的类型的数据(比如文本)和向量关联起来,向量也是用外部的 embedding 模型计算的。另外所谓向量数据库,其实你维护一个(向量,你的数据)的 tuple list,然后每次都拿查询向量遍历计算,其实效果也差不多。然后这项目也就是推荐个起手的切入点,实际上你可能得根据自己的数据结构另起一套具体的实现。具体实现的话,AI 目前的形式就当成文本补全的 API 就行,langchain 用上的必要性其实也不是很高,因为这玩意针对 gpt 的优化比较多,对于国产的本地 llm 实际上自带的 prompts 效果也不太行。
    zcl0621
        17
    zcl0621  
       2024-01-08 16:42:36 +08:00
    pg 向量存储?
    DigitalG
        18
    DigitalG  
       2024-01-08 16:55:43 +08:00
    信息检索-倒排索引-词袋模型-聚类/分类
    blankmiss
        19
    blankmiss  
       2024-01-08 17:00:59 +08:00
    打很多 tag ?
    joooooker21
        20
    joooooker21  
       2024-01-08 17:02:31 +08:00
    付费的话,Mogodb 的 Atlas 能很快实现你的需求,只需要几个云函数即可进行调用大数据模型进行分析
    6diyipi
        21
    6diyipi  
       2024-01-08 17:02:59 +08:00
    ShadowPower
        22
    ShadowPower  
       2024-01-08 17:22:22 +08:00
    Betsy
        23
    Betsy  
       2024-01-09 12:42:23 +08:00 via iPhone
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2786 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 14:27 PVG 22:27 LAX 07:27 JFK 10:27
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86