[技术求助帖] 我希望完成这个功能:有一个数据库,可以存储很多文章。然后在检索的时候,可以按照语义特征搜索,比如情感类文章、恐怖小说文章、谈论爱情的文章、和用户输入相识的文章等。
我大概知道可以使用向量数据库处理。但是我之前没学过向量数据库。
有没有朋友说一下该采取什么技术栈、选择哪种数据库、如何循序渐进的学习?
这就是大数据和 ai ,根据特征分类识别
这个用普通的数据库也可以,文章存入数据库的时候,搞个打标签的动作把文章进行分类,然后把标签存入数据库,就可以检索了,文章进行分类的动作找 nlp 的开源算法就能实现了
向量数据库比 SQL 数据库还简单,直接上 milvus ,就读和取。但是你这个数据,除了“和用户输入相识的文章”这个需求,其他的按照 2 楼说的,存储的时候写标签就够了。
我做过代码的相似性分析,就是用自然语言描述找函数,或者用函数找功能相似的函数。可以先用关键词生成给每篇文章生成语义特征向量,然后把用户输入也转为语义特征向量做相似性分析,匹配相似度最高的文章。
文章是文本数据可以考虑使用 ES 来存储,入库的时候进行打标分类就行,也可以提取内容的关键词等特征向量,搜索的时候利用相似度进行匹配
文章入库的时候打标签。
你要找的是不是: github.com/chatchat-space/Langchain-Chatchat
打标签+ES 完全满足
看到这些,想起中文环境,我就恍惚看到一个人在如山的垃圾堆里翻来翻去的画面。
为啥我觉得 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"]}
提取完关键字之后 搞个 word2vec 之类的关键字相似性 丢进 ES 完事
langchain 完美解决你的问题
你要找的是不是 meilisearch?
我想让这个查询灵活点。打标签的话,感觉不够灵活,毕竟一篇文章可以有非常多个标签
是个方案。之前了解过一点,就是感觉学起来太慢了(我之前没有太多 AI 基础),所以想从向量数据库那里找捷径。
向量数据库不过是把别的类型的数据(比如文本)和向量关联起来,向量也是用外部的 embedding 模型计算的。另外所谓向量数据库,其实你维护一个(向量,你的数据)的 tuple list,然后每次都拿查询向量遍历计算,其实效果也差不多。然后这项目也就是推荐个起手的切入点,实际上你可能得根据自己的数据结构另起一套具体的实现。具体实现的话,AI 目前的形式就当成文本补全的 API 就行,langchain 用上的必要性其实也不是很高,因为这玩意针对 gpt 的优化比较多,对于国产的本地 llm 实际上自带的 prompts 效果也不太行。
pg 向量存储?
信息检索-倒排索引-词袋模型-聚类/分类
打很多 tag ?
付费的话,Mogodb 的 Atlas 能很快实现你的需求,只需要几个云函数即可进行调用大数据模型进行分析
Langchain 你值得拥有, github.com/langchain-ai/chat-langchain
huggingface.co/BAAI/bge-large-zh
刚用了 keepass 把所有密码统一管理起来,发现还是需要频繁输入主密码,请问主密码和手机锁屏密码需要每隔一段时间就更换一次吗,记不住怎么办,怎样兼顾安全性和输入的便捷性呢?…
帮朋友问一个问题。 最近在使用向日葵的时候发现一个问题,想请教一下各位大佬,为什么向日葵会在电脑上默认创建名为 [ sunlogin ] 管理员账号。 运行命令符即可查询到 …
这几天程序有一个 bug ,查出来是计算一个三角形面积,理论上应该是负数,但是函数算出来是正数,百思不得其解。后来把计算面积公式里的 double 换成了 doubledoub…