agentrouter-sdk


Nameagentrouter-sdk JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryПростой SDK для работы с AgentRouter API
upload_time2025-10-25 19:11:08
maintainerNone
docs_urlNone
authorAgentRouter Team
requires_python>=3.7
licenseMIT
keywords ai api agentrouter llm deepseek
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AgentRouter SDK

Библиотека для общения с AI моделями через AgentRouter API

## Быстрый старт

### 1. Установка
```bash
pip install agentrouter-sdk
```

### 2. Подключение
```python
from client import AgentRouter

client = AgentRouter(api_key="ваш-ключ")
```

### 3. Задать вопрос AI
```python
ответ = client.ask("Привет, как дела?")
print(ответ)
```

Готово! 🎉

---

## Основные функции

### `ask()` - Простой вопрос-ответ
Задайте вопрос, получите текстовый ответ.

**Параметры:**
- `question` - ваш вопрос (текст)
- `model` - название AI модели (по умолчанию: `"deepseek-v3.2"`)
- `temperature` - креативность ответа от 0 до 2 (по умолчанию: `0.7`)
- `max_tokens` - максимальная длина ответа (по умолчанию: `1000`)

**Пример:**
```python
ответ = client.ask(
    question="Что такое Python?",
    model="deepseek-v3.2",
    temperature=0.5,
    max_tokens=200
)
```

---

### `chat()` - Диалог с историей
Ведите беседу с AI, сохраняя контекст предыдущих сообщений.

**Параметры:**
- `messages` - список сообщений или одна строка
- `model` - название AI модели
- `temperature` - креативность (0-2)
- `max_tokens` - максимальная длина ответа
- `stream` - потоковый режим (True/False)

**Пример:**
```python
история = [
    {"role": "user", "content": "Привет!"},
    {"role": "assistant", "content": "Здравствуйте!"},
    {"role": "user", "content": "Расскажи про Python"}
]

response = client.chat(история, max_tokens=300)
print(response.choices[0].message.content)
```

---

### `stream()` - Получение ответа частями
AI отвечает постепенно, слово за словом (как ChatGPT в браузере).

**Параметры:**
- `messages` - ваш вопрос или список сообщений
- `model` - название AI модели
- `temperature` - креативность (0-2)
- `max_tokens` - максимальная длина ответа

**Пример:**
```python
for часть in client.stream("Напиши стихотворение про код"):
    print(часть, end="", flush=True)
```

---

### `list_models()` - Список доступных AI моделей
Узнайте, какие модели можно использовать.

**Пример:**
```python
модели = client.list_models()
print(модели)  # ['deepseek-v3.2', 'gpt-5', 'glm-4.6', ...]
```

---

### `count_tokens()` - Подсчет использованных токенов
Узнайте, сколько "слов" использовалось в запросе и ответе.

**Пример:**
```python
response = client.chat("Привет!")
токены = client.count_tokens(response)
print(f"Всего токенов: {токены['total']}")
```

---

## Полный пример

```python
from agentrouter import AgentRouter

# Подключаемся
client = AgentRouter(api_key="ваш-ключ")

# Простой вопрос
ответ = client.ask("Напиши Hello World на Python")
print(ответ)

# Узнаем доступные модели
модели = client.list_models()
print("Доступны модели:", модели)

# Потоковый ответ
print("AI отвечает: ", end="")
for часть in client.stream("Расскажи анекдот", max_tokens=100):
    print(часть, end="", flush=True)
```

---

## Дополнительные настройки (опционально)

Обычно достаточно указать только API ключ. Но можно изменить настройки:

