Основы больших языковых моделей (LLM)

Большая языковая модель (LLM) — это мозг AI-агента; её понимание является основой для создания интеллектуальных агентов.

Причина, по которой большая языковая модель может общаться с вами, писать статьи и программировать, по сути в том, что она на основе предоставленного вами текста (подсказки), слово за словом,угадываетвыдаёт наиболее разумное продолжение.

Проще говоря, большая языковая модель — это модель глубокого обучения, обученная на огромных текстовых данных, способная понимать и генерировать человеческий язык. Анализируя огромные объёмы текста в интернете, модель изучает статистические закономерности языка, и когда она получает входные данные, она генерирует наиболее разумное продолжение в соответствии с изученными закономерностями.

Мы можем представить большую языковую модель какчрезвычайно трудолюбивого студента с феноменальной памятью:

  • Этап обучения (тренировка): Она прочитала почти весь общедоступный текст в интернете — книги, статьи, веб-страницы, код и т. д. (объём данных может достигать триллионов слов). В этом процессе она не запоминает, а изучает чрезвычайно сложный набор языковых правил.

  • Этап применения (инференс): Когда вы задаёте ей вопрос или даёте инструкцию, она применяет изученные правила, чтобы слово за словом сгенерировать наиболее логичный и уместный по контексту ответ.

Её «масштабность» в основном проявляется в двух аспектах:

  • Большой масштаб параметров: Модель содержит внутри десятки миллиардов или даже триллионы настраиваемых параметров, которые хранят изученные языковые знания.
  • Большой объём обучающих данных: Объём текстовых данных, используемых для обучения, огромен и охватывает суть общедоступной информации в интернете.

На рисунке ниже показан процесс генерации текста LLM слово за словом — она предсказывает по одному слову за раз, затем включает это новое слово во входные данные, продолжает предсказывать следующее слово и повторяет этот цикл, пока не будет сгенерирован полный ответ:

Демонстрация анимации:

Большая модель думает…

Каждый шаг делает только одно: на основе предшествующего текста предсказывает следующее слово.

Кандидаты на следующее слово Вероятности топ-5

Хотя LLM мощны, у них также есть явные ограничения:

Способность Описание Ограничение
Отсечение знаний Обучающие данные имеют дату отсечения Не может знать новую информацию после обучения
Математические вычисления Может выполнять простые вычисления Сложные вычисления подвержены ошибкам
Информация в реальном времени Требует помощи внешних инструментов Не может самостоятельно получать данные в реальном времени
Достоверность фактов Может генерировать неверную информацию Требует проверки фактов
Обработка длинных текстов Длина контекста имеет ограничения В чрезвычайно длинных текстах может теряться информация
Логическая согласованность Может быть противоречивой Требует тщательного проектирования и проверки

Важное напоминание:LLM не всеведущи; они по сути системы статистического сопоставления шаблонов. Только понимая их ограничения, можно лучше использовать их возможности.


Основной принцип работы: краткий анализ архитектуры Transformer

Выдающиеся возможности LLM неотделимы от их базовой ключевой технологии —архитектуры TransformerНет необходимости углубляться в сложные математические принципы, но можно понять её основные идеи.

Представьте, что вы хотите написать статью о Солнечной системе:

  • Просмотр материаловСначала вы просмотрели бы множество соответствующих книг и веб-страниц.
  • Определение ключевых моментовВы заметили бы, что такие слова, как Солнце, планеты, орбиты и гравитация, встречаются часто и взаимосвязаны.
  • Организация языкаИсходя из тезиса, который вы хотите высказать (например, представить Марс), вы выборочно использовали бы ранее увиденную информацию о размере, цвете, расположении Марса и т. д. и организовывали бы её в связные предложения.

Принцип работы Transformer аналогичен; его основной процесс делится на три этапа:

  1. Обработка вводаВаши слова разбиваются на токены (слова или символы) и преобразуются в числа (векторы), понятные компьютерам.
  2. Понимание контекста (ядро):Механизм Self-Attentionначинает работать. Он позволяет модели при обработке каждого слова в предложении взвешивать важностьвсех остальных словв предложении. Этот процесспараллельнои чрезвычайно быстро.
  3. Генерация и итерация: Модель вычисляет распределение вероятностей на основе своего понимания всех слов и предсказывает наиболее вероятное следующее слово. Выбрав и выведя это слово, она использует его как новый вход и повторяет весь процесс, пока не будет сгенерирован полный ответ.

