Embedding adalah fitur untuk mengubah teks ke dalam bentuk vektor numerik yang digunakan pada semantic search (pencarian berbasis makna), retrieval-augmented generation (RAG), sistem rekomendasi, dan clustering (pengelompokan data).
POST /v1/embeddings
Base URL:
https://api.lunos.tech/v1
Sertakan API Key Anda pada header Authorization:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
X-App-ID: optional-app-name
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
model |
string | Ya | ID model dari katalog Lunos yang mendukung embedding (contoh: openai/text-embedding-3-small). |
input |
string | string[] | Ya | String teks tunggal atau array yang berisi beberapa string teks. |
encoding_format |
"float" | "base64" |
Tidak | Format output yang diinginkan (default-nya adalah float). |
dimensions |
number | Tidak | Batasan panjang/dimensi vektor output (jika didukung oleh model terkait). |
user |
string | Tidak | Identifier spesifik end-user yang berguna untuk kebutuhan pelacakan (tracking) dan analitik. |
curl https://api.lunos.tech/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $LUNOS_API_KEY" \
-d '{
"model": "openai/text-embedding-3-small",
"input": "Masukkan teks Anda di sini",
"encoding_format": "float"
}'
import requests
response = requests.post(
"https://api.lunos.tech/v1/embeddings",
headers={
"Authorization": "Bearer " + LUNOS_API_KEY,
"Content-Type": "application/json",
},
json={
"model": "openai/text-embedding-3-small",
"input": "Masukkan teks Anda di sini",
"encoding_format": "float",
},
timeout=60,
)
result = response.json()
print(result["data"][0]["embedding"])
const response = await fetch("https://api.lunos.tech/v1/embeddings", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LUNOS_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "openai/text-embedding-3-small",
input: "Masukkan teks Anda di sini",
encoding_format: "float",
}),
});
const result = await response.json();
console.log(result.data[0].embedding);
<?php
$payload = [
"model" => "openai/text-embedding-3-small",
"input" => "Masukkan teks Anda di sini",
"encoding_format" => "float",
];
$ch = curl_init("https://api.lunos.tech/v1/embeddings");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("LUNOS_API_KEY"),
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode($payload),
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result["data"][0]["embedding"]);
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
payload := map[string]any{
"model": "openai/text-embedding-3-small",
"input": "Masukkan teks Anda di sini",
"encoding_format": "float",
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.lunos.tech/v1/embeddings", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer "+os.Getenv("LUNOS_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result map[string]any
_ = json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["data"])
}
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [-0.0069, -0.0053, -0.00004, -0.0240]
}
],
"model": "openai/text-embedding-3-small",
"usage": {
"prompt_tokens": 5,
"total_tokens": 5
}
}
openai/text-embedding-3-small sebagai pilihan default yang sangat hemat biaya.openai/text-embedding-3-large apabila Anda membutuhkan kualitas retrieval teks yang lebih tinggi dan presisi.Anda bisa menggunakan parameter dimensions untuk memperkecil ukuran vektor yang dihasilkan, sehingga biaya penyimpanan (storage) dan komputasi query menjadi lebih hemat.
{
"model": "openai/text-embedding-3-large",
"input": "Testing 123",
"dimensions": 1024
}
/v1/chat/completions untuk menghasilkan jawaban.400 (Bad Request): Format body request salah, ID model tidak valid, atau format embedding tidak didukung.402 (Payment Required): Saldo Anda tidak mencukupi untuk melakukan pemanggilan.500 (Internal Server Error): Terjadi masalah pada sisi Lunos atau provider model asli.Tidak ada judul di halaman ini.
