LlamaIndex Agents: как создавать и развёртывать ИИ-агентов

Создавайте интеллектуальных ИИ-агентов с помощью LlamaIndex, объединяя возможности мощного рассуждения, интеграции инструментов и извлечения данных. Узнайте, как работают агенты LlamaIndex, и откройте для себя, как Kimi API может служить надёжным LLM-бэкендом для гибких, контекстно-зависимых ИИ-приложений.

12 мин чтения2026-08-13
Обучающее руководство по LlamaIndex Agents для начинающих

Независимо от того, создаёте ли вы ИИ-приложения или автоматизируете сложные задачи, заставить ИИ-агента работать с нужными данными и инструментами может быть непросто. Простые ИИ-системы часто испытывают трудности, когда им нужно рассуждать, извлекать информацию или выполнять задачи из разных источников. Агенты LlamaIndex упрощают это, связывая модели ИИ с инструментами, данными и системами извлечения для более эффективного выполнения задач. Прочитайте эту статью, чтобы узнать, как создавать и развёртывать рабочие процессы агентов LlamaIndex для более умных и гибких ИИ-приложений.

Что такое агент LlamaIndex?

Агент LlamaIndex — это ИИ-система, способная рассуждать о задаче и определять, какие шаги нужны для её выполнения. Она может разбивать сложный запрос на более мелкие задачи, выбирать инструменты и при необходимости использовать внешние данные. Агенты также могут запоминать предыдущие шаги и использовать полученную информацию для улучшения своих ответов. Это позволяет им выполнять задачи, требующие большего, чем простой ответ на вопрос.

Как работают агенты LlamaIndex?

Агенты LlamaIndex позволяют приложениям на основе LLM выйти за рамки простых ответов на вопросы, давая моделям возможность рассуждать о задачах, выбирать инструменты и выполнять многошаговые рабочие процессы. Вместо следования фиксированному конвейеру агент динамически решает, какие действия необходимы, исходя из цели пользователя и доступных возможностей.

Типичный рабочий процесс агента LlamaIndex выглядит так:

User request
      ↓
Understand the task
      ↓
Select tools
      ↓
Execute actions
      ↓
Process results
      ↓
Return final response

Понимание целей пользователя

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

Для простых запросов агент может сразу сформировать ответ. Для сложных задач он может разбить запрос на более мелкие шаги и определить, какие операции требуются.

Выбор и использование инструментов

Инструменты расширяют возможности агента за пределы возможностей самой LLM. Агенты LlamaIndex могут подключаться к пользовательским функциям Python, движкам запросов, API, базам данных и системам извлечения через такие инструменты, как FunctionTool и QueryEngineTool.

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

Выполнение задач через цикл агента

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

Reason → Act → Observe → Repeat

Если задача не завершена, агент может продолжать вызывать инструменты или уточнять свой подход, пока не сформирует окончательный ответ.

Управление контекстом и рабочими процессами

Агенты LlamaIndex сохраняют актуальный контекст в течение всего процесса выполнения, что помогает им управлять многошаговыми задачами и использовать результаты предыдущих шагов. Для более сложных приложений разработчики могут применять рабочие процессы и архитектуры с несколькими агентами, чтобы координировать работу нескольких агентов, каждый из которых выполняет свою роль или задачу.

Например:

Research Agent
       ↓
Analysis Agent
       ↓
Writing Agent

Это делает react-агенты LlamaIndex подходящими для таких приложений, как исследовательские ИИ-помощники, корпоративные системы знаний и автоматизированные рабочие процессы обработки данных.

Основные компоненты агентов LlamaIndex

Мультиагентные системы LlamaIndex объединяют несколько компонентов, превращая LLM в систему, способную рассуждать, использовать внешние функции и сохранять контекст. У каждого компонента своя роль, но вместе они помогают агенту эффективнее справляться с задачами. Вот некоторые из основных компонентов:

LLM: механизм рассуждения агентов

LLM выступает основным механизмом рассуждения, который интерпретирует запросы пользователя и решает, что делать дальше. Она может анализировать доступный контекст и определять, отвечать напрямую или использовать инструмент. LlamaIndex поддерживает разных провайдеров LLM, позволяя разработчикам выбирать модель в зависимости от потребностей приложения. Таким образом, LLM управляет принятием решений агентом и формированием ответов.

Инструменты: расширение возможностей агента

Инструменты позволяют агенту выполнять действия, выходящие за рамки генерации текста. Это могут быть простые функции Python или специализированные инструменты для работы с API, движками запросов и другими внешними сервисами. Агент решает, какой инструмент использовать, и предоставляет необходимые входные данные на основе запроса пользователя. Результаты работы инструмента затем добавляются в диалог, чтобы агент мог использовать их на следующем шаге.

