Искусственный интеллект (ИИ) совершает революцию в сфере высоких технологий, и модели DeepSeek R1 находятся в авангарде этой трансформации. Если вы новичок, желающий погрузиться в мир ИИ, или эксперт, стремящийся оптимизировать свои рабочие процессы, в этом руководстве вы узнаете обо всем, что нужно знать о моделях DeepSeek R1. Я расскажу вам про установку модели как локально, так и в Azure с помощью каталога моделей и о подключении с помощью API-ключей.

Введение в модели DeepSeek R1

Модели DeepSeek R1 - это современные ИИ-модели, разработанные для широкого спектра приложений, от обработки естественного языка (NLP) до компьютерного зрения. Эти модели предварительно обучены на обширных наборах данных, что делает их очень универсальными и способными решать сложные задачи с минимальной тонкой настройкой.

Ключевые особенности:

  1. Высокая точность. Обучены на различных наборах данных, что обеспечивает надежную работу.

  2. Масштабируемость. Могут быть развернуты на облачных платформах, таких как Azure, для беспрепятственного масштабирования.

  3. Простота интеграции. Простая интеграция на основе API для быстрого развертывания.

Почему именно модели DeepSeek R1? ?

Модели DeepSeek R1 выделяются благодаря:

  • Универсальность. Подходят для различных отраслей, включая здравоохранение, финансы и электронную коммерцию.

  • Эффективность. Оптимизированы для быстрого вывода результатов, что позволяет сократить время ожидания.

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


Локальный запуск модели DeepSeek

Шаг 1: Установите Ollama

Перейдите на страницу загрузки Ollama и загрузите программу установки для вашей операционной системы.

Следуйте инструкциям на экране, чтобы завершить установку.

После установки откройте терминал (или командную строку) и проверьте установку, набрав:

ollama --version

Если установка прошла успешно, вы увидите номер версии.

Шаг 2: Загрузка и настройка DeepSeek-R1

Откройте приложение Ollama или воспользуйтесь командной строкой для поиска модели DeepSeek-R1. Существуют различные версии DeepSeek-R1. Информацию о версиях смотрите на этой странице. В этом примере я устанавливаю версию 32b.

ollama install deepseek-r1:32b

Дождитесь загрузки и установки модели. Этот процесс может занять некоторое время в зависимости от скорости интернета и производительности системы.

Проверьте установку, запустив программу:

ollama list

DeepSeek-R1 должен появиться в списке установленных моделей.

Шаг 3: Запустите DeepSeek-R1

Запустите среду выполнения Ollama, открыв терминал и набрав:

ollama start

После того как программа будет активирована, запустите DeepSeek-R1, введя:

ollama run deepseek-r1:32b

Модель будет обрабатывать вводимые данные и возвращать результаты непосредственно в терминал или подключенное приложение.

Если вы хотите работать с моделью через интерфейс, а не через термирал, прочитайте эту статью:

Взаимодействие с документами с помощью DeepSeek и Ollama: локальный чатбот RAG для диалогов с учетом контекста
Революционное взаимодействие с документами с помощью DeepSeek и Ollama: локальный чатбот RAG для диа...
habr.com

Размещение моделей DeepSeek R1 в Azure Model Catalog ☁️.

Azure Model Catalog - это централизованное хранилище предварительно обученных моделей, включая DeepSeek R1. Размещение модели DeepSeek R1 в Azure с помощью Model Catalog не представляет собой ничего сложного. Вот пошаговое руководство:

Шаг 1: Настройка учетной записи Azure

  • Создайте учетную запись Azure, если у вас ее нет.

  • Перейдите на портал Azure и создайте новую группу ресурсов.

Шаг 2: Доступ к каталогу моделей

  • Перейдите в Azure Foundry -> Model Catalog на портале Azure.

  • Найдите в каталоге DeepSeek R1.

Шаг 3: Развертывание модели

  • Выберите модель DeepSeek R1 и нажмите кнопку Deploy.

  • Настройте параметры развертывания, включая вычислительные ресурсы и параметры масштабирования.

Шаг 4: Создание конечной точки

  • После развертывания модели создайте новую конечную точку.

  • Запишите URL конечной точки и ключ API для дальнейшего использования.


Подключение к модели с помощью ключей API ?

Когда ваша модель размещена в Azure, вы можете подключиться к ней с помощью ключей API. Вот как это делается:

Аутентификация с помощью ключа API. Для Serverless API Endpoints разверните модель, чтобы сгенерировать URL конечной точки и API-ключ для аутентификации на сервисе. В этом примере endpoint и key - это строки, содержащие URL конечной точки и ключ API.

URL конечной точки API и ключ API можно найти на странице «Deployments + Endpoint» после развертывания модели.

В пакет Azure inferencing входит клиент для Chat Completion. Клиент может быть аутентифицирован с помощью ключа API. Пример кода создает и аутентифицирует синхронный ChatCompletionsClient:

from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential

# For Serverless API or Managed Compute endpoints
client = ChatCompletionsClient(
    endpoint="<ENDPOINT_URL>",
    credential=AzureKeyCredential(key)
)

Установите зависимости. Установите Azure AI Inference SDK с помощью pip (требуется: Python >=3.8):

pip install azure-ai-inference

Запустите базовый пример кода. Этот пример демонстрирует базовый вызов API завершения чата. Вызов является синхронным.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import SystemMessage, UserMessage
from azure.core.credentials import AzureKeyCredential

