Powrót do bloga

Optymalizacja kosztówPorównanie

Uruchomić DeepSeek lokalnie czy użyć API? Sprzęt, prędkość, koszt

Sprawdź, czy Twoje GPU i RAM udźwigną DeepSeek V4-Flash, jakiej prędkości się spodziewać i kiedy zmiana base_url jest prostsza. Z tabelą kosztów.

Autor: CheapTokens TeamOpublikowano Zaktualizowano 7 min czytania

Dwie kolumny, Local i API, porównujące uruchamianie DeepSeek na własnym sprzęcie z wywoływaniem hostowanego API przez zmianę base_url
Na tej stronie
  1. Czy DeepSeek zmieści się w Twojej pamięci?
  2. Jak szybko to działa?
  3. Ile to samo obciążenie kosztuje przez API
  4. Kiedy własny sprzęt się opłaca?
  5. Przejście z lokalnego na hostowane API
  6. Jeśli nie działa
  7. Który wybrać

Prawdopodobnie nie, chyba że masz 128 GB RAM lub maszynę klasy Mac Studio, albo masz powód, by trzymać każdy token na własnym dysku. Sam plik DeepSeek V4-Flash to około 100 GB, a jeden z poradników społeczności podaje około 6–10 tokenów na sekundę nawet na drogim sprzęcie. Dla większości aplikacji i pętli agentowych krótsza droga to skierowanie klienta OpenAI na hostowane API: zmieniasz base_url i klucz, i nic więcej w kodzie.

Poniżej: jak sprawdzić własną maszynę w pięć minut, jakiej prędkości się spodziewać i ile kosztuje realne obciążenie przez API.

Czy DeepSeek zmieści się w Twojej pamięci?#

Rozmiary tutaj pochodzą z poradnika społeczności o uruchamianiu DeepSeek lokalnie (deepseek-local-guide-ru na GitHubie, 18 części, CC BY 4.0, czytane 22 października 2026). Jest nieoficjalny i niepowiązany z DeepSeek. Same strony poradnika nie są w pełni zgodne co do rozmiarów, więc potwierdź rozmiar pliku na karcie modelu w Hugging Face, zanim zaczniesz pobieranie 100 GB.

Według poradnika DeepSeek V4-Flash-0731 ma 284B parametrów, z czego 13B jest aktywnych na token. Pliki:

Kwantyzacja Rozmiar pliku (według poradnika)
Q3 około 103 GB
Q4 około 155 GB
Q8 około 162 GB

Model nie musi w całości siedzieć w pamięci VRAM. llama.cpp może trzymać warstwy ekspertów w pamięci RAM systemu, ale zasada z poradnika jest bez ogródek: GPU z 24 GB potrzebuje obok siebie 128 GB RAM.

Załóżmy, że masz dobry komputer do gier z GPU 24 GB i 64 GB RAM. Zsumuj oba i porównaj z najmniejszym plikiem:

24 + 64 = 88 GB, a plik Q3 ma 103 GB.

Nie mieści się, a system operacyjny też potrzebuje własnej pamięci. Z 24 GB VRAM i 128 GB RAM masz 152 GB, a plik 103 GB mieści się z zapasem.

Nowszy DeepSeek-V4.1-Flash-1017 jest większy: około 552B parametrów plus 196B Engram, około 510 GB w FP8 i około 167 GB w 2 bitach, według tego samego poradnika. Wsparcie to drugi problem. Według poradnika (sprawdzone 22 października 2026) nie działa w Ollama, ponieważ architektura deepseek_v41 nie jest obsługiwana, a wsparcie w llama.cpp i LM Studio nie jest w ich głównych gałęziach. To zmienia się szybko, więc zajrzyj do informacji o wydaniu swojego silnika, zanim zaczniesz na tym planować.

Jak szybko to działa?#

Poradnik podaje dwa pomiary, oba przy silnej kwantyzacji i oba są liczbami społeczności, więc czytaj je jako rząd wielkości, a nie benchmark:

  • DGX Spark z 128 GB, V4-Flash w IQ2: około 6–7 tokenów na sekundę.
  • Mac Studio M3 Ultra z 256 GB, V4.1-Flash w MLX 2-bit: około 9,5 tokena na sekundę.

