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

Введение в Retrieval Augmented Generation (RAG)

В мире больших языковых моделей (LLM), таких как Claude, работа с обширными объемами информации часто становится камнем преткновения. Представьте, что вам нужно проанализировать финансовый отчет на 800 страниц или целую библиотеку документов. Как эффективно извлечь нужные данные и представить их модели, чтобы она могла дать точный и контекстуально релевантный ответ? Именно здесь на помощь приходит техника, известная как Retrieval Augmented Generation (RAG).

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

Проблема больших документов для LLM

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

Большие языковые модели, несмотря на их впечатляющие способности, имеют ограничения. Одно из ключевых — это размер контекстного окна (context window), то есть максимальное количество токенов (token), которое модель может обработать за один раз. Если ваш документ превышает этот лимит, вы не сможете просто скопировать и вставить его целиком.

Подход 1: Включение всего в промпт

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

Таким образом, хотя этот подход интуитивно понятен, он редко является жизнеспособным решением для работы с реальными, объемными документами.

Подход 2: Разделение документов на фрагменты (Retrieval Augmented Generation)

Второй подход гораздо более изощренный и является основой RAG. Вместо того чтобы пытаться обработать документ целиком, вы разбиваете его на более мелкие, управляемые фрагменты (chunks) на этапе предварительной обработки. Затем, когда пользователь задает вопрос, вы ищете и включаете в промпт только те фрагменты, которые наиболее релевантны этому вопросу.

Вот как это работает на примере: когда пользователь спрашивает "Какие риски присущи этой компании?", ваша система просматривает все предварительно обработанные фрагменты документа, находит тот, который посвящен "Факторам риска" (Risk Factors), и включает только этот раздел в промпт для Claude. Это позволяет модели сосредоточиться на конкретной информации, необходимой для ответа, игнорируя при этом тысячи страниц нерелевантного текста.

Именно этот подход, сочетающий извлечение релевантной информации (Retrieval) с генерацией ответа языковой моделью (Generation), и называется Retrieval Augmented Generation.

Преимущества подхода с фрагментацией (RAG)

Использование RAG и разбиения документов на фрагменты дает значительные преимущества:

Вызовы и нюансы RAG

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

Ключевые компоненты RAG

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

  1. Предварительная обработка и фрагментация документов: Процесс извлечения текста из различных форматов (PDF, DOCX, HTML), его очистка и разбиение на осмысленные фрагменты.
  2. Механизм поиска релевантных фрагментов: Система, которая индексирует фрагменты и позволяет быстро находить те из них, которые наиболее соответствуют запросу пользователя. Часто это включает создание векторных представлений (vector embeddings) фрагментов и запросов, а затем поиск ближайших векторов.
  3. Интеллектуальный выбор фрагментов для включения в промпты: Алгоритмы, которые не просто находят "лучший" фрагмент, но и могут выбрать несколько фрагментов, чтобы обеспечить более полный и связный контекст для Claude.

Когда использовать RAG

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

Хотя RAG требует больше инженерных усилий на начальном этапе по сравнению с простым включением целых документов в промпты, его способность масштабироваться, повышать точность и снижать затраты делает его незаменимым инструментом для серьезных приложений, использующих Claude и другие LLM.