```python
client = AgentRouter(
    api_key="ваш-ключ"           # только это обязательно!
    
    # Остальное можно не трогать, работает по умолчанию:
    # base_url="https://agentrouter.org/v1"
    # referer="https://github.com/RooVetGit/Roo-Cline"
    # title="Roo Code"
    # user_agent="RooCode/1.0.0"
)
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "agentrouter-sdk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "ai, api, agentrouter, llm, deepseek",
    "author": "AgentRouter Team",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/5a/be/a6baf020227a0a5fbfb4fce7e905d33933bf035a0f972b72e774cb65167d/agentrouter_sdk-0.1.1.tar.gz",
    "platform": null,
    "description": "# AgentRouter SDK\r\n\r\n\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441 AI \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 AgentRouter API\r\n\r\n## \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442\r\n\r\n### 1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n```bash\r\npip install agentrouter-sdk\r\n```\r\n\r\n### 2. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\r\n```python\r\nfrom client import AgentRouter\r\n\r\nclient = AgentRouter(api_key=\"\u0432\u0430\u0448-\u043a\u043b\u044e\u0447\")\r\n```\r\n\r\n### 3. \u0417\u0430\u0434\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 AI\r\n```python\r\n\u043e\u0442\u0432\u0435\u0442 = client.ask(\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043a\u0430\u043a \u0434\u0435\u043b\u0430?\")\r\nprint(\u043e\u0442\u0432\u0435\u0442)\r\n```\r\n\r\n\u0413\u043e\u0442\u043e\u0432\u043e! \ud83c\udf89\r\n\r\n---\r\n\r\n## \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\r\n\r\n### `ask()` - \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441-\u043e\u0442\u0432\u0435\u0442\r\n\u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u0432\u043e\u043f\u0440\u043e\u0441, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u043e\u0442\u0432\u0435\u0442.\r\n\r\n**\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:**\r\n- `question` - \u0432\u0430\u0448 \u0432\u043e\u043f\u0440\u043e\u0441 (\u0442\u0435\u043a\u0441\u0442)\r\n- `model` - \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 AI \u043c\u043e\u0434\u0435\u043b\u0438 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: `\"deepseek-v3.2\"`)\r\n- `temperature` - \u043a\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0442 0 \u0434\u043e 2 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: `0.7`)\r\n- `max_tokens` - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: `1000`)\r\n\r\n**\u041f\u0440\u0438\u043c\u0435\u0440:**\r\n```python\r\n\u043e\u0442\u0432\u0435\u0442 = client.ask(\r\n    question=\"\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Python?\",\r\n    model=\"deepseek-v3.2\",\r\n    temperature=0.5,\r\n    max_tokens=200\r\n)\r\n```\r\n\r\n---\r\n\r\n### `chat()` - \u0414\u0438\u0430\u043b\u043e\u0433 \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439\r\n\u0412\u0435\u0434\u0438\u0442\u0435 \u0431\u0435\u0441\u0435\u0434\u0443 \u0441 AI, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.\r\n\r\n**\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:**\r\n- `messages` - \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0438\u043b\u0438 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430\r\n- `model` - \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 AI \u043c\u043e\u0434\u0435\u043b\u0438\r\n- `temperature` - \u043a\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c (0-2)\r\n- `max_tokens` - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043e\u0442\u0432\u0435\u0442\u0430\r\n- `stream` - \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0439 \u0440\u0435\u0436\u0438\u043c (True/False)\r\n\r\n**\u041f\u0440\u0438\u043c\u0435\u0440:**\r\n```python\r\n\u0438\u0441\u0442\u043e\u0440\u0438\u044f = [\r\n    {\"role\": \"user\", \"content\": \"\u041f\u0440\u0438\u0432\u0435\u0442!\"},\r\n    {\"role\": \"assistant\", \"content\": \"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!\"},\r\n    {\"role\": \"user\", \"content\": \"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0438 \u043f\u0440\u043e Python\"}\r\n]\r\n\r\nresponse = client.chat(\u0438\u0441\u0442\u043e\u0440\u0438\u044f, max_tokens=300)\r\nprint(response.choices[0].message.content)\r\n```\r\n\r\n---\r\n\r\n### `stream()` - \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u0447\u0430\u0441\u0442\u044f\u043c\u0438\r\nAI \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e, \u0441\u043b\u043e\u0432\u043e \u0437\u0430 \u0441\u043b\u043e\u0432\u043e\u043c (\u043a\u0430\u043a ChatGPT \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435).\r\n\r\n**\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:**\r\n- `messages` - \u0432\u0430\u0448 \u0432\u043e\u043f\u0440\u043e\u0441 \u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439\r\n- `model` - \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 AI \u043c\u043e\u0434\u0435\u043b\u0438\r\n- `temperature` - \u043a\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c (0-2)\r\n- `max_tokens` - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043e\u0442\u0432\u0435\u0442\u0430\r\n\r\n**\u041f\u0440\u0438\u043c\u0435\u0440:**\r\n```python\r\nfor \u0447\u0430\u0441\u0442\u044c in client.stream(\"\u041d\u0430\u043f\u0438\u0448\u0438 \u0441\u0442\u0438\u0445\u043e\u0442\u0432\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u043e \u043a\u043e\u0434\"):\r\n    print(\u0447\u0430\u0441\u0442\u044c, end=\"\", flush=True)\r\n```\r\n\r\n---\r\n\r\n### `list_models()` - \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 AI \u043c\u043e\u0434\u0435\u043b\u0435\u0439\r\n\u0423\u0437\u043d\u0430\u0439\u0442\u0435, \u043a\u0430\u043a\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c.\r\n\r\n**\u041f\u0440\u0438\u043c\u0435\u0440:**\r\n```python\r\n\u043c\u043e\u0434\u0435\u043b\u0438 = client.list_models()\r\nprint(\u043c\u043e\u0434\u0435\u043b\u0438)  # ['deepseek-v3.2', 'gpt-5', 'glm-4.6', ...]\r\n```\r\n\r\n---\r\n\r\n### `count_tokens()` - \u041f\u043e\u0434\u0441\u0447\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0442\u043e\u043a\u0435\u043d\u043e\u0432\r\n\u0423\u0437\u043d\u0430\u0439\u0442\u0435, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \"\u0441\u043b\u043e\u0432\" \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0438 \u043e\u0442\u0432\u0435\u0442\u0435.\r\n\r\n**\u041f\u0440\u0438\u043c\u0435\u0440:**\r\n```python\r\nresponse = client.chat(\"\u041f\u0440\u0438\u0432\u0435\u0442!\")\r\n\u0442\u043e\u043a\u0435\u043d\u044b = client.count_tokens(response)\r\nprint(f\"\u0412\u0441\u0435\u0433\u043e \u0442\u043e\u043a\u0435\u043d\u043e\u0432: {\u0442\u043e\u043a\u0435\u043d\u044b['total']}\")\r\n```\r\n\r\n---\r\n\r\n## \u041f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440\r\n\r\n```python\r\nfrom agentrouter import AgentRouter\r\n\r\n# \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f\r\nclient = AgentRouter(api_key=\"\u0432\u0430\u0448-\u043a\u043b\u044e\u0447\")\r\n\r\n# \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441\r\n\u043e\u0442\u0432\u0435\u0442 = client.ask(\"\u041d\u0430\u043f\u0438\u0448\u0438 Hello World \u043d\u0430 Python\")\r\nprint(\u043e\u0442\u0432\u0435\u0442)\r\n\r\n# \u0423\u0437\u043d\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\r\n\u043c\u043e\u0434\u0435\u043b\u0438 = client.list_models()\r\nprint(\"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043c\u043e\u0434\u0435\u043b\u0438:\", \u043c\u043e\u0434\u0435\u043b\u0438)\r\n\r\n# \u041f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0439 \u043e\u0442\u0432\u0435\u0442\r\nprint(\"AI \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442: \", end=\"\")\r\nfor \u0447\u0430\u0441\u0442\u044c in client.stream(\"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0438 \u0430\u043d\u0435\u043a\u0434\u043e\u0442\", max_tokens=100):\r\n    print(\u0447\u0430\u0441\u0442\u044c, end=\"\", flush=True)\r\n```\r\n\r\n---\r\n\r\n## \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e)\r\n\r\n\u041e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e API \u043a\u043b\u044e\u0447. \u041d\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:\r\n\r\n```python\r\nclient = AgentRouter(\r\n    api_key=\"\u0432\u0430\u0448-\u043a\u043b\u044e\u0447\"           # \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e!\r\n    \r\n    # \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0442\u044c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e:\r\n    # base_url=\"https://agentrouter.org/v1\"\r\n    # referer=\"https://github.com/RooVetGit/Roo-Cline\"\r\n    # title=\"Roo Code\"\r\n    # user_agent=\"RooCode/1.0.0\"\r\n)\r\n```\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "\u041f\u0440\u043e\u0441\u0442\u043e\u0439 SDK \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 AgentRouter API",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/roman-prizrakjj/agentrouter",
        "Repository": "https://github.com/roman-prizrakjj/agentrouter"
    },
    "split_keywords": [
        "ai",
        " api",
        " agentrouter",
        " llm",
        " deepseek"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0fbec4ab68ab062f8633b223b0b1ab69ae42126f3439832624e7397696faa078",
                "md5": "0a77495bd5702c288236bed88a4191e0",
                "sha256": "a8c8fd7add946ba700d583c07edf95270ff485a5ef7ac62a791114b7a97d7ca9"
            },
            "downloads": -1,
            "filename": "agentrouter_sdk-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0a77495bd5702c288236bed88a4191e0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 5521,
            "upload_time": "2025-10-25T19:11:07",
            "upload_time_iso_8601": "2025-10-25T19:11:07.352518Z",
            "url": "https://files.pythonhosted.org/packages/0f/be/c4ab68ab062f8633b223b0b1ab69ae42126f3439832624e7397696faa078/agentrouter_sdk-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5abea6baf020227a0a5fbfb4fce7e905d33933bf035a0f972b72e774cb65167d",
                "md5": "5671572280272c0cf7ff8f29d823aa8a",
                "sha256": "4f45d8ca6db9a3dbb3f32b773c6ebd36e2be4feacfece4ebb2c176d2c613c4d2"
            },
            "downloads": -1,
            "filename": "agentrouter_sdk-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "5671572280272c0cf7ff8f29d823aa8a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 5032,
            "upload_time": "2025-10-25T19:11:08",
            "upload_time_iso_8601": "2025-10-25T19:11:08.380296Z",
            "url": "https://files.pythonhosted.org/packages/5a/be/a6baf020227a0a5fbfb4fce7e905d33933bf035a0f972b72e774cb65167d/agentrouter_sdk-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-25 19:11:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "roman-prizrakjj",
    "github_project": "agentrouter",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "agentrouter-sdk"
}
        
Elapsed time: 2.59443s