1、基础知识

1.1 注释

1.1.1 什么是注释

  • 注释是对代码的解释说明。
  • 注释是给程序员看的,在代码执行的时候不起任何作用,不影响程序的结构。

1.1.2 注释的作用

  • 提高代码的可读性。
  • 屏蔽掉暂时不需要的代码。
  • 可以定位程序中出错的位置。
Read more »

1、图生文GPT-4 Vison

  • 从历史上看,语言模型系统仅接受文本作为输入。但是单一的输入形式,限制了大模型的应用落地范围。

  • 随着技术发展,OpenAI 开发的 GPT-4 Turbo with Vision(简称 GPT-4V)允许模型接收图像作为输入,并回答关于它们的问题。

  • 注意,目前在 Assistants API 中使用 GPT-4 时还不支持图像输入。

  • 使用 GPT-4V 识别线上图像(URL):

    Read more »

1、Model I/O

  • Model I/O 是 LangChain 为开发者提供的一套面向 LLM 的标准化模型接口,包括模型输入(Prompts)、模型输出(Output Parsers)和模型本身(Models)。

    • Prompts:模板化、动态选择和管理模型输入。
    • Models:以通用接口调用语言模型。
    • Output Parser:从模型输出中提取信息,并规范化内容。
Read more »

1、快速入门Assistants API

  • Assistants API 允许您在自己的应用程序中构建人工智能助手。一个助手有其指令,并可以利用模型、工具和知识来回应用户查询。

  • Assistants API 目前支持三种类型的工具:

    • 代码解释器 Code Interpreter
    • 检索 Retrieval
    • 函数调用 Function calling
  • 使用Playground可以在线探索和测试 Assistants API 功能。

  • 本入门指南将指导您完成创建和运行使用代码解释器的助手的关键步骤,以下是使用 Assistants API 标准流程:

    • 通过定义其自定义指令并选择 LLM 来创建一个助手(Assistant)。如果有需求,可以添加文件并启用诸如代码解释器、检索和函数调用等工具。
    • 当用户开始对话时,创建一个线程(Thread)。
    • 当用户提问时,向线程添加消息(Messages)。
    • 通过调用模型和工具在线程上运行助手以生成响应。
    Read more »

1、使用pdfplumber解析PDF文件

1.1 pdfplumber简介

  • pdfplumber项目(基于pdfminer.six开发),支持解析PDF文件,获取每个文本字符、矩形和线条的详细信息。此外还支持表格提取和可视化调试。
  • 对于机器生成的PDF而言效果最佳,不适用于扫描得到的PDF。
  • 支持:Python 3.8~3.11
Read more »

1、Models API

1.1 List Models

  • 列出当前可用的模型,并提供每个模型的基本信息,如所有者和可用性。

    1
    2
    3
    4
    5
    6
    7
    import os
    from openai import OpenAI
    client = OpenAI()

    # 需要在环境变量中先设置OPENAI_API_KEY
    models = client.models.list()
    print(models)
    Read more »

1、表示学习与嵌入

  • 表示学习(Representation Learning)和嵌入(Embedding)是密切相关的概念,它们可以被视为在不同领域 中对同一概念的不同命名或描述。

    • 表示学习:通过学习算法自动地从原始数据中学习到一种表示形式或特征表示,该表示形式能够更好地表达数据的重要特征和结构。表示学习的目标是将输入数据转换为具有良好表示能力的特征空间,使得在该空间中的数据具有更好的可分性、可解释性或推理能力。
      • 可分性:表示学习的目标之一是将输入数据转换为具有更好可分性的特征空间。这意味着在学习到的表示中,不同类别或不同概念之间的样本应该有明显的边界或区别。例如,在图像分类任务中,表示学习的目标是使来自不同类别的图像在特征空间中更容易区分。这样的特征表示使得机器学习算法可以更轻松地进行分类、聚类或其他数据分析任务。
      • 可解释性:另一个表示学习的目标是生成可解释性的特征表示。这意味着学习到的特征应该具有对应于原始 数据中的可理解概念或语义的含义。例如,在自然语言处理中,词嵌入模型学习到的词向量应该能够捕捉到词语之间的语义关系,使得相似的词在向量空间中更接近。这样的表示不仅有助于模型的解释性,也可以在 语义分析和文本生成等任务中提供更好的性能。
      • 推理能力:另一个重要的目标是使得学习到的特征表示在推理任务中更具能力。这意味着在特征空间中,我 们可以执行类似于推理、类比或关联的操作。例如,通过在词嵌入空间中执行向量运算,如 “国王” - “男人” + “女人”,我们可以得到与 “皇后” 非常接近的结果。这种推理能力使得我们能够进行关联和类比推理,从而在自然语言处理、推荐系统和知识图谱等领域中实现更高级的语义推理和理解。
    • 嵌入:表示学习的一种形式,通常用于将高维数据映射到低维空间中的表示形式。嵌入可以是词嵌入、图像嵌入、图嵌入等。例如,在自然语言处理中,词嵌入将词语映射到低维向量空间,以捕捉词语之间的语义和句法关系。在图像处理中,图像嵌入将图像映射到低维向量空间,以表示图像的视觉特征。
Read more »

BERT是2018年谷歌提出来的在自然语言处理领域的一个模型,比GPT1晚了大概四个月,在NLP领域产生了深远的影响,本文接下来对BERT进行详细介绍。

1、什么是BERT

  • BERT全称为Bidirectional Encoder Representations from Transformers,即一种基于Transformer编码器的双向语言表征模型,首先会用BERT在大规模的文本数据集上进行自监督学习,使模型学习到语言的表征能力 ,接着可以在不改变模型结构的基础上在各种NLP下游任务上做微调。(因为之前的基于RNN结构的预训练模型,在应用到不同的下游任务时,需要稍微改变模型结构)

Read more »

  • Transformer 模型自问世以来,依然是人工智能领域的核心技术之一。作为深度学习中革命性的架构,Transformer 不仅在自然语言处理(NLP)中占据主导地位,还扩展到了计算机视觉、语音处理和科学计算等多个领域。
  • 如今,无论是大语言模型(如 GPT-4 和 Bard)推动的生成式 AI 热潮,还是 Vision Transformer 在图像分析中的崛起,Transformer 的影响力无处不在。同时,研究者们也在不断优化和改进这一架构,通过轻量化设计、高效注意力机制以及多模态融合,进一步拓宽了其应用场景和效率边界。可以说,Transformer 已经从一种模型架构发展为一种贯穿多领域的技术范式,其热度不仅未减,反而随着新技术和新应用的涌现而持续升温。
Read more »

1、Explain查看执行计划

  • Spark3.0大版本发布,Spark SQL的优化占比将近50%。SparkSQL取代SparkCore,成为新一代的引擎内核,所有其他子框架如Mllib、Streaming和Graph,都可以共享Spark SQL的性能优化,都能从Spark社区对于SparkSQL的投入中受益。
  • 要优化Spark SQL应用时,一定是要了解SparkSQL执行计划的。发现SQL执行慢的根本原因,才能知道应该在哪儿进行优化,是调整SQL的编写方式、还是用Hint、还是调参,而不是把优化方案拿来试一遍。
Read more »