Skip to main content

Lightweight helpers for AI prompts, summarization, and formatting.

Project description

csai-helper

Lightweight helpers for AI prompting, summarization, and response formatting. Ships with a pluggable provider interface and optional OpenAI provider.

Installation

From source (editable):

pip install -e .[dev]

For runtime only (from PyPI):

pip install csai-helper

Optional OpenAI support:

pip install "csai-helper[openai]"

Google Gemini support (requires GOOGLE_API_KEY and a model such as gemini-1.5-flash):

export GOOGLE_API_KEY=your-key
ai-helper --provider gemini --model gemini-1.5-flash ask "Hi"

Quickstart

from ai_helper import get_response, summarize_text, format_response
from ai_helper.providers.local import LocalProvider
from ai_helper.providers.gemini import GeminiProvider

provider = LocalProvider()
print(get_response("Hello, AI!", provider=provider))

gemini = GeminiProvider()
print(get_response("Say hi in 3 words", provider=gemini))

text = """Python is a popular programming language created by Guido van Rossum.
It is used for web development, data science, automation, and more."""
print(summarize_text(text, provider=provider, max_words=20))

print(format_response("  Hello\n\nWorld  "))

CLI

ai-helper ask "Tell me a joke"
ai-helper summarize "Long text here..." --max-words 30
ai-helper --provider gemini --model gemini-pro ask "Send me a haiku"

Set OPENAI_API_KEY in your environment to use the OpenAI provider:

export OPENAI_API_KEY=sk-...
ai-helper --provider openai --model gpt-4o-mini ask "Explain transformers in 2 sentences"

API

  • get_response(prompt, provider=None, **kwargs) → str
  • summarize_text(text, provider=None, max_words=120, **kwargs) → str
  • format_response(text) → str

Providers implement AIProvider.get_response(prompt, system_prompt=None, **kwargs).

Development

Run formatting and tests:

ruff check .
pytest

Publishing

  1. Build distributions:

    python -m build
    
  2. Upload to PyPI (requires twine):

    python -m pip install --upgrade twine
    twine upload dist/*
    

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csai_helper-0.1.2.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

csai_helper-0.1.2-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file csai_helper-0.1.2.tar.gz.

File metadata

  • Download URL: csai_helper-0.1.2.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for csai_helper-0.1.2.tar.gz
Algorithm Hash digest
SHA256 18a8045fd27ddc0b6c152586bdbfe4bd03944fcc27638eb220bde9107b59984d
MD5 0f5a2e710ab913f9c4565a6df78ea725
BLAKE2b-256 5dfd42971d8e0182a877c8a73e19fee62e49b438a71ba85ffb3feee334e5532a

See more details on using hashes here.

File details

Details for the file csai_helper-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: csai_helper-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for csai_helper-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d309cecffedf6cab08b4fe1659302352a485398b89e72cf59f7b53652369d770
MD5 1061ab93403f90f2caa0e1996cb6fe19
BLAKE2b-256 57a258bec3a00f79bd419684a94a48ff3d4d4aee9c45a2b1ac7deac6676eced0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page