PingCAP(姚维):Gen+AI时代趋势中的TiDB
Gen AI 时代趋势中的 TiDB 演讲人:姚维目录CONTENTS012024 应用开发趋势展望02AI 应用与探索的旅程03向量搜索浅谈04SQL + Vector 的挑战▶2024 应用开发趋势展望●Rise of the builders(X-as-a-Service)●Platform Engineering●AI-Augmented Development●Democratized Generative AI●Intelligent Applications● Full-stack JavaScript●Edge functions●JavaScript-friendly Serverless platform●聚焦业务逻辑,越来越多模块被接管●全栈单语言 -> 小团队能实现更多2024 应用开发趋势展望2024 应用开发趋势展望2023 TiDB Hackathon 一个真实的例子●用上所有上述的 Service 和 AI●一个程序员就可以短时间内完成一个复杂的应用程序○开发○测试○发布●在以前,这不可想象!2024 应用开发趋势展望AI 应用与探索的旅程AI 应用与探索的旅程●从最基础的 Prompt Engineering 开始●刚开始 Text2Query 的效果还不错●问题很快出现:○准确性达到瓶颈,~50%○无论如何调整 Prompt,都会带来副作用,影响其他语句AI 应用与探索的旅程Language Models are Few-Shot LearnersAI 应用与探索的旅程●gpt-3.5-turbo: 支持 4,096 tokens●gpt-4-0125-preview: 支持到 128,000 tokens●Prompt 不能囊括所有的知识和例子●无法确定问题和 Prompt 上下文之间的关联度What is Embedding and Vector?What is Embedding and Vector?●Distance○Cosine Distance○Squared Euclidean(L2 Squared)○Manhattan(L1)○Dot Product●三维向量距离计算,可以类推到高维向量What is Embedding and Vector?●文档和自己的私有数据变成 Vector 以后●可以通过 Similirity 计算,能搜索得到语义相近的对象●例如:○Q: 最新的气候变化报告○Chunks:■"联合国气候变化大会最新公布的报告显示..."■"最近的研究表明,全球变暖速度超过先前预期..."■"科学家们发表的最新气候变化研究报告强调了..."AI 应用与探索的旅程●Prompt 根据提问,动态生成●Knowledge 扩展到无限,通过问题的相关性/相似度取回相关知识AI 应用与探索的旅程●Domain Knowledge 可以被持续更新●通过用户点赞或者管理员手动添加等方法AI 应用与探索的旅程●上线效果:Text2Query 准确度从 51.48% 到 75.46%0323-04110303-0322Question Executable Rate75.46%51.48%Total Question Count From Users12021389Question meet Error count295674AI 应用与探索的旅程●RAG(Retrieval-Augmented Generation) ●解决 LLM 数据过时的问题●部分解决 “幻觉”●LangChain 和 LLamaIndex●和我们有什么关系?Advanced RAG Techniques: an Illustrated OverviewAI 应用与探索的旅程AI 应用与探索的旅程AI 应用与探索的旅程AI 应用与探索的旅程AI 应用与探索的旅程向量搜索浅谈●对于 RDBMS 来说,最重要的是能够对数据增加索引,精确过滤○是否可以对 Vector 做同样的事情?●独立的 Vector 存储或者 SQL + Vector?向量搜索浅谈mysql> CREATE TABLE vec_tbl(content_id INT, vec VECTOR);Query OK, 0 rows affected (1.24 sec)mysql> CREATE TABLE vec_ref_id(id INT, content VARCHAR(512));Query OK, 0 rows affected (0.86 sec)# insert….# TOPKmysql> SELECT content_id, vec_cosine_distance(vec, '[8.7, 5.7, 7.7, 9.8, 1.4]') as distance -> FROM vec_tbl ORDER BY distance LIMIT 3;+------------+-------------------------+| content_id | distance |+------------+-------------------------+| 1 | 0.000018636164854313186 || 4 | 0.046720443178103865 || 5 | 0.17025852918553686 |+------------+-------------------------+3 rows in set (0.26 sec)# JOIN mysql> SELECT vri.id, vri.content, VEC_Cosine_Distance(vt.vec, '[1,2,3,4,5]') AS distance -> FROM vec_tbl vt -> JOIN vec_ref_id vri ON vt.content_id = vri.id -> ORDER BY distance;+------+-------------+---------------------+| id | content | distance |+------+-------------+---------------------+| 5 | content 5 | 0.04972827044697814 || 3 | content 3 | 0.06925255631855243 || 4 | content 4 | 0.12677426832319694 || 2 | content 2 | 0.18577333207371582 || 1 | hello world | 0.2564100235012563 |+------+-------------+---------------------+5 rows in set (0.29 sec)●让 Vector 成为 SQL
PingCAP(姚维):Gen+AI时代趋势中的TiDB,点击即可下载。报告格式为PDF,大小6.23M,页数36页,欢迎下载。