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

Сегментация текста, или chunking, является одним из наиболее критически важных шагов при построении конвейера Retrieval Augmented Generation (RAG). То, как вы разбиваете свои документы на более мелкие части, напрямую влияет на качество всей вашей системы. Неэффективная стратегия сегментации может привести к тому, что в ваши запросы будет вставлен нерелевантный контекст, что заставит ваш ИИ давать совершенно неверные ответы.

Рассмотрим пример: у вас есть документ, содержащий разделы о медицинских исследованиях и разработке программного обеспечения. Если вы примените плохую стратегию сегментации, пользователь, задающий вопрос "Сколько ошибок (bugs) исправили инженеры в этом году?", может получить информацию о медицинских исследованиях вместо разработки программного обеспечения. Это произойдет просто потому, что в медицинском разделе случайно встретилось слово "bug" (например, "вирус" или "микроб") в совершенно другом контексте. Такой промах демонстрирует, почему стратегия сегментации имеет такое большое значение. Цель состоит в том, чтобы создать сегменты (chunks), которые сохраняют семантическую связность и предоставляют значимый контекст при извлечении.

Три основных подхода к сегментации текста

Существует три основных подхода к сегментации текста, каждый из которых имеет свои преимущества и компромиссы:

Сегментация по размеру (Size-Based Chunking)

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

Однако у этого подхода есть очевидные недостатки. Слова могут быть обрезаны посреди предложения, а сегменты могут потерять важный контекст. Например, в сегмент может не попасть заголовок раздела, который объясняет, о чем на самом деле идет речь. Чтобы решить эту проблему, часто используется перекрытие (overlap) между сегментами. Каждый сегмент включает некоторое количество символов (или слов) из соседних сегментов, что обеспечивает лучшее сохранение контекста и позволяет избежать резких обрывов. Например, если вы делите текст на части по 150 символов, вы можете настроить перекрытие в 20 символов, так что каждый новый сегмент будет начинаться на 20 символов раньше, чем заканчивался предыдущий, захватывая часть его содержимого.

Сегментация по структуре (Structure-Based Chunking)

Сегментация по структуре использует естественную организацию ваших документов. Если вы работаете с файлами в формате Markdown, вы можете разбивать текст по заголовкам. Для других форматов можно использовать абзацы, списки или другие структурные элементы. Этот подход прекрасно работает, когда у вас есть гарантии относительно структуры документа. Например, для документов Markdown можно легко разделить текст по заголовкам разделов (например, ## Заголовок).

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

Сегментация по смыслу (Semantic-Based Chunking)

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

  1. Разбиение текста на отдельные предложения.
  2. Использование методов NLP (например, векторных эмбеддингов) для измерения семантического сходства между предложениями.
  3. Группировка семантически связанных предложений в связные сегменты.

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

Выбор правильной стратегии

Выбор стратегии сегментации полностью зависит от вашего конкретного сценария использования:

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