Claude в Google Vertex AI

Подключение Claude через Google Cloud — авторизация, регионы, биллинг.

100 уроков, первые 3 бесплатно. Полный доступ: 1490 руб.

Уроки курса

  1. Welcome to the course
  2. Overview of Claude models
  3. Accessing the API
  4. Vertex AI Setup
  5. Making a request
  6. Multi-turn conversations
  7. Chat exercise
  8. System prompts
  9. System prompts exercise
  10. Temperature
  11. Course satisfaction survey
  12. Response streaming
  13. Controlling model output
  14. Structured data
  15. Structured data exercise
  16. Quiz on accessing Claude with the API
  17. Prompt evaluation
  18. A typical eval workflow
  19. Generating test datasets
  20. Running the eval
  21. Model based grading
  22. Code based grading
  23. Exercise on prompt evals
  24. Quiz on prompt evaluation
  25. Prompt engineering
  26. Being clear and direct
  27. Being specific
  28. Structure with XML tags
  29. Providing examples
  30. Exercise on prompting
  31. Quiz on prompt engineering techniques
  32. Introducing tool use
  33. Project overview
  34. Tool functions
  35. Tool schemas
  36. Handling message blocks
  37. Sending tool results
  38. Multi-turn conversations with tools
  39. Implementing multiple turns
  40. Using multiple tools
  41. The batch tool
  42. Tools for structured data
  43. The text edit tool
  44. The web search tool
  45. Quiz on tool use with Claude
  46. Introducing Retrieval Augmented Generation
  47. Text chunking strategies
  48. Text embeddings
  49. The full RAG flow
  50. Implementing the RAG flow
  51. BM25 lexical search
  52. A Multi-index RAG pipeline
  53. Reranking results
  54. Contextual retrieval
  55. Quiz on Retrieval Augmented Generation
  56. Extended thinking
  57. Image support
  58. PDF support
  59. Citations
  60. Prompt caching
  61. Rules of prompt caching
  62. Prompt caching in action
  63. Quiz on features of Claude
  64. Introducing MCP
  65. MCP clients
  66. Project setup
  67. Defining tools with MCP
  68. The server inspector
  69. Implementing a client
  70. Defining resources
  71. Accessing resources
  72. Defining prompts
  73. Prompts in the client
  74. MCP review
  75. Quiz on Model Context Protocol
  76. Anthropic apps
  77. Claude Code setup
  78. Claude Code in action
  79. Enhancements with MCP servers
  80. Parallelizing Claude Code
  81. Automated debugging
  82. Computer use
  83. How computer use works
  84. Agents and workflows
  85. Parallelization workflows
  86. Chaining workflows
  87. Routing workflows
  88. Agents and tools
  89. Environment inspection
  90. Workflows vs agents
  91. Quiz on agents and workflows
  92. Final assessment quiz
  93. Course Wrap Up
  94. Course Description
  95. Course Description
  96. Course Description
  97. Course Description
  98. Course Description
  99. Course Description
  100. Course Description

Многоиндексный RAG-конвейер: Объединяя Силу Поиска для Claude с Google Vertex AI

В мире больших языковых моделей (LLM), таких как Claude, способность получать точную и актуальную информацию из обширных баз знаний является ключевой для создания по-нанастоящему полезных и надежных приложений. Этот процесс, известный как Retrieval Augmented Generation (RAG), значительно улучшает качество ответов LLM, предоставляя им контекст из внешних источников. Однако эффективность RAG напрямую зависит от качества механизма поиска (retrieval).

Традиционно, для поиска информации используются два основных подхода: лексический и семантический. Каждый из них имеет свои сильные стороны и ограничения. Представьте, что у вас есть огромная библиотека, и вам нужно найти конкретную книгу. Лексический поиск похож на поиск по ключевым словам в каталоге, а семантический — на поиск по смыслу или теме. Но что, если мы могли бы объединить их, чтобы получить лучшее из обоих миров? Именно это и предлагает многоиндексный RAG-конвейер, создавая гибридный подход, который значительно повышает точность и релевантность извлекаемой информации.

Понимание Проблемы Поиска: Лексический и Семантический Подходы

Прежде чем говорить об объединении, давайте кратко рассмотрим два фундаментальных метода поиска:

Как видите, каждый метод имеет свои сильные стороны, которые компенсируют недостатки другого. Лексический поиск хорош для "что", а семантический — для "о чем". Идеальное решение — объединить их.

Объединение Лучшего: Гибридный Подход к Поиску

Когда у вас есть два мощных, но разных инструмента, логичным шагом является их объединение. Гибридный подход к поиску использует сильные стороны как лексического, так и семантического поиска, чтобы обеспечить более точные и полные результаты. Цель состоит в том, чтобы создать единый механизм, который может обрабатывать широкий спектр запросов, от очень специфических до высококонцептуальных.

В основе такого подхода лежит компонент, который мы назовем Retriever. Он действует как координатор, который принимает пользовательский запрос, направляет его к обоим поисковым индексам (лексическому и семантическому), собирает их результаты и затем объединяет их в единый ранжированный список. Но как объединить результаты, полученные с помощью совершенно разных систем оценки?

Решение Проблемы Слияния: Reciprocal Rank Fusion (RRF)

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

Вместо этого мы используем метод, называемый Reciprocal Rank Fusion (RRF). Этот метод фокусируется не на "сырых" оценках, а на позиции в ранге результатов. Идея проста: чем выше документ находится в списке результатов любого из поисковых методов, тем более он важен.

Давайте рассмотрим, как это работает, на примере. Предположим, ваш семантический поиск (на основе векторов) возвращает разделы 2, 7 и 6 именно в таком порядке, а лексический поиск (BM25) возвращает разделы 6, 2 и 7. Чтобы объединить эти результаты, мы:

  1. Определяем ранг каждого документа в каждом списке:

    • Раздел 2: Ранг 1 от векторного поиска, ранг 2 от BM25.
    • Раздел 7: Ранг 2 от векторного поиска, ранг 3 от BM25.
    • Раздел 6: Ранг 3 от векторного поиска, ранг 1 от BM25.
  2. Применяем формулу RRF для расчета комбинированной оценки для каждого раздела:

    Формула RRF выглядит так:

    RRF_score(d) = Σ(1 / (k + rank_i(d)))

    Где:

    • d — это документ (в нашем случае, раздел).
    • Σ — сумма по всем поисковым методам.
    • k — это константа (обычно 60, но для наглядности примера мы можем использовать 1). Эта константа предотвращает слишком сильное влияние очень высоких рангов и сглаживает различия.
    • rank_i(d) — это ранг документа d в i-м списке результатов поиска.
  3. Вычисляем RRF_score для каждого раздела (используем k=1 для простоты):

    • Раздел 2: 1.0/(1+1) + 1.0/(1+2) = 0.5 + 0.333 = 0.833
    • Раздел 7: 1.0/(1+2) + 1.0/(1+3) = 0.333 + 0.25 = 0.583
    • Раздел 6: 1.0/(1+3) + 1.0/(1+1) = 0.25 + 0.5 = 0.75
  4. Определяем окончательный рейтинг на основе RRF_score:

    Окончательный рейтинг будет: Раздел 2 (0.833), Раздел 6 (0.75), Раздел 7 (0.583). Это интуитивно понятно: Раздел 2 показал хорошие результаты в обоих поисках, Раздел 6 имел смешанные результаты (первое место в одном, третье в другом), а Раздел 7 занял более низкие позиции в целом.

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

Архитектура Гибридного Поиска: Класс Retriever

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

Такая архитектура обеспечивает четкое разделение обязанностей и позволяет легко управлять различными поисковыми механизмами.

Преимущества Гибридной Архитектуры

Разработка гибридного поискового конвейера с использованием RRF предлагает несколько значительных преимуществ для вашей RAG-системы на базе Claude с Google Vertex AI:

Представьте запрос "что произошло с INC-2023-Q4-011?". Чисто семантический поиск может упустить точное совпадение с идентификатором инцидента, фокусируясь на "кибербезопасности" в целом. Чисто лексический поиск может найти идентификатор, но не понять контекст. Гибридный подход, используя RRF, сможет правильно расставить приоритеты: сначала сам отчет об инциденте, затем соответствующий контекст (например, анализ кибербезопасности), а затем, возможно, менее релевантные, но связанные документы (например, юридические аспекты).

Заключение

Многоиндексный RAG-конвейер с использованием Reciprocal Rank Fusion представляет собой мощное решение для повышения эффективности извлечения информации в системах, работающих с LLM, такими как Claude на Google Vertex AI. Объединяя сильные стороны лексического и семантического поиска, мы создаем более надежный и гибкий механизм, способный обрабатывать широкий спектр запросов и предоставлять Claude наиболее релевантный контекст. Это не просто улучшение, это фундаментальное изменение, которое делает ваши RAG-приложения значительно умнее и полезнее.