File size: 3,060 Bytes
cca4a24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Transformers.js Debug</title>
    <script type="module">
        // Import transformers.js from CDN
        import { pipeline, env } from 'https://cdn.jsdelivr.net/npm/@xenova/transformers@2.17.2';
        
        // Make available globally
        window.transformers = { pipeline, env };
        window.transformersLoaded = true;
        
        console.log('βœ… Transformers.js loaded via ES modules');
    </script>
    <script src="https://cdn.jsdelivr.net/npm/@xenova/transformers@2.17.2/dist/transformers.min.js"></script>
</head>
<body>
    <h1>Transformers.js Debug Test</h1>
    <div id="status">Loading...</div>
    <button onclick="testTransformers()">Test Transformers.js</button>
    <div id="result"></div>

    <script>
        async function testTransformers() {
            const statusDiv = document.getElementById('status');
            const resultDiv = document.getElementById('result');
            
            try {
                statusDiv.textContent = 'Testing Transformers.js loading...';
                
                // Check what's available
                console.log('window.transformers:', window.transformers);
                console.log('window.Transformers:', window.Transformers);
                console.log('window.transformersLoaded:', window.transformersLoaded);
                
                let pipeline, env;
                
                if (window.transformers && window.transformersLoaded) {
                    console.log('Using ES modules version');
                    ({ pipeline, env } = window.transformers);
                } else if (window.Transformers) {
                    console.log('Using UMD version');
                    ({ pipeline, env } = window.Transformers);
                } else {
                    throw new Error('No transformers library found');
                }
                
                statusDiv.textContent = 'Creating pipeline...';
                
                // Test basic functionality
                const classifier = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english');
                
                statusDiv.textContent = 'Running inference...';
                
                const result = await classifier('I love transformers.js!');
                
                statusDiv.textContent = 'βœ… Success!';
                resultDiv.innerHTML = `<pre>${JSON.stringify(result, null, 2)}</pre>`;
                
            } catch (error) {
                console.error('Error:', error);
                statusDiv.textContent = '❌ Error: ' + error.message;
                resultDiv.textContent = error.stack;
            }
        }
        
        // Auto-test when page loads
        document.addEventListener('DOMContentLoaded', () => {
            setTimeout(testTransformers, 2000);
        });
    </script>
</body>
</html>