aigc基础概念(一)

21 篇文章 1 订阅
4 篇文章 0 订阅

目录

一、AI

1.1、基本术语

1、Artificial Intelligence (AI) —— 人工智能

2、Generative AI —— 生成性人工智能

3、Machine Learning (ML) —— 机器学习

4、Deep Learning (DL) —— 深度学习

5、Large Language Model (LLM) —— 大型语言模型

6、Transformers

7、Natural Language Processing (NLP) —— 自然语言处理

8、Prompt —— 提示

9、Prompt Engineering —— 提示工程

10、Neural Network —— 神经网络

11、Reinforcement Learning (RL) —— 强化学习

1.2、aigc

1、概念

    1、Models

    2、Prompts

    3、Prompt Templates

    4、嵌入

    5、Tokens

    6、Output Parsing(输出解析)

    7、将数据引入AI

    8、检索增强

    9、评估AI响应

2、聊天模型

3、应用

    1、支持API

    2、实战

        1、官方:openai-java

        2、开源:chatgpt-java

        3、spring AI

            1、是什么?

            2、为什么?


一、AI

1.1、基本术语

1、Artificial Intelligence (AI) —— 人工智能


    让计算机像人类一样思考和行动

2、Generative AI —— 生成性人工智能


    生成性人工智能是一种可以创造新内容或数据的人工智能,如图像、文本、音乐,甚至视频。生成性人工智能不是像许多人工智能系统那样只是分析和理解数据,而是可以利用其知识来产生全新的原创作品

3、Machine Learning (ML) —— 机器学习


    教计算机在没有专门编程的情况下从数据中学习。

4、Deep Learning (DL) —— 深度学习


    一种使用人工脑细胞层来理解复杂模式的 ML

5、Large Language Model (LLM) —— 大型语言模型


    LLM 是一种人工智能程序,可以像人类一样理解、处理和生成文本。它接受了大量数据的训练,例如书籍、文章和网站,因此它可以学习人类语言的模式和结构。根据训练的数据,有不同的模型具有不同的目的。

6、Transformers


    Transformer 模型是一种神经网络架构,可以将一种类型的输入转换为另一种类型的输出。它可以用于生成文本、图像和机器人指令,并且可以对不同数据模式之间的关系进行建模。该模型利用注意力的 AI 概念来强调相关词的权重,可以处理更长的序列,并且可以更有效地扩展。Transformer 架构由协同工作的编码器和解码器组成,注意力机制让转换器根据其他单词或标记的估计重要性对单词的含义进行编码。


7、Natural Language Processing (NLP) —— 自然语言处理


    教计算机理解和使用人类语言。

8、Prompt —— 提示


    提示是提供给 AI 系统以指导其响应或输出的一段文本。例如,当您向 AI 聊天机器人提问或给它一个要写的主题时,这就是提示。

9、Prompt Engineering —— 提示工程


    提示工程是设计和改进我们给人工智能系统的提示以获得更有用或更准确的响应的过程。

10、Neural Network —— 神经网络


    一种受人脑启发的计算机系统,连接节点处理信息。

11、Reinforcement Learning (RL) —— 强化学习


    计算机通过根据其行为接收奖励或惩罚来学习的 ML。

等等:https://zhuanlan.zhihu.com/p/640711637


1.2、aigc

1、概念


    1、Models


        人工智能模型是旨在处理和生成信息的算法,通常模仿人类的认知功能。 通过从大型数据集中学习模式和见解,这些模型可以进行预测、文本、图像或其他输出,从而增强各行各业的各种应用


    2、Prompts


        提示是指导 AI 模型生成特定输出的基于语言的输入的基础。 对于那些熟悉 ChatGPT 的人来说,提示可能看起来只是输入到发送到 API 的对话框中的文本。 然而,它包含的远不止于此。 在许多 AI 模型中,提示的文本不仅仅是一个简单的字符串。


    3、Prompt Templates


        创建有效的提示涉及建立请求的上下文,并将请求的某些部分替换为特定于用户输入的值。