Память: сохранение контекста

Память позволяет агентам LlamaIndex удерживать актуальную информацию в процессе выполнения задачи. По умолчанию агенты используют ChatMemoryBuffer, который сохраняет историю диалога доступной во время выполнения. Разработчики также могут настраивать конфигурацию памяти, например задавать лимит токенов в зависимости от приложения. Это помогает агентам сохранять контекст и выполнять задачи, требующие нескольких шагов.

Типы агентов LlamaIndex

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

Тип агентаПринцип работыКлючевые особенностиЛучшие сценарии применения
FunctionAgentИспользует возможности вызова функций современных LLM для выбора и выполнения предопределённых инструментов на основе запросов пользователя. Нативный вызов инструментов Структурированные входные и выходные данные Надёжное выполнение инструментов Простая реализация ИИ-ассистенты Рабочие процессы автоматизации бизнеса Приложения на основе API Агенты для решения конкретных задач
ReActAgentИспользует подход «рассуждение + действие», при котором агент итеративно рассуждает о задаче, выполняет действия, наблюдает за результатами и продолжает до завершения. Пошаговое рассуждение Динамический выбор инструментов Обработка многошаговых задач Гибкое решение проблем Исследовательские ассистенты Ответы на сложные вопросы Исследование данных Открытые рабочие процессы
CodeActAgentПозволяет агентам решать задачи путём генерации и выполнения кода, когда рассуждение на основе кода более эффективно. Генерация и выполнение кода Программное решение задач Подходит для вычислительных задач Анализ данных Научные рабочие процессы Ассистенты для программирования
Мультиагентные системыИспользует несколько специализированных агентов, которые совместно работают, распределяют задачи и вместе выполняют сложные рабочие процессы. Взаимодействие агентов Распределение задач Специализация ролей Масштабируемые рабочие процессы Автоматизированные конвейеры исследований Корпоративные рабочие процессы Сложные бизнес-процессы

Эти агенты дают разработчикам свободу выбирать подходящий подход для разных задач и рабочих процессов. После выбора типа агента следующий шаг — подключить его к подходящему LLM-провайдеру, который сможет обеспечить его рассуждение и использование инструментов. Давайте посмотрим, как создавать ИИ-агентов с помощью LlamaIndex и Kimi API.

Как создать ИИ-агентов с помощью LlamaIndex и Kimi API?

Подключение LlamaIndex к API LLM даёт агенту возможности рассуждения, необходимые для понимания запросов и выбора правильных действий. Следующие шаги показывают, как настроить ИИ-агента с помощью LlamaIndex и Kimi API — от настройки модели до запуска агента:

Шаг 1. Предварительные требования

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Установлен Python 3.9+

  • Действительный ключ Kimi API с платформы Moonshot AI

  • Базовое знакомство с агентами LlamaIndex и концепциями RAG

Шаг 2: Установка зависимостей

В исходном примере используется llama-index-llms-ollama. Замените его на llama-index-llms-openai, чтобы подключиться к совместимому с OpenAI API Kimi. Пакет эмбеддингов HuggingFace оставьте — он нужен для локальных бесплатных эмбеддингов.

pip install llama-index llama-index-llms-openai llama-index-embeddings-huggingface

Шаг 3: Настройка переменных окружения

Храните ключ Kimi API безопасно, используя переменную окружения. Не прописывайте его напрямую в коде скриптов.

export KIMI_API_KEY = "your-kimi-api-key-here"

В Windows (PowerShell):

$env:KIMI_API_KEY = "your-kimi-api-key-here"

Шаг 4: Создание базового агента с Kimi API

Создайте файл с именем starter_kimi.py. Он заменяет LLM Ollama на Kimi, сохраняя ту же логику агента и определения инструментов.

from llama_index.core.agent.workflow import FunctionAgent; import os
from llama_index.llms.openai import OpenAI; import asyncio
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.core import Settings


# Configure global settings

Settings.llm = OpenAI(
    model="kimi-latest",  # Or: kimi-k2, kimi-k2.5, etc.
    api_key=os.getenv("KIMI_API_KEY"),
    api_base="https://api.moonshot.ai/v1",
    temperature=0.3,
    request_timeout=120.0,
)

Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-base-en-v1.5"
)


# Define a calculator tool

def multiply(a: float, b: float) -> float:
    """Useful for multiplying two numbers."""
    return a * b


# Create the agent

agent = FunctionAgent(
    tools=[multiply],
    llm=Settings.llm,
    system_prompt="You are a helpful assistant that can multiply two numbers.",
)