endpoint = "<ENDPOINT_URL>"
model_name = "DeepSeek-R1"
client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(key),
)
response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="I am going to Paris, what should I see?")
    ],
    max_tokens=2048,
    model=model_name
)
print(response.choices[0].message.content)

Изучите другие примеры

Запустите многопоточный разговор:

Этот пример демонстрирует многопоточный разговор с помощью API завершения чата. При использовании модели в приложении для чата вам нужно будет управлять историей этого разговора и отправлять последние сообщения в модель.

import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import AssistantMessage, SystemMessage, UserMessage
from azure.core.credentials import AzureKeyCredential

endpoint = "<ENDPOINT_URL>"
model_name = "DeepSeek-R1"

client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(key),
)

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="I am going to Paris, what should I see?"),
        AssistantMessage(content="Paris, the capital of France, is known for its stunning architecture, art museums, historical landmarks, and romantic atmosphere. Here are some of the top attractions to see in Paris:\n \n 1. The Eiffel Tower: The iconic Eiffel Tower is one of the most recognizable landmarks in the world and offers breathtaking views of the city.\n 2. The Louvre Museum: The Louvre is one of the world's largest and most famous museums, housing an impressive collection of art and artifacts, including the Mona Lisa.\n 3. Notre-Dame Cathedral: This beautiful cathedral is one of the most famous landmarks in Paris and is known for its Gothic architecture and stunning stained glass windows.\n \n These are just a few of the many attractions that Paris has to offer. With so much to see and do, it's no wonder that Paris is one of the most popular tourist destinations in the world."),
        UserMessage(content="What is so great about #1?")
    ],
    max_tokens=2048,
    model=model_namemodel=model_name
)

print(response.choices[0].message.content)

Транслируйте вывод:

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

import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import SystemMessage, UserMessage
from azure.core.credentials import AzureKeyCredential

endpoint = "<ENDPOINT_URL>"
model_name = "DeepSeek-R1"
client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(key),
)
response = client.complete(
    stream=True,
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="I am going to Paris, what should I see?")
    ],
    max_tokens=2048,
    model=model_name
)
for update in response:
    if update.choices:
        print(update.choices[0].delta.content or "", end="")
client.close()

Модели DeepSeek R1 и ИИ-агенты

ИИ-агенты - это автономные системы, способные выполнять задачи без вмешательства человека. Модели DeepSeek R1 могут значительно расширить возможности ИИ-агентов:

  • Сокращение задержки для принятия решений в режиме реального времени.

  • Более высокая точность прогнозов и классификаций.

  • Легко масштабируются для обработки больших объемов данных.

Пример: ИИ-агент для поддержки клиентов

  • Задача: автоматически классифицировать запросы клиентов и направлять их в соответствующий отдел.

  • Реализация: используйте модели DeepSeek R1 для классификации запросов в режиме реального времени, обеспечивая быструю и точную сортировку.


Модели DeepSeek R1 - это мощные инструменты, способные преобразить ваши рабочие ИИ-процессы. Независимо от того, являетесь ли вы новичком или экспертом, в этом руководстве вы найдете исчерпывающий обзор того, как размещать, подключать и эффективно использовать эти модели. Используя Azure Model Catalog для хостинга и API-ключи для подключения, вы сможете легко интегрировать модели DeepSeek R1 в свои приложения. Кроме того, интеграция с ИИ-агентами открывает новые возможности для автоматизации и повышения эффективности.

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

Комментарии (4)


  1. AIStorm
    04.02.2025 16:07

    Вообще сильно проше поставить LM Studio, там и поисковик моделей есть и api если нужно, и они сразу в 4bit формате. И зачем вы людям про 32b пишите, для ее запуска нужна как минимум 4090. Для новичков 7b, самое то. То что вы пишите это вообще не средний уровень, это уже как бы продвинутый, а для многих не достигаемый....


    1. DonStron
      04.02.2025 16:07

      И зачем вы людям про 32b пишите, для ее запуска нужна как минимум 4090

      вопрос ведь только в памяти и квантизации, у 3090 столько же памяти, то есть запускаться будет тоже.

      Что касается количества параметров на 32B, то тут зависит от квантизации. Главное, чтобы лезло в память GPU (можно даже не целиком, а тройку слоёв на CPU оставить, то есть например GPU offload делать 61 из 64)). Например я так успешно запускаю в LM Studio на RTX 3090 такие варианты:
      DeepSeek-R1-Distill-Qwen-32B-GGUF в квантизации Q5_K_L, которая сама весит 23.74 Гб.
      или даже на 70 млрд. параметров, например
      Llama-3.1-Nemotron-70B-Instruct-HF-GGUF с квантизацией IQ2_M, которая весит 24.12 Гб.

      А если видеопамяти меньше, например 16 Гб, то можно запускать DeepSeek-R1-Distill-Qwen-32B-GGUF в квантизации Q3_K_M, этот вариант весит 15,94 Гб.

      Если же увеличивать длину контекста, то видеопамять жрётся, так что тут нужен некий баланс между размером квантованной модели, количеством offload'а и окном контекста :)
      Но "для поиграться" локально варианты есть под любую видеокарту.


  1. sidristij
    04.02.2025 16:07

    Статья об ии, созданная ии ))


    1. mrStickens
      04.02.2025 16:07

      Статья об ИИ, созданная ИИ ((