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

Инструментальные функции в Claude с Google Vertex AI

При создании приложений на основе искусственного интеллекта с использованием Claude часто возникает необходимость предоставить модели доступ к информации в реальном времени или возможность выполнять определенные действия. Именно здесь на помощь приходят инструментальные функции (tool functions) — это функции на Python, которые Claude может вызывать, когда ему требуются дополнительные данные или возможности для эффективной помощи пользователям. Этот урок поможет вам понять, что такое инструментальные функции, как их создавать и как они расширяют возможности Claude.

Что такое инструментальные функции?

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

Эти функции служат мостом, соединяющим мощное понимание языка Claude с реальными данными и действиями. Они могут выполнять широкий спектр задач:

Ключевая особенность заключается в том, что Claude самостоятельно определяет, когда и какую функцию вызвать, основываясь на запросе пользователя и описании доступных ему инструментов.

Лучшие практики разработки инструментальных функций

Чтобы ваши инструментальные функции работали эффективно с Claude и обеспечивали наилучший пользовательский опыт, следуйте этим рекомендациям:

Обработка ошибок особенно важна, потому что Claude может учиться на неудачах. Если вы возвращаете четкое сообщение об ошибке, Claude может повторить вызов функции с правильным значением параметра, демонстрируя способность к самокоррекции.

Пример: Получение текущей даты и времени

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

def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
    if not date_format:
        raise ValueError("date_format cannot be empty")
    from datetime import datetime
    return datetime.now().strftime(date_format)

В этом примере:

Вы можете настроить вывод, передавая различные строки формата:

# Получить только время
get_current_datetime("%H:%M")  # Возвращает, например, "14:30"

# Получить другой формат даты
get_current_datetime("%B %d, %Y")  # Возвращает, например, "Март 15, 2024"

Валидация входных данных:

Проверка if not date_format: гарантирует, что мы не попытаемся отформатировать дату с пустой строкой. Хотя Claude редко совершает такую ошибку, предоставление четких сообщений об ошибках помогает ИИ понять, что пошло не так и как это исправить. Когда Claude сталкивается с ошибкой, оно видит точное сообщение об ошибке. Эта обратная связь позволяет Claude скорректировать свой подход и повторить попытку с исправленными параметрами.

Как Claude использует инструментальные функции?

Когда пользователь взаимодействует с Claude, модель анализирует запрос. Если Claude определяет, что для ответа на запрос или выполнения действия требуется информация или функциональность, выходящая за рамки его внутренних знаний, оно ищет подходящую инструментальную функцию. Процесс выглядит примерно так:

  1. Пользовательский запрос: Пользователь задает вопрос или дает команду (например, "Какая погода в Нью-Йорке?").
  2. Определение необходимости инструмента: Claude анализирует запрос и понимает, что ему нужна внешняя информация о погоде.
  3. Выбор инструмента: Claude выбирает наиболее подходящую инструментальную функцию из доступных (например, get_current_weather).
  4. Генерация вызова инструмента: Claude генерирует вызов функции с необходимыми параметрами (например, get_current_weather(location="New York")).
  5. Выполнение инструмента: Ваша Python-функция выполняется на сервере.
  6. Получение результата: Claude получает результат выполнения функции (например, "Температура в Нью-Йорке 10°C, солнечно").
  7. Формирование ответа: Claude использует полученную информацию для формирования связного и полезного ответа пользователю.

В случае ошибки, как обсуждалось ранее, Claude получает сообщение об ошибке, анализирует его и может попытаться исправить параметры или запросить дополнительную информацию у пользователя. Это делает Claude не просто языковой моделью (LLM), а мощным агентом, способным взаимодействовать с внешним миром.

Заключение

Инструментальные функции — это мощный механизм, который значительно расширяет возможности Claude, позволяя ему выходить за рамки статических данных обучения и взаимодействовать с динамическим миром. Понимание того, как их создавать и применять лучшие практики, является ключом к разработке сложных и полезных AI-приложений. Сама функция на Python относительно проста; основная сложность заключается в правильном описании этой функции для системы вызова инструментов Claude с помощью JSON schema и ее интеграции через API или SDK. Это позволяет Claude "знать" о существовании ваших инструментов и эффективно их использовать.