Легковесный Python SDK для валидации LLM запросов через Shieldmind API
Project description
Shieldmind Client SDK
Легковесный Python SDK для валидации LLM запросов через Shieldmind API.
Этот SDK содержит только методы для проверки безопасности запросов к LLM API и получения информации о лимитах.
Установка
pip install shieldmind-client-sdk
Использование
Базовая валидация запроса
from shieldmind_client_sdk import ShieldmindClient
# Инициализация клиента
client = ShieldmindClient(
base_url="https://api.shieldmind.pro", # URL вашего Shieldmind API
api_key="your-api-key" # Опционально, можно использовать публичный доступ
)
# Проверка запроса на угрозы
result = client.check_llm(
api_url="https://api.openai.com/v1/chat/completions",
request_body={
"messages": [
{"role": "user", "content": "Привет, как дела?"}
]
}
)
# Проверка результата
if result.isSafe:
print(f"✅ Запрос безопасен! Оценка: {result.score}/100")
else:
print(f"⚠️ Обнаружены угрозы:")
for threat in result.threats:
print(f" - {threat.type}: {threat.description} (severity: {threat.severity})")
# Информация о лимитах
print(f"Осталось проверок: {result.remaining}/{result.limit}")
Получение информации об оставшихся проверках
remaining = client.get_remaining_checks()
print(f"Осталось проверок: {remaining.remaining}/{remaining.limit}")
print(f"Окно лимита: {remaining.window}")
API
ShieldmindClient
Конструктор
ShieldmindClient(
base_url: str = "http://localhost:3001",
api_key: Optional[str] = None
)
Методы
check_llm(api_url, request_body, api_key=None, model=None) -> ValidationResult
Проверяет запрос к LLM API на угрозы безопасности.
Параметры:
api_url(str): URL LLM APIrequest_body(dict): Тело запроса к LLM APIapi_key(str, optional): API ключ LLM (если требуется для проверки ответа)model(str, optional): Название модели
Возвращает: ValidationResult с результатами проверки
get_remaining_checks() -> RemainingChecks
Получает информацию об оставшихся проверках.
Возвращает: RemainingChecks с информацией о лимитах
Модели данных
ValidationResult
Результат валидации запроса.
isSafe(bool): Безопасен ли запросthreats(List[Threat]): Список обнаруженных угрозscore(int): Оценка безопасности (0-100, где 100 - полностью безопасно)remaining(int, optional): Оставшееся количество проверокlimit(int, optional): Лимит проверокwindow(str, optional): Окно лимита ('day' | 'second')similarPrompts(List[dict], optional): Похожие промпты
Threat
Описание угрозы.
type(str): Тип угрозыseverity(str): Уровень серьезности ('low' | 'medium' | 'high' | 'critical')description(str): Описание угрозыfoundIn(str): Где обнаружена ('request' | 'response')details(dict, optional): Дополнительные детали
RemainingChecks
Информация об оставшихся проверках.
remaining(int): Оставшееся количество проверокlimit(int): Лимит проверокwindow(str): Окно лимита ('day' | 'second')
Исключения
ShieldmindException: Базовое исключениеShieldmindAuthError: Ошибка аутентификацииShieldmindAPIError: Ошибка APIShieldmindRateLimitError: Превышен лимит запросовShieldmindValidationError: Ошибка валидации данных
Отличия от основного SDK
Этот SDK содержит только методы для валидации запросов. Он не включает:
- Методы управления аккаунтом (регистрация, вход)
- Методы управления API-ключами
- Методы проксирования запросов
- Методы управления проектами и политиками
Для полного функционала используйте основной shieldmind-sdk.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shieldmind_client_sdk-0.1.0.tar.gz.
File metadata
- Download URL: shieldmind_client_sdk-0.1.0.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a51f505b8c908d97f3fc59b2a85c7d2c5d2ff660d0e6e15d9eaab908273b949d
|
|
| MD5 |
4b3932934e9f3777870f0c99d4e70f96
|
|
| BLAKE2b-256 |
2db971bb328cfeac4c5439bca98df78811adddcb4d9985f6486b4ae575423d38
|
File details
Details for the file shieldmind_client_sdk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: shieldmind_client_sdk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ec5c205ca1216946ad76e6f27ee9406ff678de6b67f16a0a2f677cba36503a2
|
|
| MD5 |
e33e0ad043a49636d6488794a9ee5244
|
|
| BLAKE2b-256 |
23ea396298aff4f5348e352973dd6b8cf514d012145564320113ad79399956d8
|