LlamaIndex через AI Gateway — RAG по своим данным
Фреймворк для RAG на Python: индексация данных и вопросы к своим документам
https://ai-gatewey.ru/v1sk-aigate-…anthropic/claude-sonnet-5.5LlamaIndex — фреймворк для RAG: он индексирует ваши документы и отвечает на вопросы по ним, подставляя релевантные фрагменты в запрос к модели. LLM-классы принимают кастомный адрес API, поэтому LlamaIndex работает через AI Gateway — задаёте api_base и ключ, а модель берёте из каталога.
Подключение
- Получите API-ключ
Зарегистрируйтесь и создайте ключ в кабинете — он начинается с
sk-aigate-. Для RAG-сервиса удобно завести отдельный ключ с собственным потолком расхода. - Установите пакеты
Нужны ядро LlamaIndex и интеграция с OpenAI-совместимым API:
bashbashpip install llama-index llama-index-llms-openai-like - Настройте LLM на AI Gateway
Класс
OpenAILikeрассчитан на сторонние OpenAI-совместимые эндпоинты: передайтеapi_baseсо шлюзом, ключ и код модели из каталога:pythonpythonfrom llama_index.llms.openai_like import OpenAILikellm = OpenAILike(api_base="https://ai-gatewey.ru/v1",api_key="sk-aigate-...",model="anthropic/claude-sonnet-5.5",is_chat_model=True,# без явного значения класс считает окно равным 3900 токенам# и режет контекст задолго до реального лимита моделиcontext_window=200000,is_function_calling_model=True,) - Соберите RAG-пайплайн
Загрузите документы, постройте индекс и задайте вопрос — LlamaIndex сам найдёт релевантные фрагменты и передаст их модели через AI Gateway:
pythonpythonfrom llama_index.core import VectorStoreIndex, SimpleDirectoryReader, SettingsSettings.llm = llmdocs = SimpleDirectoryReader("./data").load_data()index = VectorStoreIndex.from_documents(docs)engine = index.as_query_engine()print(engine.query("О чём эти документы?")) - Проверьте расход
После первого запроса расход по токенам появится в кабинете AI Gateway в реальном времени — по каждому ключу отдельно.
OpenAILike не проверяет модель по списку OpenAI, поэтому корректно работает с кодами каталога вида anthropic/… и deepseek/…. Для эмбеддингов при индексации можно использовать локальную модель или отдельный эмбеддинг-эндпоинт.Какие модели выбрать
В RAG модель работает с уже найденным контекстом, поэтому часто хватает быстрой модели среднего класса; для сложных выводов по документам берите флагман:
Частые вопросы
Чем OpenAILike отличается от класса OpenAI?
OpenAILike не сверяет имя модели со списком OpenAI и рассчитан на сторонние совместимые эндпоинты — с ним коды каталога вроде anthropic/claude-sonnet-5.5 работают без ошибок валидации.
Как быть с эмбеддингами для индекса?
Генерация ответа идёт через AI Gateway, а эмбеддинги для индексации можно считать локальной моделью (например, из HuggingFace) или отдельным эмбеддинг-эндпоинтом — LlamaIndex позволяет задать их независимо.
Можно ли менять модель, не переиндексируя данные?
Да. Индекс не зависит от LLM: смените код модели в OpenAILike, а построенный индекс остаётся прежним — переиндексация не нужна.
https://ai-gatewey.ru/v1sk-aigate-…anthropic/claude-sonnet-5.5