Начало работы с Claude 2 API
Погружение в работу с Claude 2 API
Что такое Claude 2?
Конверсационный AI-ассистент Anthropic, Claude 2, является последней версией, которая по сравнению с предыдущей итерацией имеет значительные улучшения в производительности, длине ответа и доступности. Последняя версия модели доступна через наш API и новый публичный бета-сайт claude.ai.
- Обновления OpenAI API Dev Day поражают воображение вот DALL-E 3, GPT-4 Vision и GPT-4 Turbo в действии.
- Эта научная статья представляет компиляторскую абстракцию Relax, для оптимизации динамических рабочих процессов машинного обучения от начала до конца.
- «Что такое шум в обработке изображений? – Основы»
С Claude 2 легко общаться, его объяснения являются понятными, он избегает вредоносных выводов и имеет надежную память. У него усовершенствованные возможности рассуждения.
Claude 2 показал значительное улучшение в множественном выборе на экзамене Bar, набрав 76,5%, по сравнению с 73,0% у Claude 1.3. Более того, Claude 2 превосходит более 90% людей при чтении и написании разделов в GRE. В тестировании по кодированию, таком как HumanEval, Claude 2 достиг точности 71,2%, что существенно увеличивает предыдущий показатель 56,0%.
API Claude 2 предлагается нашим тысячам корпоративным клиентам по той же цене, что и Claude 1.3. Вы можете легко использовать его через веб-API, а также клиенты Python и Typescript. Это руководство поможет вам настроить и использовать Claude 2 Python API, а также ознакомить вас с различными функциональными возможностями.
Настройка
Прежде чем перейти к доступу к API, вам необходимо сначала подать заявку на получение раннего доступа к API Early Access. Вам нужно будет заполнить форму и дождаться подтверждения. Убедитесь, что вы используете свой корпоративный адрес электронной почты. Я использовал@VoAGI.com.
Получив подтверждение по электронной почте, вы получите доступ к консоли. Оттуда вы сможете создать ключи API, перейдя в Настройки аккаунта.
Установите клиент Python Anthropic с помощью PiP. Убедитесь, что вы используете последнюю версию Python.
pip install anthropic
Настройте клиент Anthropic с помощью ключа API.
client = anthropic.Anthropic(api_key=os.environ["API_KEY"])
Вместо того, чтобы указывать ключ API при создании объекта клиента, вы можете установить переменную среды ANTHROPIC_API_KEY
и присвоить ей ключ.
Доступ к Claude 2
Вот базовая синхронная версия генерации ответов с использованием промпта.
- Импортируйте все необходимые модули.
- Инициализируйте клиента с использованием ключа API.
- Для генерации ответа вы должны указать название модели, максимальное количество токенов и промпт.
- Ваш промпт обычно содержит
HUMAN_PROMPT
(‘\n\nЧеловек:’) иAI_PROMPT
(‘\n\nАссистент:’). - Выведите ответ.
from anthropic import Anthropic, HUMAN_PROMPT, AI_PROMPTimport osanthropic = Anthropic( api_key= os.environ["ANTHROPIC_API_KEY"],)completion = anthropic.completions.create( model="claude-2", max_tokens_to_sample=300, prompt=f"{HUMAN_PROMPT} Как найти свою вторую половинку?{AI_PROMPT}",)print(completion.completion)
Вывод:
Как видим, результаты достаточно хорошие. Я думаю, они даже лучше, чем у GPT-4.
Вот несколько советов по поиску своей второй половинки: - Сосредоточьтесь на том, чтобы стать лучшей версией себя. Преследуйте свои страсти и интересы, развивайтесь как личность и работайте над тем, чтобы стать человеком, которого вы уважаете. Если вы живете своей наилучшей жизнью, вы привлечете того самого человека, который будет правильным для вас. - Вступайте в новые знакомства и знакомьтесь с новыми людьми. Расширьте свой социальный круг, попробовав новые активности, присоединяясь к клубам, волонтерясь или используя приложения для знакомств. Чем больше людей вы встречаете, тем больше вероятность встретить кого-то особенного...
Вы также можете вызывать API Claude 2 с помощью асинхронных запросов.
Синхронные API выполняют запросы последовательно, блокируя до получения ответа перед вызовом следующего вызова, тогда как асинхронные API позволяют множественные параллельные запросы без блокировки, обрабатывая ответы по мере их завершения через обратные вызовы, промисы или события. Это позволяет асинхронным API быть более эффективными и масштабируемыми.
- Импортируйте AsyncAnthropic вместо Anthropic
- Определите функцию с синтаксисом async.
- Используйте
await
с каждым вызовом API
from anthropic import AsyncAnthropic anthropic = AsyncAnthropic() async def main(): completion = await anthropic.completions.create( model="claude-2", max_tokens_to_sample=300, prompt=f"{HUMAN_PROMPT} Сколько процентов азота содержится в воздухе?{AI_PROMPT}", ) print(completion.completion) await main()
Вывод:
Мы получили точные результаты.
Приблизительно 78% воздуха состоит из азота. Конкретно: - Азот составляет примерно 78,09% воздуха по объему. - Кислород составляет примерно 20,95% воздуха. - Остальные 0,96% состоят из других газов, таких как аргон, углекислый газ, неон, гелий и водород.
Примечание: Если вы используете асинхронную функцию в Jupyter Notebook, используйте
await main()
. В противном случае используйтеasyncio.run(main())
.
Потоковая передача Claude 2
Потоковая передача стала все более популярной для больших моделей языка. Вместо ожидания полного ответа вы можете начать обработку вывода как только он станет доступным. Этот подход помогает уменьшить воспринимаемую задержку путем возврата вывода модели языка по токену вместо всего сразу.
Вам просто нужно установить новый аргумент stream
в значение True
в функции completion. Caude 2 использует Server Side Events (SSE) для поддержки потоковой передачи ответов.
stream = anthropic.completions.create( prompt=f"{HUMAN_PROMPT} Можете ли вы написать код на Python для анализа набора данных о займах?{AI_PROMPT}", max_tokens_to_sample=300, model="claude-2", stream=True,) for completion in stream: print(completion.completion, end="", flush=True)
Вывод:
Фактурирование
Фактурирование является самым важным аспектом интеграции API в ваше приложение. Оно поможет вам спланировать бюджет и выставлять счета вашим клиентам. Все LLMs API распространяются с учетом токенов. Вы можете ознакомиться с таблицей ниже, чтобы понять структуру ценообразования.
Простой способ подсчитать количество токенов – предоставить подсказку или ответ в функцию count_tokens
.
client = Anthropicanthropic() client.count_tokens('Сколько процентов азота содержится в воздухе?')
10
Другие функции
Помимо основной генерации ответов, вы можете использовать API для полной интеграции в ваше приложение.
- Использование типов: Запросы и ответы используют TypedDicts и модели Pydantic для проверки типов и автозаполнения.
- Обработка ошибок: Возникающие ошибки включают APIConnectionError для проблем с подключением и APIStatusError для ошибок HTTP.
- Заголовки по умолчанию: Автоматически добавляется заголовок anthropic-version. Это можно настраивать.
- Журналирование: Журналирование можно включить, установив переменную окружения ANTHROPIC_LOG.
- Настройка клиента HTTP: HTTPx клиент можно настраивать для работы с прокси, транспортами и т. д.
- Управление ресурсами HTTP: Клиент можно закрыть вручную или использовать в контекстном менеджере.
- Версионность: Соблюдаются семантические правила версионности, но некоторые обратно несовместимые изменения могут быть выпущены в виде минорных версий.
Заключение
Антропный Python API обеспечивает легкий доступ к передовой модели искусственного интеллекта Claude 2, позволяя разработчикам интегрировать передовые возможности обработки естественного языка Клода в свои приложения. API предлагает синхронные и асинхронные вызовы, потоковую передачу данных, оплату на основе использования токенов и другие функции, чтобы полностью использовать преимущества улучшений в Claude 2 по сравнению с предыдущими версиями.
Жан-Клод 2 – это моя самая любимая версия, и я считаю, что создание приложений с использованием Anthropic API поможет вам создать продукт, превосходящий другие.
Дайте мне знать, если вам хотелось бы прочитать более продвинутый учебник. Может быть, я смогу создать приложение, используя Anthropic API.
****[Абид Али Аван](https://www.polywork.com/kingabzpro)**** (@1abidaliawan) – сертифицированный профессионал-исследователь в области науки о данных, который любит создавать модели машинного обучения. В настоящее время он сосредоточен на создании контента и написании технических блогов о технологиях машинного обучения и науке о данных. Абид имеет степень магистра в управлении технологиями и степень бакалавра в области телекоммуникационной инженерии. Его цель – создать продукт искусственного интеллекта с использованием графовой нейронной сети для студентов, страдающих от психических заболеваний.