File size: 1,921 Bytes
cce8120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env bash
set -euo pipefail

ROOT=/root/projects/website-builder-backend-clean
cd "$ROOT"

echo "========================================"
echo "Rebuilding Dolor3V Fallback Layer"
echo "========================================"

cp backend/llm/providers/fallback.py \
   backend/llm/providers/fallback.py.bak.$(date +%Y%m%d_%H%M%S) 2>/dev/null || true

cat > backend/llm/providers/fallback.py <<'PY'
"""
Dolor3V Production Fallback

Single-provider deployment.
Only Hugging Face is registered.
"""

from typing import Any

from .huggingface import HuggingFaceProvider

_PROVIDER = HuggingFaceProvider()


async def complete_with_fallback(
    prompt: str,
    **kwargs: Any,
):
    """
    Unified completion entrypoint.

    The runtime intentionally exposes only one provider.
    """

    if hasattr(_PROVIDER, "complete"):
        return await _PROVIDER.complete(prompt=prompt, **kwargs)

    if hasattr(_PROVIDER, "generate"):
        return await _PROVIDER.generate(prompt=prompt, **kwargs)

    raise RuntimeError(
        "HuggingFaceProvider exposes neither "
        "'complete' nor 'generate'."
    )


def get_provider():
    return _PROVIDER


def providers():
    return [_PROVIDER]
PY

echo
echo "[1/4] Compile"

python3 -m py_compile \
backend/llm/providers/fallback.py

echo
echo "[2/4] Import"

python3 <<'PY'
from backend.llm.providers.fallback import (
    complete_with_fallback,
    get_provider,
    providers,
)

print("Fallback:", complete_with_fallback)
print("Provider:", type(get_provider()).__name__)
print("Providers:", len(providers()))
PY

echo
echo "[3/4] Search removed providers"

grep -RInE \
"GroqProvider|OpenRouterProvider|GeminiProvider|OllamaProvider|LocalProvider" \
backend/llm/providers/fallback.py || true

echo
echo "[4/4] Finished"

echo
echo "========================================"
echo "Dolor3V Fallback Ready"
echo "========================================"