Self-attention — самая важная инновация Transformer. Взяв в качестве примера предложение "У телефона Apple очень большая батарея", когда модель обрабатываетitэто слово, механизм self-attention помогает модели определитьitиAppleиphoneсильно коррелируют. На рисунке ниже показано распределение весов внимания в этом процессе:

Diagram of the self-attention mechanism It shows the attention weights of the query word "it" to other words in the sentence. Thicker arcs indicate stronger attention: "it" has high attention weights for "Apple" and "phone", while its weights for "battery" and "very large" are lower. Apple phone it battery very large Attention weights of "it" (query word, highlighted) for each word High weight Medium weight Low weight The thicker and darker the arc, the more attention the model pays to that word

Именно эта способностьобрабатывать параллельноиглубоко понимать глобальный контекстпозволяет LLM на основе Transformer значительно превосходить предыдущие технологии (такие как RNN) в языковых задачах.


Как взаимодействовать с LLM: введение в промпт-инжиниринг

ПромптЭто входные данные, которые вы передаёте LLM. Они сообщают модели, чего вы хотите, как будто вы даёте инструкции ассистенту — чем яснее инструкции, тем лучше результат. Качество промпта напрямую определяет качество ответа.

Хороший промпт обычно состоит из следующих четырёх частей:

Diagram of the basic structure of a prompt A good prompt consists of four modules: context (role and background), instruction (task objective), examples (reference examples, optional), and format requirements (output format). The four work together to produce better output. Context Role and background + Instruction Clear task objective + Examples (optional) Examples and counterexamples + Format requirements Output format and length The four modules together form a clear and complete prompt

Основные принципы

  • Будьте ясны и конкретны: Избегайте расплывчатых выражений. Не говоритеНапиши что-нибудь о собаках, а вместо этого скажитеЖивым и ярким языком напиши краткое введение примерно на 100 слов об особенностях характера золотистых ретриверов для детей 6-8 лет.。

  • Укажите контекстСообщите модели вашу роль, опыт и цели. Например:Вы опытный наставник по программированию на Python. Объясните новичку, который только что изучил базовый синтаксис, что такое списковые включения, и приведите простой пример.

  • Укажите формат: Если вам нужен вывод в определённом формате, чётко укажите это, например:Пожалуйста, суммируйте следующие пункты в три маркированных пунктаилиПожалуйста, выведите в формате JSON。

  • Пошаговое мышление (Chain-of-Thought): Для сложных задач вы можете в промпте направлять модель рассуждать шаг за шагом, например:Пожалуйста, проанализируйте эту задачу шаг за шагом: сначала перечислите известные условия, затем выведите промежуточные шаги и в конце дайте вывод.Этот подход может значительно повысить точность сложных задач рассуждения.

Распространённые сценарии применения LLM

Категория сценария Конкретный пример Описание
Создание и редактирование контента Пишите письма, отчёты, блоги; продолжайте истории; шлифуйте текст; переводите тексты в разных стилях Быстро генерируйте черновики, давайте вдохновение и несколько вариантов выражения
Поиск и обобщение информации Быстро читать длинные документы и извлекать ключевые моменты; вопросы и ответы на основе баз знаний Понимает вопросы лучше традиционного поиска, умеет суммировать и интегрировать информацию
Помощь в программировании Объяснять код, генерировать фрагменты кода, отлаживать ошибки, рефакторить код, писать тестовые примеры Работает как круглосуточный партнёр по программированию, значительно повышая эффективность разработки
Общение и обслуживание клиентов Интеллектуальные чат-боты, персонализированные репетиторы, ролевые игры Обеспечивает человекоподобный, контекстуально связный опыт взаимодействия
Логические рассуждения и анализ Решать математические задачи, выполнять базовые логические рассуждения, анализировать тенденции данных, строить планы Демонстрирует удивительные способности к рассуждению в ограниченных предметных областях

Вызовы API и настройка параметров

Чтобы создать AI-агента, нужно научиться вызывать LLM через API.

В этой главе мы на примере OpenAI API познакомимся с базовыми способами вызова.

openai — это мощная библиотека Python для взаимодействия с рядом моделей и сервисов OpenAI. Подробнее см.:Python OpenAI。

Адрес открытого исходного кода:https://github.com/openai/openai-python

