大语言模型API通常具备以下三种核心能力

一、Chat(对话)

能够理解自然语言并进行推理,从而进行反馈应答。这包括:

  • 理解用户的意图和上下文。
  • 生成连贯且有意义的回应。
  • 处理多轮对话,保持对话的上下文一致性。
+----------------------------------+
| 用户: 今天天气怎么样?                |
+----------------------------------+
| 模型: 今天的天气晴朗,气温22°C。       |
+----------------------------------+

二、Embedding(向量化)

1、定义

把高纬数据映射到一个低维度的向量空间的过程,这个映射的过程,本质上是一个数据特征提取与转化的过程。

(1)特征提取

  • 在高维空间中,数据的维度可能非常大,例如文本中的每个单词可以用数千维的向量表示。
  • 特征提取的目标是从这些高维数据中提取出更有用的、低维的特征表示,这些特征能够保留数据的核心语义和结构信息。

(2)向量表示

  • 降维后的向量表示包含了数据的语义信息,这使得不同的高维输入数据可以在向量空间中进行比较和分析。
  • 向量空间中的距离或相似度可以用于文本分类、相似度计算、聚类等任务。

(3)降纬(取决于应用场景与需求,大模型的通常只负责生成高纬向量表示)

  • Embedding 过程将数据从高维空间映射到低维空间。例如,将文本数据的词从数千维的空间映射到几十维的空间。
  • 低维的向量表示保留了数据的主要语义特征,使得相似的数据点在向量空间中距离较近。

2、示意

(1)文本示意

以“小明父母今天送给小明一辆黄色的法拉利跑车作为生日礼物”这句话进行特征提取示意。

  • 不同层次的特征提取(解析/理解含义)
    • 关键词提取
      • 人物:小明
      • 事件:送礼
      • 物品:黄色的法拉利跑车
      • 时间:今天
      • 目的:生日礼物
    • 实体识别
      • 人名:小明
      • 物品;法拉利跑车
      • 颜色;黄色
      • 时间/日期:今天
      • 时间类型:生日
    • 关系抽取
      • 送礼关系:小明的父母 送 黄色法拉利跑车给小明
      • 赠送目的:作为生日目的
    • 词性标注
      • 小明(人名)
      • 父母(名词)
      • 今天(时间副词)
      • 送给(动词短语)
      • 一辆(数量词)
      • 黄色的(形容词)
      • 法拉利(名词,品牌)
      • 跑车(名词)
      • 作为(介词)
      • 生日(名词)
      • 礼物(名词)
  • 基于各特征进行向量化处理
    • 输入处理:分词、标记等处理
    • 初始化向量:将分词后的每个Token转换为预训练的词向量
    • 特征融合:将不同层次的特征进行融合(不太了解)
    • 高纬向量生成:对每个Token(词或子句)进行编码,生成高纬向量表示
    • 输出向量:通过特定的聚合等方式从高纬向量中提取出整个句子的向量表示

(2)图形示意

在这里插入图片描述

三、Function Calling(函数调用)

将自然语言描述需要执行的任务转换为相应的函数调用。这包括以下步骤:

1、定义函数接口

应用系统按照统一规范定义用于 Function Calling 的函数接口。函数接口应该明确描述函数的功能、参数和返回值。

2、意图识别

结合自然语言描述与应用系统函数接口的描述信息,通过模型识别需要调用的函数接口。这一步骤涉及自然语言理解(NLU)和意图分类。

3、参数映射(部分模型不支持,因此不具备Function Calling能力)

再次结合自然语言描述与识别出的函数接口参数定义,通过模型提取并完成函数接口的参数的数据映射。参数映射需要准确识别并提取用户输入中的关键信息,并将其转换为函数调用所需的格式。

4、执行函数

在应用系统中调用相应的函数或API,执行任务。

5、返回结果

将函数的执行结果返回给用户,可以选择再次通过模型进行自然语言润色后返回。润色后的结果更容易被用户理解和接受。

gpt-4-turbo的 Function calling API示例

(1)图例

+-----------------------------------------------+
| 用户: What's the weather like in Boston today? |
+-----------------------------------------------+
| 识别意图: get_current_weather                   |
| 参数映射: "Boston"                            |
+-----------------------------------------------+
| 执行函数: get_current_weather("Boston")         |
+-----------------------------------------------+
| 返回结果: 波士顿的天气是晴天,气温28°C              |
+-----------------------------------------------+

(2)请求数据

{
    
    
  "model": "gpt-4-turbo",
  "messages": [
    {
    
    
      "role": "user",
      "content": "What's the weather like in Boston today?"
    }
  ],
  "tools": [
    {
    
    
      "type": "function",
      "function": {
    
    
        "name": "get_current_weather",
        "description": "Get the current weather in a given location",
        "parameters": {
    
    
          "type": "object",
          "properties": {
    
    
            "location": {
    
    
              "type": "string",
              "description": "The city and state, e.g. San Francisco, CA"
            },
            "unit": {
    
    
              "type": "string",
              "enum": [
                "celsius",
                "fahrenheit"
              ]
            }
          },
          "required": [
            "location"
          ]
        }
      }
    }
  ],
  "tool_choice": "auto"
}

(3)返回数据

{
    
    
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1699896916,
  "model": "gpt-3.5-turbo-0125",
  "choices": [
    {
    
    
      "index": 0,
      "message": {
    
    
        "role": "assistant",
        "content": null,
        "tool_calls": [
          {
    
    
            "id": "call_abc123",
            "type": "function",
            "function": {
    
    
              "name": "get_current_weather",
              "arguments": "{\n\"location\": \"Boston\"\n}"
            }
          }
        ]
      },
      "logprobs": null,
      "finish_reason": "tool_calls"
    }
  ],
  "usage": {
    
    
    "prompt_tokens": 82,
    "completion_tokens": 17,
    "total_tokens": 99
  }
}

猜你喜欢

转载自blog.csdn.net/KsamaLi/article/details/140980171