Edu014 commited on
Commit
a2f59db
Β·
verified Β·
1 Parent(s): 6bb1696

Create index.html

Browse files
Files changed (1) hide show
  1. index.html +226 -0
index.html ADDED
@@ -0,0 +1,226 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>LFM2.5 Embedding API</title>
7
+ <style>
8
+ * { margin: 0; padding: 0; box-sizing: border-box; }
9
+ body {
10
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
11
+ background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #4c1d95 100%);
12
+ color: #e5e7eb;
13
+ min-height: 100vh;
14
+ padding: 40px 20px;
15
+ line-height: 1.6;
16
+ }
17
+ .container { max-width: 900px; margin: 0 auto; }
18
+ .hero { text-align: center; padding: 40px 0; }
19
+ .hero h1 {
20
+ font-size: 2.8em;
21
+ background: linear-gradient(90deg, #a78bfa, #f472b6);
22
+ -webkit-background-clip: text;
23
+ -webkit-text-fill-color: transparent;
24
+ background-clip: text;
25
+ margin-bottom: 10px;
26
+ }
27
+ .hero .subtitle { font-size: 1.2em; color: #c7d2fe; margin-bottom: 20px; }
28
+ .status-badge {
29
+ display: inline-flex;
30
+ align-items: center;
31
+ gap: 8px;
32
+ background: rgba(16, 185, 129, 0.15);
33
+ border: 1px solid rgba(16, 185, 129, 0.4);
34
+ padding: 8px 16px;
35
+ border-radius: 50px;
36
+ font-size: 0.9em;
37
+ color: #6ee7b7;
38
+ }
39
+ .status-dot {
40
+ width: 8px;
41
+ height: 8px;
42
+ background: #10b981;
43
+ border-radius: 50%;
44
+ animation: pulse 2s infinite;
45
+ }
46
+ @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
47
+ .card {
48
+ background: rgba(255, 255, 255, 0.05);
49
+ backdrop-filter: blur(10px);
50
+ border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px;
51
+ padding: 30px;
52
+ margin-bottom: 20px;
53
+ }
54
+ .card h2 {
55
+ color: #a78bfa;
56
+ margin-bottom: 20px;
57
+ font-size: 1.5em;
58
+ }
59
+ .grid {
60
+ display: grid;
61
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
62
+ gap: 15px;
63
+ margin-top: 15px;
64
+ }
65
+ .info-item {
66
+ background: rgba(0, 0, 0, 0.2);
67
+ padding: 15px;
68
+ border-radius: 10px;
69
+ border-left: 3px solid #a78bfa;
70
+ }
71
+ .info-item .label {
72
+ font-size: 0.85em;
73
+ color: #9ca3af;
74
+ text-transform: uppercase;
75
+ letter-spacing: 0.5px;
76
+ }
77
+ .info-item .value {
78
+ font-size: 1.1em;
79
+ color: #f3f4f6;
80
+ margin-top: 4px;
81
+ font-weight: 500;
82
+ }
83
+ pre {
84
+ background: rgba(0, 0, 0, 0.4);
85
+ border: 1px solid rgba(255, 255, 255, 0.1);
86
+ border-radius: 10px;
87
+ padding: 20px;
88
+ overflow-x: auto;
89
+ font-family: 'Courier New', monospace;
90
+ font-size: 0.9em;
91
+ color: #d1d5db;
92
+ margin-top: 15px;
93
+ }
94
+ code { color: #fbbf24; }
95
+ a {
96
+ color: #a78bfa;
97
+ text-decoration: none;
98
+ border-bottom: 1px dashed #a78bfa;
99
+ } a:hover { color: #f472b6; border-bottom-color: #f472b6; }
100
+ .endpoint {
101
+ display: inline-block;
102
+ background: #10b981;
103
+ color: white;
104
+ padding: 4px 10px;
105
+ border-radius: 6px;
106
+ font-size: 0.8em;
107
+ font-weight: bold;
108
+ margin-right: 8px;
109
+ }
110
+ .footer {
111
+ text-align: center;
112
+ padding: 30px 0;
113
+ color: #9ca3af;
114
+ font-size: 0.9em;
115
+ }
116
+ .btn {
117
+ display: inline-block;
118
+ background: linear-gradient(90deg, #a78bfa, #f472b6);
119
+ color: white;
120
+ padding: 12px 24px;
121
+ border-radius: 8px;
122
+ font-weight: 500;
123
+ margin-top: 15px;
124
+ border: none;
125
+ }
126
+ .btn:hover { opacity: 0.9; }
127
+ </style>
128
+ </head>
129
+ <body>
130
+ <div class="container">
131
+ <div class="hero">
132
+ <h1>🧠 LFM2.5 Embedding API</h1>
133
+ <p class="subtitle">OpenAI-compatible embeddings running on pure CPU</p>
134
+ <div class="status-badge">
135
+ <span class="status-dot"></span>
136
+ <span>Operational</span>
137
+ </div>
138
+ </div>
139
+
140
+ <div class="card">
141
+ <h2>πŸ“Š Model Information</h2>
142
+ <div class="grid">
143
+ <div class="info-item">
144
+ <div class="label">Model</div>
145
+ <div class="value">LFM2.5-Embedding-350M</div>
146
+ </div>
147
+ <div class="info-item">
148
+ <div class="label">Provider</div> <div class="value">Liquid AI</div>
149
+ </div>
150
+ <div class="info-item">
151
+ <div class="label">Dimensions</div>
152
+ <div class="value">1024 floats</div>
153
+ </div>
154
+ <div class="info-item">
155
+ <div class="label">Context</div>
156
+ <div class="value">512 tokens</div>
157
+ </div>
158
+ <div class="info-item">
159
+ <div class="label">Quantization</div>
160
+ <div class="value">Q8_0 (GGUF)</div>
161
+ </div>
162
+ <div class="info-item">
163
+ <div class="label">Engine</div>
164
+ <div class="value">llama.cpp (CPU)</div>
165
+ </div>
166
+ </div>
167
+ </div>
168
+
169
+ <div class="card">
170
+ <h2>πŸ”Œ Endpoint</h2>
171
+ <p><span class="endpoint">POST</span><code>/v1/embeddings</code></p>
172
+ <p style="margin-top: 15px;">Compatible with OpenAI SDK, LangChain, LlamaIndex, Open WebUI, Cursor, OpenClaw, and more.</p>
173
+ </div>
174
+
175
+ <div class="card">
176
+ <h2>πŸš€ Quick Start (cURL)</h2>
177
+ <pre><code>curl -X POST "https://YOUR-SPACE.hf.space/v1/embeddings" \
178
+ -H "Authorization: Bearer YOUR_API_KEY" \
179
+ -H "Content-Type: application/json" \
180
+ -d '{
181
+ "input": "Your text here",
182
+ "model": "LiquidAI/LFM2.5-Embedding-350M",
183
+ "input_type": "document"
184
+ }'</code></pre>
185
+ </div>
186
+
187
+ <div class="card">
188
+ <h2>🐍 Python Example</h2>
189
+ <pre><code>from openai import OpenAI
190
+
191
+ client = OpenAI(
192
+ api_key="YOUR_API_KEY",
193
+ base_url="https://YOUR-SPACE.hf.space/v1/"
194
+ )
195
+
196
+ response = client.embeddings.create(
197
+ model="LiquidAI/LFM2.5-Embedding-350M", input="Your text here",
198
+ extra_body={"input_type": "document"}
199
+ )
200
+
201
+ print(response.data[0].embedding[:5])</code></pre>
202
+ </div>
203
+
204
+ <div class="card">
205
+ <h2>πŸ” Authentication</h2>
206
+ <p>All requests require a Bearer token:</p>
207
+ <pre><code>Authorization: Bearer YOUR_API_KEY</code></pre>
208
+ </div>
209
+
210
+ <div class="card" style="text-align: center;">
211
+ <h2>πŸ“š Documentation</h2>
212
+ <p>For complete setup instructions and licensing:</p>
213
+ <a href="https://huggingface.co/spaces/Edu014/LFM2.5-Embedding" class="btn">View on Hugging Face β†’</a>
214
+ </div>
215
+
216
+ <div class="footer">
217
+ <p>Built with ❀️ for the RAG community</p>
218
+ <p style="margin-top: 8px; font-size: 0.85em;">
219
+ Powered by <a href="https://www.liquid.ai">Liquid AI</a> β€’
220
+ <a href="https://github.com/ggerganov/llama.cpp">llama.cpp</a> β€’
221
+ <a href="https://fastapi.tiangolo.com">FastAPI</a>
222
+ </p>
223
+ </div>
224
+ </div>
225
+ </body>
226
+ </html>