async def main():
    response = await agent.run("What is 1234 * 4567?")
    print(str(response))


if __name__ == "__main__":
    asyncio.run(main())

Запустите скрипт:

python starter_kimi.py

Ожидаемый результат:

The answer to 1234 * 4567 is 5635678.

Шаг 5: Добавление истории диалога (контекста)

Чтобы включить многошаговые диалоги, передайте объект Context. Агент будет сохранять память между вызовами.

from llama_index.core.workflow import Context


# Create context

ctx = Context(agent)


# Run agent with context

response = await agent.run("My name is Logan", ctx=ctx)
print(response)

response = await agent.run("What is my name?", ctx=ctx)
print(response)

Шаг 6: Добавление возможностей RAG с Kimi API

Улучшите агента с помощью поиска по документам. Этап получения эмбеддингов остаётся локальным, а генерация проходит через Kimi.

  1. Подготовка тестовых данных

mkdir data
wget https://raw.githubusercontent.com/run-llama/llama_index/main/docs/examples/data/paul_graham/paul_graham_essay.txt -O data/paul_graham_essay.txt
  1. Полный скрипт агента с поддержкой RAG

Создайте starter_kimi_rag.py:

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings; import os
from llama_index.core.agent.workflow import AgentWorkflow; import asyncio
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

# Global settings
Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-base-en-v1.5")
Settings.llm = OpenAI(
    model="kimi-k3",
    api_key=os.getenv("KIMI_API_KEY"),
    api_base="https://api.moonshot.ai/v1",
    temperature=0.3,
)

# Load documents and build index
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()

# Define tools
def multiply(a: float, b: float) -> float:
    """Useful for multiplying two numbers."""
    return a * b

async def search_documents(query: str) -> str:
    """Useful for answering natural language questions about Paul Graham's essay."""
    response = await query_engine.aquery(query)
    return str(response)

# Create enhanced agent
agent = AgentWorkflow.from_tools_or_functions(
    [multiply, search_documents],
    llm=Settings.llm,
    system_prompt="""You are a helpful assistant that can perform calculations
    and search through documents to answer questions.""",
)

async def main():
    response = await agent.run(
        "What did the author do in college? Also, what's 7 * 8?"
    )
    print(response)

if __name__ == "__main__":
    asyncio.run(main())

Запустите скрипт:

python starter_kimi_rag.py
python starter_kimi_rag.py

Шаг 7: Сохранение индекса RAG

Чтобы не обрабатывать документы заново при каждом запуске, сохраните векторный индекс на диск.

# Save the index
index.storage_context.persist("storage")

# Later, load the index
from llama_index.core import StorageContext, load_index_from_storage

storage_context = StorageContext.from_defaults(persist_dir="storage")
index = load_index_from_storage(storage_context)
query_engine = index.as_query_engine()
# Save the index
index.storage_context.persist("storage")

# Later, load the index
from llama_index.core import StorageContext, load_index_from_storage

storage_context = StorageContext.from_defaults(persist_dir="storage")
index = load_index_from_storage(storage_context)
query_engine = index.as_query_engine()

Устранение неполадок

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

ПроблемаПричинаРешение
AuthenticationErrorНедействительный или отсутствующий API-ключУбедитесь, что KIMI_API_KEY экспортирован правильно
Connection timeoutСетевая задержка при обращении к api.moonshot.aiУвеличьте request_timeout до 300.0 или больше
ModuleNotFoundErrorОтсутствующий пакетПовторно выполните pip install llama-index-llms-openai
Эмбеддинг работает медленно на CPUМодель Hugging Face выполняется на CPUИспользуйте меньшую модель или включите ускорение на GPU

Преимущества использования Kimi API

После того как агент подключён и работает, сочетание LlamaIndex и Kimi API даёт ряд практических преимуществ для создания функциональных приложений на основе ИИ. Вот некоторые из ключевых преимуществ использования Kimi API с агентами LlamaIndex:

  • Более умные ИИ-агенты: Kimi API усиливает агентов LlamaIndex мощными возможностями понимания языка и рассуждения, помогая агентам выбирать инструменты, обрабатывать информацию и эффективнее выполнять задачи.

  • Улучшение поиска и анализа данных: В сочетании с фреймворком данных LlamaIndex Kimi может работать с закрытыми документами и базами знаний, формируя более точные и контекстно-обоснованные ответы.

  • Гибкие рабочие процессы на базе ИИ: LlamaIndex связывает агентов с инструментами, API и поисковыми движками, а Kimi предоставляет интеллект, необходимый для того, чтобы решать, когда и как использовать эти возможности.

  • Поддержка сложных ИИ-приложений: Благодаря пониманию длинного контекста и агентным возможностям, Kimi API в связке с LlamaIndex подходит для создания исследовательских помощников, агентов знаний и приложений для анализа документов.

