|
1 | 1 | """ |
2 | 2 | Ethicore Engine™ - Guardian SDK - Providers Package |
3 | 3 | AI provider integrations for Guardian SDK |
4 | | -""" |
5 | 4 |
|
6 | | -# This makes the providers directory a proper Python package. |
7 | | -# Providers are importable either directly from their module or from here. |
| 5 | +Supported providers: |
| 6 | + Local / self-hosted: |
| 7 | + LM Studio, llama.cpp, LocalAI, Jan.ai — local_openai_compat_provider |
| 8 | + Ollama — guardian_ollama_provider |
| 9 | +
|
| 10 | + Cloud (OpenAI-compatible API): |
| 11 | + xAI / Grok — xai_provider |
| 12 | + DeepSeek — deepseek_provider |
| 13 | + Mistral AI — mistral_provider |
| 14 | + Perplexity — perplexity_provider |
| 15 | +
|
| 16 | + Cloud (native API): |
| 17 | + OpenAI — openai_provider |
| 18 | + Anthropic — anthropic_provider |
| 19 | + Google Gemini — gemini_provider |
| 20 | + Azure OpenAI — azure_provider |
| 21 | + AWS Bedrock — bedrock_provider |
| 22 | +
|
| 23 | + Meta-provider: |
| 24 | + LiteLLM (140+ backends) — litellm_provider |
| 25 | +
|
| 26 | + Framework integrations: |
| 27 | + LangChain callback — langchain_callback |
| 28 | +""" |
8 | 29 |
|
9 | | -__version__ = "1.0.0" |
| 30 | +__version__ = "1.1.0" |
10 | 31 |
|
11 | 32 | # ── Local OpenAI-compatible providers ──────────────────────────────────────── |
12 | | -# LM Studio, llama.cpp server, LocalAI, Jan.ai — all share the same |
13 | | -# OpenAI-compatible REST API, covered by a single implementation. |
14 | 33 | from .local_openai_compat_provider import ( |
15 | 34 | LocalOpenAICompatConfig, |
16 | 35 | LocalOpenAICompatProvider, |
|
31 | 50 | LocalProviderError, |
32 | 51 | ) |
33 | 52 |
|
| 53 | +# ── DeepSeek provider ───────────────────────────────────────────────────────── |
| 54 | +from .deepseek_provider import ( |
| 55 | + DeepSeekProvider, |
| 56 | + ProtectedDeepSeekClient, |
| 57 | + create_protected_deepseek_client, |
| 58 | + DEEPSEEK_BASE_URL, |
| 59 | + DEEPSEEK_MODELS, |
| 60 | +) |
| 61 | + |
| 62 | +# ── Mistral AI provider ─────────────────────────────────────────────────────── |
| 63 | +from .mistral_provider import ( |
| 64 | + MistralProvider, |
| 65 | + ProtectedMistralClient, |
| 66 | + create_protected_mistral_client, |
| 67 | + MISTRAL_BASE_URL, |
| 68 | + MISTRAL_MODELS, |
| 69 | +) |
| 70 | + |
| 71 | +# ── Perplexity provider ─────────────────────────────────────────────────────── |
| 72 | +from .perplexity_provider import ( |
| 73 | + PerplexityProvider, |
| 74 | + ProtectedPerplexityClient, |
| 75 | + create_protected_perplexity_client, |
| 76 | + PERPLEXITY_BASE_URL, |
| 77 | + PERPLEXITY_MODELS, |
| 78 | +) |
| 79 | + |
34 | 80 | __all__ = [ |
35 | | - # Config |
| 81 | + # ── Local OpenAI-compatible ─────────────────────────────────────────────── |
36 | 82 | "LocalOpenAICompatConfig", |
37 | | - # Base provider |
38 | 83 | "LocalOpenAICompatProvider", |
39 | | - # Named providers |
40 | 84 | "LMStudioProvider", |
41 | 85 | "LlamaCppProvider", |
42 | 86 | "LocalAIProvider", |
43 | 87 | "JanAIProvider", |
44 | | - # Wrapped clients |
45 | 88 | "ProtectedLocalClient", |
46 | 89 | "ProtectedAsyncLocalClient", |
47 | | - # Convenience factories |
48 | 90 | "create_protected_lmstudio_client", |
49 | 91 | "create_protected_llamacpp_client", |
50 | 92 | "create_protected_localai_client", |
51 | 93 | "create_protected_janai_client", |
52 | | - # Exceptions |
| 94 | + # ── DeepSeek ───────────────────────────────────────────────────────────── |
| 95 | + "DeepSeekProvider", |
| 96 | + "ProtectedDeepSeekClient", |
| 97 | + "create_protected_deepseek_client", |
| 98 | + "DEEPSEEK_BASE_URL", |
| 99 | + "DEEPSEEK_MODELS", |
| 100 | + # ── Mistral ─────────────────────────────────────────────────────────────── |
| 101 | + "MistralProvider", |
| 102 | + "ProtectedMistralClient", |
| 103 | + "create_protected_mistral_client", |
| 104 | + "MISTRAL_BASE_URL", |
| 105 | + "MISTRAL_MODELS", |
| 106 | + # ── Perplexity ──────────────────────────────────────────────────────────── |
| 107 | + "PerplexityProvider", |
| 108 | + "ProtectedPerplexityClient", |
| 109 | + "create_protected_perplexity_client", |
| 110 | + "PERPLEXITY_BASE_URL", |
| 111 | + "PERPLEXITY_MODELS", |
| 112 | + # ── Exceptions (re-exported from local_openai_compat_provider) ──────────── |
53 | 113 | "ThreatBlockedException", |
54 | 114 | "ThreatChallengeException", |
55 | 115 | "ToolOutputBlockedException", |
|
0 commit comments