语言模型是一种计算机程序,能够以自然语言的形式理解文本。这种理解使其能够实现任务,例如预测文本的情感,执行语法校正,翻译语言或生成新文本。一代方面目前正在捕捉所有人的兴趣。
使用文本生成,我们仍然可以执行其他任务。语言模型的性能取决于其大小:模型越大,其性能就越好。我们一直都有语言模型;示例包括我们的手机和垃圾邮件过滤器上的自动完成。但是,这些模型是基本的,一次只能执行一个任务。
当前令人惊讶的世界的模型很大,因此名称大语言模型。
提示
compiler和语言模型并没有那么不同。他们俩都使用文字。但是,编译器以计算机程序的形式采用结构化文本,而语言模型则以人类语言的形式与非结构化文本一起使用。所需的文本称为提示。
大多数语言模型的输出是文本。让我们使用以下提示进行一个简单的示例:
What is the capital of Nigeria?
语言模型将分析提示并生成最能完成它的响应。此提示的输出是:
The capital of Nigeria is Abuja.
输出基本上完成了输入提示。我们可以通过提供不完整的提示来证明这一点:
Nigeria is a ....
这将产生输出:
Nigeria is a country located in West Africa.
Openai完成API
OpenAI提供了一个API端点,使我们能够与他们的语言模型进行互动,并适当地命名为完成API 。这是一个HTTP端点
curl https://api.openai.com/v1/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer $OPENAI_API_KEY"
-d '{
"model": "text-davinci-003",
"prompt": "What is the capital of Nigeria?"
}'
我将curl用作我的HTTP客户端,并将我的API键存储在环境变量$OPENAI_API_KEY
中。然后,我将其作为标题中的Bearer token传递。对此请求的响应应类似于以下内容:
{
"id": "cmpl-7jjcu1cmQqUZy7qawoQ3rlUBgmrqh",
"object": "text_completion",
"created": 1691134504,
"model": "text-davinci-003",
"choices": [
{
"text": "\n\nThe capital of Nigeria is Abuja.",
"index": 0,
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 10,
"total_tokens": 17
}
}
响应包含几个有用的信息,但是我们主要对响应中的choices
字段感兴趣。
"choices": [
{
"text": "\n\nThe capital of Nigeria is Abuja.",
"index": 0,
"logprobs": null,
"finish_reason": "stop"
}
]
choices
字段包含一系列可能的响应,但我们只有一个响应。我们可以从text
字段获得完整的文本。
这是对语言模型的简洁介绍。他们的主要功能是完成他们收到的前面文本。如果您热衷于深入研究提示的概念,则可以探索this site。此外,有关OpenAi完成端点的详细信息,请查看其documentation。