「学习笔记」向量数据库 (Vector Database)

1. 基础概念

  • 传统数据库的局限性:传统关系型数据库(如MySQL)或NoSQL数据库(如MongoDB)擅长进行精确匹配范围查询。但它们无法有效处理基于“相似性”的查询,例如:“找出所有与这张图片相似的图片”。
  • 向量数据库(Vector Database):一种专门为存储、索引和检索高维向量而设计的数据库。其核心能力是进行近似最近邻搜索,快速找到与查询向量最相似的向量集合。能够高效地处理非结构化数据(如文本、图像、音视频等)。利用嵌入模型将非结构化数据转换为数值数组(即向量),存储在专门设计的存储结构中,并利用索引技术加速查询过程。
    1. 向量与嵌入
      • 向量(Vector) 是多维空间中某点的数学表示(如{12, 13, 19, 8, 9}表示5维空间坐标),通过几何方式表达数据的语义特征。
      • 嵌入(Embedding) 是机器学习生成的向量,将文本、图像等非结构化数据映射到向量空间,使语义相近的数据点在空间中距离更近。
    2. 运作机制
      • 存储数据点(文档、图像、音视频等)的嵌入向量,并建立向量到原始数据的映射关系。
      • 通过相似性搜索(如计算余弦相似度、欧氏距离)快速检索最接近的向量,支持语义级查询。

2. 工作流程

向量数据库的核心工作流程分为写入查询两部分。

「学习笔记」大模型RAG(检索增强生成)

1. 基础概念

RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索与文本生成的人工智能技术。通过从外部知识库中检索相关信息,并将其作为提示(Prompt)输入给大语言模型(LLM),以增强模型处理知识密集型任务的能力,如问答、文本摘要、内容生成等。

「学习笔记」AI基础 & 大语言模型(LLM)原理

AI基础概念

  • 人工智能(Artificial Intelligence, AI):最宏观的概念,一个庞大的科学领域,致力于创造能够执行通常需要人类智能的任务的机器系统。(AI不一定需要学习,早期AI大多基于预设的规则和逻辑。)
  • 机器学习(Machine Learning, ML):实现AI的一种核心方法。其理念是:从数据中“学习”规律,而不是硬编码规则。其性能随着经验(数据)的增加而提高。
  • 深度学习(Deep Learning, DL):机器学习的一个重要分支。它使用更深、更复杂的神经网络结构来学习数据。DL的强大之处在于能自动从原始数据中提取特征。
  • 神经网络(Neural Network, NN):受人类大脑启发而构建的算法模型,是深度学习的基础和核心架构。它由大量相互连接的“神经元”节点组成。接收输入,进行加权求和,并通过激活函数产生输出。
  • 大模型(Large Models, LM):通常指基于深度学习大规模神经网络(如Transformer),参数规模巨大(通常达到十亿万亿级别)的深度学习模型。大模型是当前深度学习技术发展到极致的体现。
  • 大语言模型(Large Language Model, LLM):LM最突出的一个子类,特指那些专门在海量文本数据上训练,专门用于理解和生成自然语言的大模型。

它们之间的包含关系:[人工智能]-->[机器学习]-->[深度学习]-->[神经网络]-->[大模型]

「学习笔记」Python基础入门

此篇学习笔记基于Python 3.14.0版本,Python安装包里有Python解释器、Python运行所需要的基础库,以及交互式运行工具——PythonShell。 编写和运行Python程序主要的两种方式:

  1. 交互方式:Python + 回车键
  2. 文件方式:Python 文件名.py + 回车键

1. 语法基础

1.1 标识符的命名规则:

  1. 区分大小写;
  2. 只能是由下画线(_)字母数字或Unicode字符(包括汉字,但不建议)组成;
  3. 首字符不能是数字;
  4. 关键字不能作为标识符;
  5. 不要使用内置函数作为标识符;

1.2 关键字

只有 True、False、None的首字母大写,其他关键字全部小写:

「学习笔记」Cocos Creator 3.8 图形渲染 与 Cocos Shader

1. Cocos Creator 图形渲染

1.1 渲染管线

  • 渲染管线:定义了从3D场景数据(网格、材质、灯光等)转换为2D屏幕图像的一系列步骤。
  • Cocos管线:采用了可定制渲染管线(CRP - Customizable Render Pipeline),内置了前向渲染(forward)和 延迟渲染(deferred)管线,并支持自定义渲染管线
    • 内置管线:
      • 前向渲染管线:对每个物体,遍历所有光源计算其光照贡献。支持半透明、多光源逐像素处理简单。不过光源数量多时性能下降快。
      • 延迟渲染管线:先将材质属性渲染到多个纹理中,然后利用纹理中的信息,通过屏幕空间计算每个像素的光照。光照计算与场景复杂度解耦,大量光源下性能极佳,但是半透明处理困难,对带宽和内存要求高。
    • 自定义渲染管线:允许开发者完全控制渲染流程(渲染阶段和顺序、后处理等),通过继承Pipeline类,并重写render等方法来实现。

1.2 光照与阴影

  • 光源:平行光(方向光),球面光(点光源),聚光灯,环境光(漫射环境光)。
  • 光照模式
    • 实时光照:每帧动态计算,光影可变化,性能开销大。
    • 烘焙光照:预先计算并将光照信息“烘焙”到光照贴图中,运行时无开销,用于静态场景。推荐使用GPU光照烘焙,比CPU烘焙速度快。
    • 混合光照:结合两者,静态物体用烘焙光,动态物体用实时光。
  • 阴影:从光源视角渲染一张深度贴图(Shadow Map),然后在主相机渲染时比较深度来判断是否在阴影中。
    • 设置:在Light组件和MeshRenderer组件上均可开启/接收阴影。
    • 优化:阴影是性能杀手。优化手段包括:调整阴影距离、分辨率、平行光使用CSM(级联阴影映射)。
    • 级联阴影映射:用于平行光,将视锥体分割为多个层级,近处使用高分辨率阴影图,远处使用低分辨率,以平衡质量和性能。

1.3 网格

网格(Mesh)一般用于绘制 3D 图像。网格资源包含顶点数组(顶点缓冲区)和索引(索引缓冲区),顶点数据包含位置、法线、切线、颜色、纹理坐标等属性。

「学习笔记」WebGL 与 Shader 着色器渲染实践

1. WebGL基础

WebGL(Web Graphics Library, Web图形库)是 Web 上新的3D图形标准/规范,它是为渲染2D图形和交互式3D图形而设计的JavaScript API。源自 OpenGL(Open Graphics Library, 开放图形库)的ES2.0库。OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。

0%