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-sdk

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.1.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.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: miapi_sdk-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 9818fae039f53b292ef4af01777add43535de6559fc32ffcf6210345452869dd
MD5 f0b9bfc29ea8cb98c9a24e676bc007ea
BLAKE2b-256 e677891bb1b967f1376d7dafa5a51478e56d9e6808e31c835423351ff662bf00

See more details on using hashes here.

File details

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

File metadata

  • Download URL: miapi_sdk-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3788a1827db78b078e75017a4582879f5d8cf5ab7e51aa6be343223dad06e842
MD5 b2771436569f9f867e63ce1451098cbd
BLAKE2b-256 3a0692d1dd0b4e2954793233b9d761bdcddf9192cfcdf932bd0813e352557f53

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