Базовые вызовы API

1. Установите необходимые библиотеки

pip install openai

Затем вам нужно зарегистрировать аккаунт на официальном сайте OpenAI и сгенерировать API Key на странице API keys.

Пример

import os
from openai import OpenAI

client = OpenAI(
    # Это значение по умолчанию, и его можно опустить
    api_key=API-ключ, который вы запросили,
)

response = client.responses.create(
    model="gpt-4o",
    instructions="Ты — ассистент по программированию, который говорит как пират.",
    input="Как проверить, является ли объект Python экземпляром класса?",
)

print(response.output_text)

Доступ к OpenAI внутри страны всё ещё немного затруднителен. Многие местные сервисы также поддерживают OpenAI, например DeepSeek и Qwen от Alibaba.

DeepSeek

DeepSeek API полностью совместим с форматом OpenAI API. Вам нужно лишь изменить несколько конфигураций, чтобы напрямую использовать OpenAI SDK или совместимые инструменты для доступа к DeepSeek API.

Основные параметры конфигурации:

Параметр Значение/Описание
base_url Обязательно, фиксированное значение:https://api.deepseek.com(Можно также указатьhttps://api.deepseek.com/v1, только для совместимости с OpenAI; v1 не связан с версией модели)
api_key Обязательно. Сначала вам нужно подать заявку на эксклюзивный API Key на официальном сайте DeepSeek (Адрес заявки:https://platform.deepseek.com/)
model Обязательно,
  • deepseek-v4-flash: соответствуетрежиму без размышленийDeepSeek, высокая скорость ответа, подходит для обычных вопросов и ответов;
  • deepseek-v4-pro: соответствуетрежиму размышленияDeepSeek, более сильные способности к рассуждению, подходит для решения сложных задач.

Пример

import os
from openai import OpenAI

# Инициализация клиента (основная конфигурация: замените на свой API Key)
client = OpenAI(
    api_key=os.environ.get('DEEPSEEK_API_KEY'),  # Рекомендуется настраивать через переменную окружения или жёстко задавать напрямую (не рекомендуется)
    base_url="https://api.deepseek.com"  # Фиксированный домен DeepSeek
)

# Вызов API чата
try:
    response = client.chat.completions.create(
        model="deepseek-v4-flash",  # Укажите модель, варианты: deepseek-v4-flash / deepseek-v4-pro
        messages=[
            {"role": "system", "content": "Вы — полезный помощник"},  # Определение системной роли
            {"role": "user", "content": "Привет"},  # Вопрос пользователя
        ],
        stream=False  # Нестриминговый вывод (возвращает полный результат сразу)
    )
    # Вывод содержимого ответа
    print("Результат ответа:", response.choices[0].message.content)
except Exception as e:
    print("Вызов не удался:", str(e))

Alibaba Bailian

Модель Tongyi Qianwen от Alibaba Cloud Bailian поддерживает интерфейс, совместимый с OpenAI. Вам нужно только изменить API Key, BASE_URL и имя модели, чтобы перенести существующий код OpenAI в сервис Alibaba Cloud Bailian.

Нам нужно активировать сервис моделей Alibaba Cloud Bailian и получить API-KEY.

Сначала можно использовать основную учётную запись Alibaba Cloud для доступа к платформе сервисов моделей Bailian:https://bailian.console.aliyun.com/, затем нажмите «Войти» в правом верхнем углу. После входа нажмите на значок шестерёнки ⚙️ в правом верхнем углу, выберите API-ключ, затем скопируйте API-ключ. Если у вас его нет, вы также можете создать API-ключ:

Активация Alibaba Cloud Bailian не влечёт комиссий. Только вызовы моделей (после превышения бесплатной квоты), развёртывание моделей и тонкая настройка моделей повлекут соответствующие расходы.

Теперь за использование API плата взимается по токенам. К счастью, это недорого. Можно сначала приобрести самый дешёвый пакет:Платформа сервисов больших моделей Alibaba Cloud Bailian。

Вы также можете напрямую использовать пакет Coding Plan от Bailian и Ark:https://www.example.com/claude-code/coding-plan.html。


Использование

Далее мы используем OpenAI SDK для доступа к модели Qwen на Bailian.

Пример вызова без потоковой передачи

Пример

from openai import OpenAI
import os

def get_response():
    client = OpenAI(
        api_key="sk-xxx",  # Пожалуйста, используйте API-ключ Alibaba Cloud Bailian
        base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # Укажите base_url для DashScope SDK
    )
    completion = client.chat.completions.create(
        model="qwen-plus",  # Здесь qwen-plus используется в качестве примера; при необходимости вы можете изменить название модели. Список моделей: https://help.aliyun.com/zh/model-studio/getting-started/models
        messages=[{'role': 'system', 'content': 'Вы — полезный помощник.'},
                  {'role': 'user', 'content': 'Кто вы?'}]
        )
    # Данные JSON
    #print(completion.model_dump_json())
    print(completion.choices[0].message.content)

if __name__ == '__main__':
    get_response()

Выполнение кода даёт следующий результат:

I am Tongyi Qianwen, a large-scale language model independently developed by the Tongyi Lab under Alibaba Group. I can help you answer questions and create text, such as writing stories, official documents, emails, scripts, logical reasoning, programming, and more. I can also express opinions and play games. If you have any questions or need help, feel free to let me know at any time!

Пример потокового вызова

Пример

from openai import OpenAI

def get_response():
    client = OpenAI(
        api_key="sk-xxx",
        base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    )

    completion = client.chat.completions.create(
        model="qwen-plus",
        messages=[
            {'role': 'system', 'content': 'Вы — полезный помощник.'},
            {'role': 'user', 'content': 'Кто вы?'}
        ],
        stream=True,
        stream_options={"include_usage": True}
    )

    for chunk in completion:
        # chunk может не содержать choices или delta
        if hasattr(chunk, "choices") and len(chunk.choices) > 0:
            choice = chunk.choices[0]
            if hasattr(choice, "delta") and hasattr(choice.delta, "content"):
                print(choice.delta.content, end='', flush=True)

if __name__ == '__main__':
    get_response()

Выполнение кода даёт следующий результат:

I am Tongyi Qianwen, a large-scale language model independently developed by the Tongyi Lab under Alibaba Group. I can help you answer questions and create text, such as writing stories, official documents, emails, scripts, logical reasoning, programming, and more. I can also express opinions and play games. If you have any questions or need help, feel free to let me know at any time!

Основные большие языковые модели

Ниже приведён список официальных сайтов и адресов документации API для основных больших языковых моделей:

Название модели Компания/организация Официальный сайт / адрес документации API
Серия GPT OpenAI Официальный сайт:https://openai.com/
Адрес API:https://platform.openai.com/docs/api-reference
Серия Claude Anthropic Официальный сайт:https://www.anthropic.com/
Адрес API:https://docs.anthropic.com/claude/reference/getting-started-with-the-api
Серия Gemini Google Официальный сайт:https://deepmind.google/technologies/gemini/
Адрес API:https://docs.gemini.com/rest-api/
Tongyi Qianwen Alibaba Официальный сайт:https://www.qianwen.com/
Адрес API:https://help.aliyun.com/zh/dashscope/developer-reference/api-details
ERNIE Bot Baidu Официальный сайт:https://yiyan.baidu.com/
Адрес API:https://qianfan.cloud.baidu.com/docs/
Zhipu Qingyan Zhipu AI Официальный сайт:https://chatglm.cn/
Адрес API:https://open.bigmodel.cn/dev/api
Kimi Moonshot AI Официальный сайт:https://kimi.moonshot.cn/
Адрес API:https://platform.moonshot.cn/docs/api/chat
Серия DeepSeek DeepSeek Официальный сайт:https://www.deepseek.com/
Адрес API:https://api-docs.deepseek.com/
Серия Llama Meta Официальный сайт:https://www.llama.com/
Адрес API:https://www.llama.com/docs/overview/
Серия Grok xAI Официальный сайт:https://x.ai/
Адрес API:https://docs.x.ai/overview
MiniMax MiniMax Официальный сайт:https://www.minimaxi.com/
Адрес API:https://api.minimax.chat/docs/api/
Baichuan AI Baichuan AI Официальный сайт:https://www.baichuan-ai.com/
Адрес API:https://platform.baichuan-ai.com/docs/api
Ollama Ollama Официальный сайт:https://ollama.com/
Адрес API:https://github.com/ollama/ollama/blob/main/docs/api.md
Большая модель Doubao ByteDance Официальный сайт:https://www.doubao.com/
Адрес API:https://www.volcengine.com/docs/82379/1399008?lang=zh
Другие расширения