Skip to main content

Official Python client for MIAPI — Grounded AI Answers API

Project description

MIAPI — Grounded AI Answers API

Official Python client for MIAPI — get AI-powered answers grounded in real-time web search.

Install

pip install miapi

Quick Start

from miapi import MIAPI

client = MIAPI("YOUR_API_KEY")

# Get a grounded answer with citations
result = client.answer("What is quantum computing?", citations=True)
print(result.answer)     # AI-generated answer with [1][2] markers
print(result.sources)    # List of source URLs
print(result.confidence) # 0.0 - 1.0

Features

Web-Grounded Answers

result = client.answer("Who won the last World Cup?")
print(result.answer)

Knowledge Mode — Answer From Your Data

result = client.answer(
    "What is the return policy?",
    mode="knowledge",
    knowledge="Returns accepted within 30 days with receipt..."
)
print(result.answer)

Search Only — Raw Results

sources = client.search("latest AI research papers")
for source in sources:
    print(source.title, source.url)

News Search

news = client.news("technology", num_results=5)
for article in news:
    print(article.title, article.date)

Image Search

images = client.images("golden retriever")
for img in images:
    print(img.url, img.width, img.height)

Streaming

for event in client.stream("Explain quantum computing"):
    if event['type'] == 'answer':
        print(event['content'], end='', flush=True)
    elif event['type'] == 'done':
        print(f"\nDone in {event.get('query_time_ms')}ms")

Check Usage

info = client.usage()
print(f"Used {info.queries_this_month}/{info.monthly_limit} this month")
print(f"Tier: {info.tier}")

Custom Options

result = client.answer(
    "Compare Python and Rust",
    response_format="markdown",   # text, short, json, markdown
    temperature=0.5,              # 0.0 (precise) to 1.0 (creative)
    max_tokens=800,               # Max answer length
    language="French",            # Answer in any language
    search_domains=["wikipedia.org"],  # Restrict sources
    system_prompt="Answer like a professor",
)

Error Handling

from miapi import MIAPI, MIAPIError, RateLimitError, AuthenticationError

client = MIAPI("YOUR_API_KEY")

try:
    result = client.answer("Hello")
except AuthenticationError:
    print("Bad API key")
except RateLimitError as e:
    print(f"Rate limited: {e.message}")
except MIAPIError as e:
    print(f"Error: {e.message} (HTTP {e.status_code})")

OpenAI Drop-in Replacement

MIAPI is also compatible with the OpenAI Python client:

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_MIAPI_KEY",
    base_url="https://api.miapi.uk/v1"
)

response = client.chat.completions.create(
    model="miapi-grounded",
    messages=[{"role": "user", "content": "What is AI?"}]
)
print(response.choices[0].message.content)

Get Your API Key

Sign up free at miapi.uk — 500 queries/month included.

Links

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

miapi_sdk-1.0.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

miapi_sdk-1.0.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file miapi_sdk-1.0.0.tar.gz.

File metadata

  • Download URL: miapi_sdk-1.0.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for miapi_sdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3aa5895e9af663cc61c834cf094bd1a164f5656b1cba92b91923887bd6a49d8b
MD5 0455390201c62e8da624f3e57f269797
BLAKE2b-256 ba3bb73298ad185fce813b9af33464555a0844976b8df69de379e77b8f07fe2b

See more details on using hashes here.

File details

Details for the file miapi_sdk-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: miapi_sdk-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for miapi_sdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d412fa9f134e30c4a7aaed271c6a32a83cd6eee367e89eb3b044195e6e2d295f
MD5 31e16327c8dfc863fe891be924e64330
BLAKE2b-256 0650531f431586d43d463df2fdf1a09a1eec539d6c768aeb93ce1c2434197ddc

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