Skip to main content

Unified multi-provider LLM API (OpenAI, Anthropic, Google, etc.)

Project description

pig-llm

PyPI version Python

Unified multi-provider LLM API for Python.

Features

  • 🔌 Multi-provider support: OpenAI, Anthropic, Google, and more
  • 🎯 Unified interface: Same API across all providers
  • 🔄 Streaming support: Real-time token streaming
  • 🛡️ Error handling: Automatic retries and fallbacks
  • 📊 Usage tracking: Token counting and cost estimation

Installation

pip install pig-llm

Quick Start

from pig_llm import LLM

# Initialize with API key
llm = LLM(provider="openai", api_key="sk-...")

# Simple completion
response = llm.complete("What is the meaning of life?")
print(response.content)

# Streaming
for chunk in llm.stream("Tell me a story"):
    print(chunk.content, end="", flush=True)

# With system message
response = llm.complete(
    "Translate to Spanish",
    system="You are a helpful translator",
)

Supported Providers

Core Providers

  • OpenAI - GPT-4, GPT-3.5, etc.
  • Anthropic - Claude 3, Claude 2
  • Google - Gemini Pro, Gemini Ultra
  • Azure OpenAI - Azure-hosted OpenAI models

Additional Providers

  • Groq - Ultra-fast LLM inference
  • Mistral - Mistral AI models
  • OpenRouter - Access to multiple models
  • Amazon Bedrock - AWS-hosted foundation models
  • xAI (Grok) - xAI's Grok models
  • Cerebras - Fastest inference speeds
  • Cohere - Command models for enterprise
  • Perplexity - Search-augmented LLMs
  • DeepSeek - Chinese LLM with strong coding
  • Together AI - Open-source model hosting

Configuration

from pig_llm import LLM, Config

config = Config(
    provider="openai",
    model="gpt-4",
    temperature=0.7,
    max_tokens=1000,
    timeout=30,
)

llm = LLM(config=config)

Provider-Specific Examples

Amazon Bedrock

# Uses AWS credentials from environment
llm = LLM(provider="bedrock", api_key="us-east-1")  # region as api_key
response = llm.complete("Hello", model="anthropic.claude-3-sonnet-20240229-v1:0")

xAI (Grok)

llm = LLM(provider="xai", api_key="xai-...")
response = llm.complete("What's happening?", model="grok-beta")

Cerebras

llm = LLM(provider="cerebras", api_key="csk-...")
response = llm.complete("Fast inference!", model="llama3.1-8b")

Cohere

llm = LLM(provider="cohere", api_key="...")
response = llm.complete("Hello", model="command-r-plus")

Perplexity

llm = LLM(provider="perplexity", api_key="pplx-...")
response = llm.complete("What's the latest news?", model="llama-3.1-sonar-large-128k-online")
# Citations available in response.metadata["citations"]

DeepSeek

llm = LLM(provider="deepseek", api_key="...")
response = llm.complete("写一段Python代码", model="deepseek-chat")

Together AI

llm = LLM(provider="together", api_key="...")
response = llm.complete("Hello", model="meta-llama/Llama-3-70b-chat-hf")

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

pig_llm-0.1.1.tar.gz (51.7 kB view details)

Uploaded Source

Built Distribution

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

pig_llm-0.1.1-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file pig_llm-0.1.1.tar.gz.

File metadata

  • Download URL: pig_llm-0.1.1.tar.gz
  • Upload date:
  • Size: 51.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pig_llm-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8496299c4d72cfeb8143fbcabb52d5c25706bc37ceb8cfa4f428d750ebd72b12
MD5 a120728977ab39fc2be63a72cba82140
BLAKE2b-256 d2cdce07068782a267f67bddd9e6dd476fff20fe2f60732926986736fb3a94fe

See more details on using hashes here.

File details

Details for the file pig_llm-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pig_llm-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 50.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pig_llm-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 48912d21a533e71546d7e42e2b1ad0aec90a2aed13984e4f8388edce94011617
MD5 42222f3a86669b1940e7e80d60e2393b
BLAKE2b-256 dade28725c205753bbbb58ce39e6bb689e5f6033a98679eb13718f3de65a0906

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