Облачная платформаEvolution

Начало работы с API Managed RAG

Эта статья полезна?

С помощью быстрого старта вы научитесь:

  • Отправлять запросы к Search API и получать поисковую выдачу.

  • Получать информацию о сущностях от Public API.

Перед началом работы

  1. Если вы уже зарегистрированы, войдите под своей учетной записью.

  2. Сгенерируйте ключи доступа для сервисного аккаунта.

Пройдите аутентификацию

  1. Получите токен с помощью curl-запроса:

    curl --location 'https://iam.api.cloud.ru/api/v1/auth/token' \
    --header 'Content-Type: application/json' \
    --data '{
    "keyId": "<key_id>",
    "secret": "<secret>"
    }'

    Где:

    • keyId — Key ID (логин) ключа доступа.

    • secret — Key Secret (пароль) ключа доступа.

  2. Используйте токен при каждом API-запросе к сервису — передайте его в заголовке Authorization в формате:

    Authorization: Bearer $TOKEN

Токен используется при запросах как к Public, так и Search API.

Отправьте запрос к Search API

  1. Получите поисковую выдачу:


    curl -X POST "<knowledge_base_public_url>/api/v2/retrieve" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <access_token>" \
    -d '{
    "knowledge_base_version": "<knowledge_base_version_id>",
    "query": "Что такое сервис Evolution Managed Kubernetes?",
    "retrieval_configuration": {
    "number_of_results": 3,
    "retrieval_type": "SEMANTIC"
    }
    }'

    Где:

    • <knowledge_base_public_url> — публичный URL базы знаний;

    • <access_token> — полученный токен доступа с помощью Public API Cloud.ru;

    • "knowledge_base_version" — идентификатор версии базы знаний. Его можно получить на вкладке Информация версии базы знаний.

    • "query" — текст запроса;

    • "retrieval_configuration" — настройки поисковой выдачи:

      • "number_of_results" — количество возвращаемых

        в поисковой выдаче;

      • "retrieval_type" — тип поиска. В данном случае используется семантический поиск;

    В ответе вы получите "results" — поисковую выдачу из найденных чанков.

  2. Получите генеративный ответ по поисковой выдаче:


    curl -X POST "<knowledge_base_public_url>/api/v2/retrieve_generate" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <access_token>" \
    -d '{
    "knowledge_base_version": "<knowledge_base_version_id>",
    "query": "Что такое сервис Evolution Managed Kubernetes?",
    "retrieval_configuration": {
    "number_of_results": 3,
    "retrieval_type": "SEMANTIC"
    },
    "generation_configuration": {
    "model_name": "t-tech/T-lite-it-1.0",
    "model_source": "FOUNDATION_MODELS",
    "number_of_chunks_in_context": 3,
    "system_prompt": "Вы полезный помощник, который отвечает на вопросы, основываясь на предоставленном контексте."
    }
    }'

    Где:

    • <knowledge_base_public_url> — скопированный публичный URL базы знаний;

    • <access_token> — полученный токен доступа с помощью Public API Cloud.ru;

    • "knowledge_base_version" — идентификатор версии базы знаний. Его можно получить на вкладке Информация версии базы знаний.

    • "query" — текст запроса;

    • "retrieval_configuration" — настройки поисковой выдачи:

      • "number_of_results" — количество возвращаемых

        в поисковой выдаче;

      • "retrieval_type" — тип поиска. В данном случае используется семантический поиск;

    • "generation_configuration" — настройки языковой модели из списка параметров:

      • "model_source" — источник модели. В данном случае используется модель из Foundation Models;

      • "system_prompt" — промпт для LLM-модели;

      • "number_of_chunks_in_context" — количество чанков из поисковой выдачи для контекста LLM.

    В ответе вы получите:

    • "results" — поисковая выдача из найденных чанков;

    • "llm_answer" — ответ LLM-модели;

    • "reasoning_content" — размышления модели.

Отправьте запрос к Public API

  1. Получите информацию о базе знаний:


    curl -X GET 'https://managed-rag.api.cloud.ru/v1/knowledge-bases/<knowledge_base_id>?project_id=<project_id>' \
    -H 'Authorization: Bearer <access_token>

    Где:

    • <knowledge_base_id> — идентификатор базы знаний;

    • <project_id> — идентификатор проекта;

    • <access_token> — токен доступа, полученный при аутентификации в API Cloud.ru.

  2. Получите информацию о версии базы знаний:


    curl -X GET 'https://managed-rag.api.cloud.ru/v1/knowledge-bases/versions/<knowledge_base_version_id>?project_id=<project_id>' \
    -H 'Authorization: Bearer <access_token>

    Где:

    • <knowledge_base_version_id> — идентификатор версии базы знаний;

    • <project_id> — идентификатор проекта;

    • <access_token> — токен доступа, полученный при аутентификации в API Cloud.ru.