Database Copilot 在数据库领域的落地

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. Database Copilot 在数据库领域的应用 李粒,PingCAP AI Lab
2.
3. Agenda • • • • 数据库运维领域的挑战 LLM 带来的机遇 PingCAP 的实践 Database Copilot 的未来挑战
4. 数据库运维领域的挑战
5. 来自业务的挑战 数据规模增长 更低的延迟 在线分析 故障恢复
6. 来自业务的挑战 数据规模增长 更低的延迟
7. 来自业务的挑战 数据规模增长 最佳实践 更低的延迟 • 选用更合适的数据库 • 设计库表结构 • 索引优化 • 并发控制 • 内存管理 • Hint • Binding •…
8. 来自业务的挑战 数据规模增长 TiDB Cloud 文档:582 TiDB 文档:1095 更低的延迟
9. 来自业务的挑战 在线分析
10. 来自业务的挑战 HTAP PM Finance Operation 在线分析 不熟悉 SQL Marketing
11. 来自业务的挑战 故障恢复
12. 来自业务的挑战 Metrics 故障恢复 TiDB 1000+ Logs Queries Profiling 1000+/s Slow Queries SQL Statement TopSQL 1min
13. 来自业务的挑战 数据规模增长 更低的延迟 在线分析 数据库是一个复杂系统,难以被用户完全掌握 故障恢复
14. LLM 带来的机遇
15. 过去的方法(传统 AIOPS) 任务泛化能力 Rule-Based / ML / DL 变点分析 相关性分析 下钻分析 Rule-Based / DL / RL 异常分析 故障分类 https://github.com/TsinghuaDatabaseGroup/AIDB/ 任务复杂度
16. LLM 带来的新能力 In-context Learning Coding / SQL Reasoning Function Call 任务泛化能力 LLM Capability (Corpus + API + Code + Loop) Rule-Based / DL / RL 任务复杂度
17. 一些概念
18. 概念 - LLM 应用类型 https://zhuanlan.zhihu.com/p/679371205 应用类型 每一步的产出 决定下一步怎么做 行动的流程 行动的目标 Wrapper 单次调用产出 人类的业务代码 人类的业务代码 人类提供 Flow(DAG) 多次调用产出 LLM 作为路由器,参 与到流程判断中,判 断需要使用的工具、 召回、逻辑路径等。 人类的业务代码 人类提供 Agent(Loop) 多次调用产出 LLM 可以重复进行某 些循环步骤,以确保 流程能够持续进行, 或确保结果满足人类 最初的目标。 人类提供基本逻辑和 人类提供 提示,LLM 根据人类 逻辑进行优化和调整, 自主完成流程。 Autonomous Agent 多次调用产出 LLM 可以重复进行某 些循环步骤,以确保 流程能够持续进行, 或确保结果满足人类 最初的目标。 LLM 自主完成所有行 动流程的初始化、工 具接入、流程执行。 人类提供 Silicon-based Life LLM 可以重复进行某 些循环步骤,以确保 流程能够持续进行, 或确保结果满足人类 最初的目标。 LLM 自主完成所有行 动流程的初始化、工 具接入、流程执行。 基于反馈,LLM 自主 发起和确认每一次行 动的目标 多次调用产出
19. 概念 - 什么是 Copilot? https://www.emcap.com/thoughts/your-success-with-generative-ai-may-come-down-to-these-ux-decisions/
20. PingCAP 的实践 应用场景 / 已有工作 / 数据飞轮
21. 数据库常见的 LLM 应用场景 面向用户 ChatBot NL2SQL 数据库诊断
22. PingCAP AI Lab - LLM 技术逻辑框架
23. PingCAP LLM 应用的业务架构
24. Chatbot - 来自业务的挑战 数据规模增长 TiDB Cloud 文档:582 TiDB 文档:1095 更低的延迟
25. Chatbot App - Flow
26. Chatbot App 的毒性检测 对齐 使人工通用智能(AGI)与人类价值观保持一致,并遵循人类意图。 引自 OpenAI, 2022, Our approach to alignment research 有害内容 当代文本生成模型能够生成有害语言,包括仇恨言论、侮辱、亵渎和威胁。 这些危害通常被归类为“有害内容”这一总称。 引自 Deepmind, 2021, Challenges in Detoxifying Language Models 毒性检测 即插即用语言模 型(PPLM)
27. Chatbot App 的毒性检测
28. Chatbot 的毒性检测
29. Chatbot App 的毒性检测
30. Chatbot App 的语料增强 最初 300 个问题的反馈 分类 数量 百分占比 超出应答范围 9 8.74% 错误检索结果 60 58.25% 没有相关文档 23 22.33% LLM 幻觉 11 10.68% 总共 103 100%
31. Chatbot App 的语料增强 RAG Human: What’s TiDB Cloud? Retrieve Rank Chunk Score 1 TiKV is ... 0.91 2 TiDB is ... 0.87 3 TiFlash is ... 0.83 4 PD is ... 0.81 5 TiUP is ... 0.79 6 TiDB Cloud is ... 0.77
32. Chatbot App 的语料增强 ReRank Documentation Corpora Adjusted Question-Chunk Pairs Rank Chunk Score Rank Question Chunk Score 1 TiKV is ... 0.91 1 What is TiDB Cloud? TiDB Cloud is ... 1 2 TiDB is ... 0.87 2 ... ... 0.87 3 TiFlash is ... 0.83 3 ... ... 0.83 4 PD is ... 0.81 4 ... ... 0.81 5 TiUP is ... 0.79 5 ... ... 0.79 6 TiDB Cloud is ... 0.77 6 ... ... 0.77 合并与排序,获取总分 top 5 的语料
33. Chatbot App 的语料增强
34. Chatbot App - Flow
35. Chatbot - Copilot Type 在用户提问同 时,获取到用户 所在页面、集群 信息,一起更合 理的为用户达成 目标。
36. Chatbot 效果 • TiDB Community 活跃提升 30%。 • 覆盖全渠道回答 TiDB 和 TiDB Cloud 相关问题。 • 点踩率低于 2%。 • 成为公司内员工学习 TiDB 和工作查询标配。
37. NL2SQL - 来自业务的挑战 HTAP PM Finance Operation 在线分析 不熟悉 SQL Marketing
38. NL2SQL App - Agent
39. NL2SQL App 的 Schema 增强
40. NL2SQL App 的 Prompt Self-Ask(Ofir Press, 2022) • • • • • 改写用户提来的问题; 抽取问题的关键词; 抽取可能潜在的 repo、user 等。 尝试对用户的问题进行分解,并自己回答。 最终根据所有的思考逻辑,写出对应的 SQL。
41. NL2SQL App 的报错自动调整
42. NL2SQL App - Agent
43. NL2SQL - Copilot https://tiinsight.vercel.app/
44. NL2SQL 效果 • 终端用户问题的可执行率超过 95%,准确率 超过 90%。 • 在内部用于业务人员的信息快速获取。
45. Diagnosis - 来自业务的挑战 Metrics Logs Queries Profiling 1000+/s Slow Queries SQL Statement TopSQL 1min 故障恢复 TiDB 1000+
46. Diagnosis App - Agent
47. Diagnosis App - Multi Agents
48. Diagnosis App - Agents Define Agents Define Planner Engineer Excutor Critic System Prompt Description Develop a plan based on the Task and Standard Operating Procedure (SOP). I am tasked with creating the plan. If we consider SOP as a class, then the plan serves as an instance I am only allowed to speak inmediately after `User` or `Critic`. of SOP for a specific Task. Only `Engineer` is allowed to speak immediately after `Planner`. Incorporate pertinent details from the Task into the steps of SOP. If `Planner` is succeeded by `Critic`, the `Critic` is not Ensure clarity, specificity, and unambiguity in each step of the permitted to directly utter "TERMINATE" at this time. plan to facilitate execution by the `Engineer`. … … I am responsible for execute the plan from `Planner`. Following `Engineer`, only `Executor` or `Critic` is allowed to Accountable for implementing plans of `Planner`. speak immediately. … If `Engineer` outputs "TERMINATE", only `Critic` can speak immediately. … I can only immediately speak when prompted by the `Engineer` for a function call. Execute only the functions explicitly specified by the Engineer; Post `Executor`, only the `Engineer` is permitted to speak refrain from engaging in additional tasks. immediately!!! … `Executor` is prohibited from speaking immediately after `Critic`!!! … After the `Engineer` outputs "TERMINATE", evaluate whether the Do not select me unless the final non-system-role message from final message resolves the tasks mentioned in the first message. `Engineer` concludes with "TERMINATE"!!! In case of affirmation, replicate the output `Engineer` and add Only `Planner` is allowed to speak after `Critic` immediately. "FINALLYTERMINATE" to the end. If there is no GAP, `Critic` duplicates the output `Engineer` If negative, provide details on the pending tasks. and appends 'FINALLYTERMINATE' at the end immediately. … …
49. Diagnosis App - SOP https://tidb.net/blog/3cf4615e https://tidb.net/blog/d3d4465f https://tidb.net/blog/5e10a92c
50. Diagnosis App - Multi-Agents & Loop
51. Diagnosis App - 产出稳定性 https://microsoft.github.io/autogen/blog/2024/02/11/FSM-GroupChat/ https://zhuanlan.zhihu.com/p/682218860
52. Diagnosis App - 知识库/SOP 的生成 https://github.com/pingcap/LinguFlow
53. Diagnosis - Alpha 版本 未来会以 Copilot 形式,提供在 TiDB Cloud 中
54. Diagnosis 效果 • 支持对客户和技术支持的每轮对话进行相关知 识搜索、现状分析和下一步建议。 • 海外社区问题所有的工单,完全解放人力。 • TiDB Cloud 工单的首轮回复,提高首单回复效 率和整体的结单时间。 • 内部诊断系统的实时建议,缩短 MTTR 时间。
55. 数据飞轮 - 准确率 以 NL2SQL 为例 • 不同行为会自动化异步优化: • 点赞、分享:加入到语料中。 • 点踩、修改 SQL:使用 Agent 对用户的提问进 行多次理解,生成多个 SQL。对多个 SQL 进行 执行,LLM 根据执行结果评分是否满足用户问 题。评分最高的加入到语料中。 • 在生成多个 SQL 并执行之后,对 SQL 执行时长 和执行计划进行评分,选择效率最高的执行计 划。 • 使用 Agent 自动对热门 SQL 进行索引优化。
56. 数据飞轮 - Embedding Using Agents
57. 数据飞轮 - 测试 以 NL2SQL 为例 • 正面的反馈进入到测试集中,保证未来的迭代不 会破坏之前的用例。 • 负面的反馈,通过优化 Agents 的处理,将正确结 果也存储到测试集中。 • 所有的运行结果,通过分类算法进行分类,使用 问题增强方法对每一类问题补充对应的测试集。
58. PingCAP AI Lab - 技术栈拥抱社区 TiDB TiDB Vector LLamaIndex LinguFlow LangFuse AutoGen NL2SQL: Spider GPT Llama
59. PingCAP AI Lab - 框架扩展性 ChatBot NL2SQL Diagnosis More Scenarios 测试增强 代码检查 信息整理 知识库管理
60. Database Copilot 的未来挑战
61. Database Copilot 的未来挑战 人际交互 完全融入工作流 评价和优化 对 Flow 和 Agent 知识积累 超出人类效率 诊断和运维 自主探索根因并修复
62.
63.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.138.0. UTC+08:00, 2024-12-22 09:34
浙ICP备14020137号-1 $Map of visitor$