Poradnik nie podaje liczby dla RTX 4090 ani 5090.

Jak to odczuć? Odpowiedź o 1 000 tokenów to mniej więcej półtorej strony tekstu:

1 000 ÷ 9,5 = 105,3 sekundy

1 000 ÷ 6 = 166,7 sekundy

Dla czatu, który czytasz na bieżąco, to wolno, ale użytecznie. Dla agenta, który wykonuje dziesiątki wywołań na zadanie, szybko się to sumuje. Załóżmy, że Twoja pętla generuje 2 000 000 tokenów wyjściowych dziennie, a maszyna naprawdę generuje 9,5 tokena na sekundę bez przerwy:

2 000 000 ÷ 9,5 = 210 526 sekund

210 526 ÷ 3 600 = 58,5 godziny

To więcej niż doba generowania na jeden dzień pracy. Prawdziwe serwery grupują kilka żądań razem, więc dla zespołu obraz nie jest aż tak ponury, ale zamiast budować produkt, dostrajałbyś silnik.

Ile to samo obciążenie kosztuje przez API#

Uczyńmy przykład konkretnym. Załóżmy pętlę agentową, która wysyła 10 milionów tokenów wejściowych i dostaje 2 miliony tokenów wyjściowych dziennie. To liczby założone, zastąp je swoimi z logu użycia.

Strona cenowa samego DeepSeek (22 października 2026, sama strona nie pokazuje daty) podaje deepseek-flash, obsługiwany przez DeepSeek-V4.1-Flash-1017, w tych cenach za 1M tokenów, poza szczytem / w szczycie: wejście z chybieniem cache 0,15 / 0,30 USD, wyjście 0,60 / 1,20 USD. Godziny szczytu to 01:00–04:00 i 06:00–10:00 UTC, od poniedziałku do piątku, z wyłączeniem chińskich świąt publicznych; poza szczytem to połowa szczytu. Wejście z trafieniem cache jest znacznie tańsze (0,003 / 0,006 USD), więc pętla, która ponownie wysyła ten sam długi prefiks, wyląduje poniżej tych liczb.

Dla założonego obciążenia, z chybieniami cache:

Poza szczytem: 10 × 0,15 USD + 2 × 0,60 USD = 2,70 USD dziennie

W szczycie: 10 × 0,30 USD + 2 × 1,20 USD = 5,40 USD dziennie

W CheapTokens, dla tego samego rodzaju pętli agentowej, weź MiniMax-M2.7 (minimax-m2.7): jedna stała cena o każdej porze, bez okna szczytu, do 8 192 tokenów wyjściowych na odpowiedź, kontekst 180K i jedno saldo dla wszystkich modeli. Te same 10M tokenów wejściowych i 2M wyjściowych kosztują $0.80 dziennie. Ogólnie, licząc wejście i wyjście razem, jest taniej niż OpenRouter; oto aktualna tabela dla dokładnie tego obciążenia:

Model Koszt OpenRouter
GLM-5.3-Flash $0.28 $0.565
DeepSeek-V4-Flash $0.35 $0.789
MiniMax-M2.7 $0.80 $5.40

10 000 000 tokenów wejściowych i 2 000 000 tokenów wyjściowych łącznie. Ceny za 1 mln tokenów są aktualne i zmieniają się wraz z naszymi taryfami; kolumna OpenRouter pokazuje ceny referencyjne dla tego samego obciążenia.

Tabela odczytuje bieżący cennik przy każdym wyświetleniu, więc pozostaje poprawna, gdy ceny się zmieniają. Pełny cennik jest na stronie cenowej CheapTokens, a ceny API DeepSeek w 2026 wyjaśniają, jak trafienia cache i godziny szczytu zmieniają rachunek.

Kiedy własny sprzęt się opłaca?#

Lokalne tokeny nie kosztują nic za żądanie, ale maszyna kosztuje. Prosty sposób sprawdzenia:

text
payback days = hardware price ÷ (daily API bill − daily electricity)

