Высокопроизводительный async Python клиент для приватного API DeepSeek. Поддерживает стриминг, загрузку изображений, многоходовые диалоги, регистрацию новых аккаунтов.
pip install aiodeepseekДля сборки C++-расширения нужен компилятор с поддержкой AVX2 и pybind11. Подробнее - в pow.md. Или можно скачать уже собранный релиз.
import asyncio
from aiodeepseek import DeepSeekClient
async def main():
async with DeepSeekClient(
email="myname@example.com",
password="password123"
) as client:
result = await client.ask("Привет!")
print(result.text)
asyncio.run(main())import asyncio
from aiodeepseek import DeepSeekClient
async def main():
async with DeepSeekClient(token="ВАШ_ТОКЕН") as client:
result = await client.ask("Привет!")
print(result.text)
asyncio.run(main())import asyncio
from aiodeepseek import DeepSeekClient
async def main():
async with DeepSeekClient(token="ВАШ_ТОКЕН") as client:
async for chunk in client.ask_stream(
prompt="Расскажи о Python"
):
print(chunk, end="", flush=True)
asyncio.run(main())import asyncio
from aiodeepseek import DeepSeekClient
async def main():
async with DeepSeekClient(token="ВАШ_ТОКЕН") as client:
chat = client.new_conversation()
print((await chat.ask("Как тебя зовут?")).text)
print((await chat.ask("А что ты умеешь?")).text)
asyncio.run(main())import asyncio
from pathlib import Path
from aiodeepseek import DeepSeekClient
async def main():
async with DeepSeekClient(token="ВАШ_ТОКЕН") as client:
img = await client.upload_image(Path("photo.jpg"))
result = await client.ask("Что на фото?", image=img)
print(result.text)
asyncio.run(main())или передав Path | bytes в ask:
import asyncio
from pathlib import Path
from aiodeepseek import DeepSeekClient
async def main():
async with DeepSeekClient(token="ВАШ_ТОКЕН") as client:
result = await client.ask(
prompt="Что на фото?",
image=Path("photo.jpg")
)
print(result.text)
asyncio.run(main())import asyncio
from aiodeepseek import DeepSeekClient
async def main():
await DeepSeekClient.send_reg_code("myname@example.com")
code = input("Код из письма: ")
token = await DeepSeekClient.confirm_reg_code("myname@example.com", "password123", code)
print("Токен:", token)
asyncio.run(main())from aiodeepseek import DeepSeekClient
from aiodeepseek.types.enums import ModelType
async with DeepSeekClient(
token="...",
model=ModelType.VISION
) as client:
...| Значение | Описание |
|---|---|
ModelType.DEFAULT |
Стандартная языковая модель |
ModelType.EXPERT |
Модель с глубоким мышлением |
ModelType.VISION |
Модель с поддержкой машинного зрения |
import asyncio
from aiodeepseek import DeepSeekClient
from aiodeepseek.types.exceptions import AuthorizationError, DeepSeekError
async def main():
try:
async with DeepSeekClient(token="невалидный") as client:
await client.ask("Привет")
except AuthorizationError:
print("Токен недействителен")
except DeepSeekError as e:
print(f"Ошибка API: {e}")
asyncio.run(main())Перед каждым запросом клиент автоматически решает PoW-задачу, выдаваемую сервером DeepSeek. Типичная сложность - 144 000 итераций. Расчёт реализован на C++ с использованием AVX2, что делает его малозаметным на практике. Подробнее - в pow.md.
- DeepSeekClient - методы клиента
- Conversation - многоходовой диалог
- Типы и модели данных
- Исключения
- Proof-of-Work
- Python 3.9+
aiohttp >= 3.9- Компилятор C++17 с AVX2 (для сборки расширения) или вручную скачанные колеса.