Практические применения агентов LlamaIndex

Агенты LlamaIndex можно использовать для широкого круга задач, где ИИ нужно рассуждать, получать доступ к информации и совершать действия. Их способность связывать LLM с инструментами и данными делает их полезными в исследованиях, бизнесе, аналитике и поддержке клиентов. Вот несколько практических примеров применения:

  • ИИ-помощник для исследований

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

  • Корпоративный агент знаний

Корпоративный агент знаний может связывать сотрудников с внутренними документами, базами данных и базами знаний. Он способен находить релевантную информацию о компании и давать ответы на основе доступных бизнес-данных. Это помогает сотрудникам находить информацию быстрее, не перебирая вручную несколько систем.

  • Агент для анализа данных

Агент для анализа данных может работать с наборами данных и использовать инструменты для их обработки, анализа и интерпретации. Он способен выполнять вычисления, выявлять закономерности и помогать объяснять результаты простым языком. Это делает его полезным для таких задач, как подготовка отчётов, исследование данных и бизнес-анализ.

  • Агент службы поддержки клиентов

Агент службы поддержки может обращаться к информации о продукте, FAQ и ресурсам поддержки, чтобы отвечать на вопросы клиентов. Он может использовать инструменты для получения нужных сведений и обработки запросов на основе доступного контекста. Это помогает автоматизировать рутинные задачи поддержки и обеспечивать более быстрые и стабильные ответы.

Заключение

Агенты LlamaIndex дают практичный способ создавать ИИ-системы, способные рассуждать, использовать инструменты и работать с релевантной информацией. Их гибкость делает их полезными для создания приложений, которые не ограничиваются простыми диалогами. При подходящей LLM-модели такие агенты можно адаптировать под разные задачи и рабочие процессы. Попробуйте Kimi API с LlamaIndex, чтобы создать и протестировать собственного ИИ-агента. Изучите Kimi и посмотрите, что можно создать с его помощью.

Вопросы и ответы

Требуется ли агентам LlamaIndex специальная модель?
Нет, агентам LlamaIndex не требуется специальная модель. Они могут работать с поддерживаемыми провайдерами LLM, включая модели с поддержкой вызова функций или инструментов. Вы можете выбрать модель в зависимости от потребностей вашего приложения, например способности к рассуждению, стоимости или длины контекста. Это делает LlamaIndex гибким решением как для простых, так и для сложных агентных приложений.
Подходят ли агенты LlamaIndex для продакшен-приложений?
Да, агенты LlamaIndex можно использовать в продакшен-приложениях, если они правильно спроектированы, протестированы и находятся под наблюдением. Разработчики могут подключать агентов к инструментам, памяти, источникам данных и рабочим процессам для решения реальных бизнес-задач. Продакшен-системы также должны включать корректную обработку ошибок, безопасность, мониторинг и ограничения на доступ к инструментам. Правильная настройка зависит от сложности приложения и требований к надёжности. Интегрируя Kimi API, разработчики могут создавать приложения на основе агентов LlamaIndex, использующие мощные возможности рассуждения и обработку длинного контекста для более сложных продакшен-задач.
Как агенты LlamaIndex обрабатывают неудачные вызовы инструментов?
Когда вызов инструмента завершается ошибкой, агент может использовать полученный результат или информацию об ошибке, чтобы решить, что делать дальше. В зависимости от структуры рабочего процесса он может повторить действие, выбрать другой инструмент или дать ответ без завершения этой операции. Разработчики также могут добавлять собственную обработку ошибок при построении низкоуровневых агентных рабочих процессов. Это помогает агентам справляться с неожиданными сбоями инструментов без остановки всей задачи.
Вам также может понравиться
LangChain Deep Agents: возможности, функции и руководство по настройке
LangChain Deep Agents: возможности, функции и руководство по настройке
2026-08-13
Руководство по n8n AI Agent: создание и автоматизация рабочих процессов
Руководство по n8n AI Agent: создание и автоматизация рабочих процессов
2026-08-13
Установка Claude Code: полное руководство для Windows и Mac
Установка Claude Code: полное руководство для Windows и Mac
2026-08-12
Как подключить внешние API к Roo Code
Как подключить внешние API к Roo Code
2026-08-12
Интеграция Droid API: как подключить внешние модели ИИ
Интеграция Droid API: как подключить внешние модели ИИ
2026-08-12