解读人类语言真实意图是一门不完美的学问。相关搜索是一个认知迷宫,即使是最先进的 AI 也无法(完全)解决!
# RAG Retrieval-Augmented Generation
# Retrieval Augmented FineTuning(RAFT)
RAFT的核心思想是结合监督式微调(Supervised Fine-Tuning, SFT)和检索增强型生成(Retrieval-Augmented Generation, RAG)来适应特定领域的知识。
PS: 关联和非关联文档, + COT chain of thought
# GraphRAG
GraphRAG is a structured, hierarchical approach to Retrieval Augmented Generation (RAG), as opposed to naive semantic-search approaches using plain text snippets. The GraphRAG process involves extracting a knowledge graph out of raw text, building a community hierarchy, generating summaries for these communities, and then leveraging these structures when perform RAG-based tasks.
PS: 召回方式的改变.
# Open Search(ES)
现在企业级搜索主流的解决方案ES(或分出来的open search), 最近都积极融入了 LLM + Vector DB 等解决方案,从成本和风险角度, 吸引力更大!
-
意图识别
-
实体识别
-
召回
-
粗排,精排
-
Query 改写, 常用词,同义词...
-
Search for exact values
-
Search for exact values or ranges of numbers, dates, IPs, or strings.
-
Full-text search
-
Use full text queries to query unstructured textual data and find documents that best match query terms.
-
Vector search
-
Store vectors in vector DB and use approximate nearest neighbor (ANN) or k-nearest neighbor (kNN) search to find vectors that are similar, supporting use cases like semantic search.
搜索相关性所使用的算法
搜索相关性由评估、处理、检索和排名信息的复杂算法提供支持。搜索相关性算法用于解读关键词和意图的语义,评估来源的权威性,以及解码参与度、地理位置和个人偏好等信号。
常见的搜索相关算法包括:
-
TF-IDF(词频-逆文档频率)用于评估关键词的重要性,并对在目标文档中经常出现但不在其他文档中出现的字词给予奖励。
-
RankBrain 是 Google 开发的一种 AI 算法,它使用机器学习来解读和处理查询,以便更好地理解用户意图,因为用户意图通常会有细微差别或者模棱两可。
-
向量空间模型的工作原理是将文档和查询表示为维度空间中的向量以便进行比较和排名。
-
潜在语义分析使用统计方法处理相关字词和短语,以此来识别字词之间的潜在关系。
-
自然语言处理 (NLP) 是一种机器学习方法,有助于搜索引擎更好地理解搜索中使用的人类语言的上下文和语义。(NLU)
搜索相关性的关键因素
-
文本分析和关键词相关性:语言措辞、同义词、词语变体、拼写错误、地区性拼写变体和语音拼写
-
内容质量: 权威,新鲜度
-
词加权: 关键词 weight
-
用户意图: 语义上下文
-
个性化和本地化:用户特定的因素,地理位置、语言、设备类型,搜索历史
-
用户参与度指标:点击率
消除低质量的搜索结果是一个令人沮丧的过程,而且解决方案并不总是透明的。在解释具有多种含义的查询时,总会存在固有的歧义。在没有太多其他依据的情况下解读人类语言真实意图是一门不完美的学问。相关搜索是一个认知迷宫,即使是最先进的 AI 也无法(完全)解决。
语义搜索用于解释用户查询的含义,它使用上下文来响应用户的意图,而不是逐字搜索。向量搜索通常用于语义搜索,通过利用近似最近邻 (ANN) 算法来查找相似数据,从而生成相关性更高的结果。混合搜索同时使用支持向量的搜索方法和关键词搜索方法。
混合解决方案--甚至包括转人工,可能才是最后的正解
ApiHug 准则:
-
📐 设计先行: Design First
-
📑 协议驱动:Specification Driven
-
🗺️ 单一信任源: Single Source of Truth
-
❤️ 开发同理心: Development Empathy
ApiHug:
-
无服务: 一切尽在本地, 或者您的内部 Repository
-
无强依赖: 遵循行业最佳、最成熟实践、可插拔
-
无隐藏:一切尽公开透明
📐设计先行
通过统一的API 设计元语(DSL, domain specific language), 让API 设计更语言化(Describe);实现高度的一致化,和高复用。
📑协议驱动
OAS (OpenAPI specification), 是 ApiHug世界的 "金科玉律", 严格保证定义 ↔ 实现之间同构(isomorphism)态射。
🗺️单一信任源
实现 API 从:蓝图→施工→测试→落地,不走样, 不变形,不改味。极致沟通效率和极低信任成本。
❤️ 开发同理心
置身于多种角色,感同身受,在快和慢,现在和将来,个体和团队上综合平衡,极具同理心是ApiHug 人文基础,她不仅仅是一段代码,一个工具,一种方式。
We Build What We Love & Love What We Built
https://apihug.com/docs/start/what-is-apihug
快速开启 - ApiHug如何在15分钟内,使用 ApiHug 启动一个API开发项目.https://apihug.com/zhCN-docs/start
# 参考
-
https://cloud.tencent.com/developer/article/2407760
-
https://blog.51cto.com/u_15610758/10417184
-
https://gorilla.cs.berkeley.edu/
-
https://gorilla.cs.berkeley.edu/blogs/9_raft.html
-
https://techcommunity.microsoft.com/t5/ai-ai-platform-blog/raft-a-new-way-to-teach-llms-to-be-better-at-rag/ba-p/4084674
-
https://www.elastic.co/cn/what-is/search-relevance
-
https://microsoft.github.io/graphrag/
-
https://www.nebula-graph.io/posts/graph-RAG