Nie podaję tu ceny sprzętu, bo zmienia się zbyt mocno; wpisz tę, którą Ci zaproponowano. Aby wyrobić sobie wyobrażenie, weź rachunek poza szczytem z powyższej strony cenowej DeepSeek. Każde 1 000 USD sprzętu potrzebuje tylu dni rachunku API, by się zwrócić, przed prądem i Twoim czasem:

1 000 ÷ 2,70 = 370,4 dnia

I to zakłada, że maszyna w ogóle jest w stanie dostarczyć taki wolumen: przy 9,5 tokena na sekundę nie jest (patrz sekcja o prędkości powyżej), więc dla obciążenia agentowego zwrot się nie sumuje. Lokalnie ma więcej sensu, gdy:

  • dane nie mogą opuścić Twojej sieci, a to liczy się bardziej niż rachunek;
  • masz już tę maszynę, a obciążenie jest lekkie, powiedzmy kilkaset żądań dziennie dla osobistego narzędzia;
  • chcesz eksperymentować z samymi wagami: kwantyzacją, dostrajaniem, silnikiem według własnego wyboru.

API ma więcej sensu, gdy obciążenie to agent lub usługa, gdy potrzebujesz odpowiedzi w sekundach albo gdy Twój sprzęt jest poniżej powyższych rozmiarów pamięci. Jeśli Twoja maszyna jest za mała nawet dla najlżejszego pliku DeepSeek, MiniMax-M2.7 (kontekst 180K, do 8 192 tokenów wyjściowych na odpowiedź, ogólnie taniej niż OpenRouter) to model do wypróbowania przez tego samego klienta.

Przejście z lokalnego na hostowane API#

Projekty hobbystyczne często zaczynają się na Ollama, a potem z niej wyrastają. Dobra wiadomość: lokalne silniki mówią protokołem OpenAI. Strona zgodności Ollama (docs.ollama.com, sprawdzona 22 października 2026) pokazuje endpoint http://localhost:11434/v1/; klient potrzebuje jakiejś wartości api_key, ale Ollama ją ignoruje. Strumieniowanie, tryb JSON i narzędzia działają; logprobs nie.

Więc przełączenie to dwie linie plus nazwa modelu:

python
import os
from openai import OpenAI

# Local Ollama: the key is required by the client but ignored by the server
# client = OpenAI(base_url="http://localhost:11434/v1/", api_key="ollama")

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

reply = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",  # take the exact id from the CheapTokens docs
    messages=[{"role": "user", "content": "Summarize this ticket in one sentence: ..."}],
    max_tokens=200,
)
print(reply.choices[0].message.content)
print(reply.usage)

Gdy działa, widzisz podsumowanie w jednym zdaniu i obiekt usage z liczbą tokenów promptu i uzupełnienia, tymi samymi liczbami, z których budowany jest Twój rachunek. API CheapTokens akceptuje też format Anthropic Messages, a dokumentacja pokazuje pierwsze żądanie krok po kroku. Jeśli base_url jest dla Ciebie nowością, API zgodne z OpenAI: czym jest base_url zajmie dwie minuty.

Jeśli nie działa#

  • Connection refused na localhost:11434: Ollama nie działa albo nadal wskazujesz lokalny adres.
  • 401: brakuje klucza lub został skopiowany ze spacją; odczytaj go ze zmiennej środowiskowej, jak w przykładzie.
  • 404 lub nieznany model: identyfikator modelu się nie zgadza. Nazwy lokalne i hostowane się różnią, więc skopiuj identyfikator z dokumentacji.

Który wybrać#

Jeśli masz 128 GB lub więcej i jesteś ciekawy, uruchom wagi u siebie i ciesz się kontrolą. Jeśli budujesz agenta, który spala miliony tokenów dziennie, albo usługę, w której użytkownicy czekają na odpowiedź, użyj API, a lokalną konfigurację zachowaj do eksperymentów. Kod pozostaje ten sam w obu przypadkach, więc możesz zacząć od jednego i później przejść na drugi. Więcej o stronie self-hostingu znajdziesz w co DeepInfer oznacza dla self-hostingu; aby wypróbować DeepSeek przez API, zobacz modele DeepSeek w CheapTokens.