Skip to main content

PromptStorage 🚀

Назначение

Библиотека prompt-storage предназначена для ускорения разработки проектов путем распараллеливания процессов создания кода и работы промпт-инженеров.

Элегантное решение для управления промптами из Google Docs с кешированием и шаблонизацией

PromptStorage – это мощная и гибкая библиотека, которая превращает Google Docs в вашу персональную базу промптов для работы с языковыми моделями. Забудьте о хардкоде промптов в коде или о сложных системах управления контентом – используйте знакомый всем Google Docs для создания, редактирования и управления промптами в удобном интерфейсе!

🌟 Основные преимущества

  • Интеграция с Google Docs – храните промпты там, где их удобно редактировать
  • Интеллектуальное кеширование – мгновенный доступ к промптам даже без интернета
  • Гибкая шаблонизация – поддержка Jinja2 и Mako для динамического контента
  • Встроенная интеграция с FastAPI – создавайте API для промптов за минуты
  • Простота использования – получение и обработка промптов всего за несколько строк кода
  • Оптимизация производительности – кеширование минимизирует запросы к API

📦 Установка

Базовая установка

pip install prompt-storage

Установка с поддержкой API (FastAPI)

pip install "prompt-storage[api]"

Установка в Google Colab (избегая конфликтов)

!pip install --no-dependencies prompt-storage
!pip install google-api-python-client google-auth google-auth-oauthlib python-docx jinja2 mako
# Для работы с API:
# !pip install fastapi

🚀 Быстрый старт

from prompt_storage import PromptStorage
from prompt_storage.template_processor import TemplateProcessor

# Инициализация хранилища промптов
storage = PromptStorage(
    credentials_path="credentials.json",
    token_path="token.json",
    cache_dir="./cache"
)

# Получение промпта по ID документа
prompt = storage.get_prompt("your_google_doc_id")

# Обработка промпта как шаблона
template_processor = TemplateProcessor()
processed_prompt = template_processor.process_template(
    prompt, 
    {"variable": "value", "user_name": "Иван"},
    template_engine="jinja2"
)

print(processed_prompt)

💡 Ключевые возможности

Google Docs Processor

from prompt_storage import GoogleDocsProcessor

# Инициализация процессора Google Docs
processor = GoogleDocsProcessor(
    credentials_path="credentials.json",
    token_path="token.json"
)

# Загрузка документа
document = processor.get_document("your_google_doc_id")

# Извлечение текста
text = processor.extract_text(document)

Управление кешем

from prompt_storage import GoogleDocsCacheManager

# Инициализация менеджера кеша
cache_manager = GoogleDocsCacheManager(cache_dir="./cache")

# Сохранение в кеш
cache_manager.save_to_cache("doc_id", "document_content")

# Проверка наличия в кеше
is_cached = cache_manager.is_cached("doc_id")

# Получение из кеша
content = cache_manager.get_from_cache("doc_id")

Шаблонизация

from prompt_storage import TemplateProcessor

# Инициализация процессора шаблонов
template_processor = TemplateProcessor()

# Jinja2 шаблонизация
jinja_result = template_processor.process_template(
    "Привет, {{ user_name }}! Ваш баланс: {{ balance }}.",
    {"user_name": "Иван", "balance": "1000₽"},
    "jinja2"
)

# Mako шаблонизация
mako_result = template_processor.process_template(
    "Привет, ${user_name}! Ваш баланс: ${balance}.",
    {"user_name": "Иван", "balance": "1000₽"},
    "mako"
)

🔧 Настройка доступа к Google API

  1. Создайте проект в Google Cloud Console
  2. Включите Google Docs API для вашего проекта
  3. Создайте учетные данные OAuth2 и скачайте файл credentials.json
  4. При первом запуске библиотеки, будет запрошена авторизация через браузер

📊 Варианты использования

  • Управление промптами для LLM – централизованное хранение и версионирование промптов
  • Создание многоязычных интерфейсов – шаблоны с поддержкой переменных для локализации
  • Системы генерации контента – динамические промпты для создания разнообразного контента
  • Автоматизация рутинных задач – промпты для различных бизнес-процессов

📜 Лицензия

MIT


Упростите управление промптами уже сегодня! 🚀

Metadata

Release files for prompt-storage 0.1.7.post17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for prompt-storage 0.1.7.post17
File Size Uploaded Provenance Actions
prompt_storage-0.1.7.post17.tar.gz 13.2 kB Without provenance Details for prompt_storage-0.1.7.post17.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for prompt-storage 0.1.7.post17
File Interpreter ABI Platform Actions
prompt_storage-0.1.7.post17-py3-none-any.whl Python 3 none any Details for prompt_storage-0.1.7.post17-py3-none-any.whl

Total release size: 27.2 kB

Release files / prompt_storage-0.1.7.post17.tar.gz

Download URL prompt_storage-0.1.7.post17.tar.gz
Size 13.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2fbb0b32469be4c631519c6dfb988eaa889dc6d5e523e817c82de01cec2afc06
BLAKE2b-256 checksum
How to use checksums
b6bdffda2dafe95e6d7a6c3048c886b39a5dc3622b2e02cfabbda1298ee44b45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release files / prompt_storage-0.1.7.post17-py3-none-any.whl

Download URL prompt_storage-0.1.7.post17-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d7be53e45835bcc0da5e25348ad26faffa6381bd254f189b6cf5d4545b2c1f7
BLAKE2b-256 checksum
How to use checksums
cf99ee6dfe86602aa234e8ee17db3066e08c2b76fd2679b8c19df05f9af6c2b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Security for prompt-storage 0.1.7.post17

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.7.post17 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page