AUXteam's picture
Upload folder using huggingface_hub
1397957 verified
raw
history blame
1.82 kB
from typing import Dict, Any, List, Optional, AsyncGenerator
import os
import json
from .provider import ModelInfo, Message, StreamChunk, ToolCall
from .openai import OpenAIProvider
class BlabladorProvider(OpenAIProvider):
def __init__(self, api_key: Optional[str] = None):
super().__init__(api_key=api_key or os.environ.get("BLABLADOR_API_KEY"))
self._base_url = "https://api.helmholtz-blablador.fz-juelich.de/v1"
@property
def id(self) -> str:
return "blablador"
@property
def name(self) -> str:
return "Blablador"
@property
def models(self) -> Dict[str, ModelInfo]:
return {
"alias-large": ModelInfo(
id="alias-large",
name="Blablador Large",
provider_id="blablador",
context_limit=32768,
output_limit=4096,
supports_tools=True,
supports_streaming=True,
cost_input=0.0,
cost_output=0.0,
),
"alias-fast": ModelInfo(
id="alias-fast",
name="Blablador Fast",
provider_id="blablador",
context_limit=8192,
output_limit=2048,
supports_tools=True,
supports_streaming=True,
cost_input=0.0,
cost_output=0.0,
),
}
def _get_client(self):
if self._client is None:
try:
from openai import AsyncOpenAI
self._client = AsyncOpenAI(api_key=self._api_key, base_url=self._base_url)
except ImportError:
raise ImportError("openai package is required. Install with: pip install openai")
return self._client