此过程使用传统的基于文本的模板引擎进行提示创建和管理。 Spring AI 为此使用 OSS 库 StringTemplate。


    4、嵌入


        嵌入将文本转换为数字数组或向量,使 AI 模型能够处理和解释语言数据。 这种从文本到数字再到数字的转换是人工智能如何与人类语言交互和理解的关键因素。 作为探索 AI 的 Java 开发人员,没有必要理解这些向量表示背后的复杂数学理论或具体实现。 对它们在 AI 系统中的角色和功能有基本的了解就足够了,尤其是在将 AI 功能集成到应用程序中时。


    5、Tokens


        令牌是 AI 模型工作方式的构建块。 在输入时,模型将单词转换为标记。在输出时,它们将标记转换回单词


    6、Output Parsing(输出解析)


        传统上,AI 模型的输出以 的形式出现,即使您要求回复采用 JSON 格式。 它可能是正确的 JSON,但不是 JSON 数据结构。它只是一个字符串。 此外,在提示中询问“for JSON”并不是 100% 准确的。java.util.String


    7、将数据引入AI


        有两种技术可用于自定义 AI 模型以合并数据:

微调:这种传统的机器学习技术涉及定制模型并更改其内部权重。 然而,对于机器学习专家来说,这是一个具有挑战性的过程,并且由于 GPT 等模型的大小,它们非常耗费资源。此外,某些型号可能不提供此选项。

提示填充:更实用的替代方法是将数据嵌入到提供给模型的提示中。给定模型的令牌限制,需要技术在模型的上下文窗口中显示相关数据。 这种方法通俗地称为“填充提示”。

Spring AI 库可帮助您实现基于“填充提示”技术的解决方案,也称为检索增强生成 (RAG)。


    8、检索增强


        一种称为检索增强生成 (RAG) 的技术已经出现,以解决将相关数据整合到提示中以实现准确 AI 模型响应的挑战。

该方法涉及批处理样式的编程模型,其中作业从文档中读取非结构化数据,对其进行转换,然后将其写入向量数据库。 概括地说,这是一个 ETL(提取、转换和加载)管道。 向量数据库用于RAG技术的检索部分。


    9、评估AI响应


        根据用户请求有效评估人工智能系统的输出对于确保最终应用程序的准确性和有用性非常重要。 一些新兴技术允许将预训练模型本身用于此目的。

此评估过程涉及分析生成的响应是否与用户的意图和查询的上下文一致。相关性、连贯性和事实正确性等指标用于衡量 AI 生成的响应的质量。

2、聊天模型


    1、OpenAI
    2、Azure OpenAI
    3、HuggingFace
    4、Bedrock
    5、Ollama
 

3、应用

1、java中应用


    1、支持API

    2、实战

        1、官方:openai-java

        2、开源:chatgpt-java

        3、spring AI

            1、是什么?


                一个“用于开发 AI 应用程序的 Spring 友好 API 和抽象
                Spring AI 项目旨在简化包含人工智能功能的应用程序的开发,而不会产生不必要的复杂性。
                它允许使用 Spring 的通用概念创建 AI 应用程序。目前,该项目集成了 Azure OpenAI 和 OpenAI 作为 AI 后端。该项目支持内容生成、代码生成、语义搜索和摘要等用例。


            2、为什么?


                尽管 AI 有着悠久的历史,但 Java 在这一领域的作用相对较小。 这主要是由于历史上依赖于用 C/C++ 等语言开发的高效算法,而 Python 充当访问这些库的桥梁。 大多数 ML/AI 工具都是围绕 Python 生态系统构建的。 然而,在 OpenAI 的 ChatGPT 等创新的推动下,生成式 AI 的最新进展普及了通过 HTTP 与预训练模型的交互。 这消除了对 C/C++/Python 库的大部分依赖,并为使用 Java 等编程语言打开了大门。
Python 库 LangChain 和 LlamaIndex 已成为实现生成式 AI 解决方案的流行工具,并且可以用其他编程语言实现。 这些 Python 库与 Spring 项目共享基础主题,例如:
    1.可移植服务抽象
    2.模块性
    3.扩展
    4.减少样板代码
    5.与各种数据源集成
适用于常见用例的预构建解决方案
但是,用于 AI 解决方案(如 OpenAI 和 Azure OpenAI)的各种 Java 客户端 API 不同,这使得在这些解决方案之间切换变得更加困难。Spring AI 在受 Python 库 LangChain 和 LlamaIndex 启发的客户端 API 之上提供了一个抽象层。这些库基于与 Spring 项目类似的设计价值,例如模块化、可扩展性以及与各种数据源的集成。

Spring AI 项目从这些库中汲取灵感,旨在为 AI 领域的 Spring 开发人员提供类似的体验。
请注意,Spring AI API 不是 LangChain 或 LlamaIndex 的直接端口。如果您熟悉这两个项目,您会看到 API 中的显着差异,尽管概念和想法是相当可移植的。

下一篇我们探讨下springAI相关功能。

springAI孵化(二)

  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡之路无尽路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值