Skip to content

feat: add Zaps.ai as a first-class provider#88

Open
argosautomation wants to merge 1 commit intolfnovo:mainfrom
argosautomation:feat/add-zaps-provider
Open

feat: add Zaps.ai as a first-class provider#88
argosautomation wants to merge 1 commit intolfnovo:mainfrom
argosautomation:feat/add-zaps-provider

Conversation

@argosautomation
Copy link

Summary

Adds Zaps.ai as a first-class provider in Esperanto, covering Language Models and Embeddings.

Zaps.ai is a privacy gateway — requests are routed through Zaps for automatic PII redaction before being forwarded to the upstream provider (OpenAI, Anthropic, etc.). It exposes an OpenAI-compatible API.

Changes

New Files

  • src/esperanto/providers/llm/zaps.pyZapsLanguageModel (extends OpenAILanguageModel)
  • src/esperanto/providers/embedding/zaps.pyZapsEmbeddingModel (extends OpenAIEmbeddingModel)

Modified Files

  • src/esperanto/factory.py — Registered zaps in language and embedding provider modules
  • src/esperanto/model_discovery.py — Added get_zaps_models() discovery function + registry entry

Configuration

Env Variable Description Default
ZAPS_API_KEY API key for Zaps.ai (required)
ZAPS_BASE_URL Base URL https://api.zaps.ai/v1

Usage

from esperanto.factory import AIFactory

# Language Model
model = AIFactory.create_language('zaps', 'gpt-4o')
response = model.chat_complete([{'role': 'user', 'content': 'Hello!'}])

# Embeddings
embedder = AIFactory.create_embedding('zaps', 'text-embedding-3-small')
vectors = embedder.embed(['Privacy is important'])

Testing

All factory registration and provider instantiation tests pass locally.

Zaps.ai is a privacy gateway that routes AI requests through a PII
redaction layer before forwarding to upstream providers.

Changes:
- Add ZapsLanguageModel (LLM provider) extending OpenAILanguageModel
- Add ZapsEmbeddingModel extending OpenAIEmbeddingModel
- Register both in AIFactory._provider_modules
- Add get_zaps_models() to model_discovery

Config: ZAPS_API_KEY env var, default base_url https://api.zaps.ai/v1
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

@lfnovo
Copy link
Owner

lfnovo commented Feb 26, 2026

Is there a reason why this cannot be done through the openai compatible provider instead?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants