API
Embedding
Generate vector embeddings for text.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID, e.g. text-embedding-ada-002. |
input | string|array | Yes | Text to embed. Single string or array of strings. |
encoding_format | string | No | float (default) or base64. |
dimensions | integer | No | Embedding dimensions (model-dependent). |
Examples
curl -X POST https://silkdock.ai/v1/embeddings \-H "Authorization: Bearer $SILKDOCK_API_KEY" \-H "Content-Type: application/json" \-d '{ "model": "text-embedding-ada-002", "input": ["Hello world", "Goodbye world"]}'curl -X POST https://silkdock.ai/v1/embeddings ^-H "Authorization: Bearer %SILKDOCK_API_KEY%" ^-H "Content-Type: application/json" ^-d "{"model":"text-embedding-ada-002","input":["Hello world","Goodbye world"]}"http POST https://silkdock.ai/v1/embeddings \Authorization:"Bearer $SILKDOCK_API_KEY" \model=text-embedding-ada-002 \input:='["Hello world","Goodbye world"]'wget -qO- https://silkdock.ai/v1/embeddings \--method=POST \--header="Authorization: Bearer $SILKDOCK_API_KEY" \--header="Content-Type: application/json" \--body-data='{"model":"text-embedding-ada-002","input":["Hello world","Goodbye world"]}'$headers = @{ "Authorization" = "Bearer $env:SILKDOCK_API_KEY" "Content-Type" = "application/json"}$body = @{ model = "text-embedding-ada-002" input = @("Hello world", "Goodbye world")} | ConvertTo-Json -Depth 3Invoke-RestMethod -Uri "https://silkdock.ai/v1/embeddings" -Method POST -Headers $headers -Body $bodyconst { OpenAI } = require("openai");const client = new OpenAI({apiKey: process.env.SILKDOCK_API_KEY,baseURL: "https://silkdock.ai/v1",});const response = await client.embeddings.create({model: "text-embedding-ada-002",input: ["Hello world", "Goodbye world"],});response.data.forEach(item => {console.log(`[${item.index}] ${item.embedding.slice(0, 3)} ...`);});const res = await fetch("https://silkdock.ai/v1/embeddings", {method: "POST",headers: { "Authorization": `Bearer ${process.env.SILKDOCK_API_KEY}`, "Content-Type": "application/json",},body: JSON.stringify({ model: "text-embedding-ada-002", input: ["Hello world", "Goodbye world"],}),});const { data } = await res.json();console.log(data[0].embedding); // float[]import axios from "axios";const { data: result } = await axios.post("https://silkdock.ai/v1/embeddings",{ model: "text-embedding-ada-002", input: ["Hello world", "Goodbye world"],},{ headers: { Authorization: `Bearer ${process.env.SILKDOCK_API_KEY}`, "Content-Type": "application/json", },});console.log(result.data[0].embedding);$.ajax({url: "https://silkdock.ai/v1/embeddings",method: "POST",contentType: "application/json",headers: { Authorization: `Bearer ${API_KEY}` },data: JSON.stringify({ model: "text-embedding-ada-002", input: ["Hello world", "Goodbye world"],}),success: (result) => console.log(result.data[0].embedding),});const xhr = new XMLHttpRequest();xhr.open("POST", "https://silkdock.ai/v1/embeddings");xhr.setRequestHeader("Authorization", `Bearer ${API_KEY}`);xhr.setRequestHeader("Content-Type", "application/json");xhr.onload = () => {const result = JSON.parse(xhr.responseText);console.log(result.data[0].embedding);};xhr.send(JSON.stringify({model: "text-embedding-ada-002",input: ["Hello world", "Goodbye world"],}));const request = require("request");request.post({url: "https://silkdock.ai/v1/embeddings",headers: { Authorization: `Bearer ${process.env.SILKDOCK_API_KEY}`, "Content-Type": "application/json",},json: true,body: { model: "text-embedding-ada-002", input: ["Hello world", "Goodbye world"],},}, (err, res, body) => console.log(body.data[0].embedding));const unirest = require("unirest");const res = await unirest.post("https://silkdock.ai/v1/embeddings").headers({ Authorization: `Bearer ${process.env.SILKDOCK_API_KEY}`, "Content-Type": "application/json",}).send({ model: "text-embedding-ada-002", input: ["Hello world", "Goodbye world"],});console.log(res.body.data[0].embedding);import OpenAI from "openai";const client = new OpenAI({apiKey: process.env.SILKDOCK_API_KEY,baseURL: "https://silkdock.ai/v1",});const response = await client.embeddings.create({model: "text-embedding-ada-002",input: ["Hello world", "Goodbye world"],});response.data.forEach(item => {console.log(`[${item.index}] ${item.embedding.slice(0, 3)} ...`);});const res = await fetch("https://silkdock.ai/v1/embeddings", {method: "POST",headers: { "Authorization": `Bearer ${process.env.SILKDOCK_API_KEY}`, "Content-Type": "application/json",},body: JSON.stringify({ model: "text-embedding-ada-002", input: ["Hello world", "Goodbye world"],}),});const { data } = await res.json();console.log(data[0].embedding); // float[]import requests, osres = requests.post( "https://silkdock.ai/v1/embeddings", headers={"Authorization": f"Bearer {os.getenv('SILKDOCK_API_KEY')}"}, json={ "model": "text-embedding-ada-002", "input": ["Hello world", "Goodbye world"], },)for item in res.json()["data"]: print(f"[{item['index']}] {item['embedding'][:3]} ...")import osfrom openai import OpenAIclient = OpenAI( api_key=os.getenv("SILKDOCK_API_KEY"), base_url="https://silkdock.ai/v1")response = client.embeddings.create( model="text-embedding-ada-002", input=["Hello world", "Goodbye world"])for item in response.data: print(f"[{item.index}] {item.embedding[:3]} ...")#include <stdio.h>#include <curl/curl.h>int main(void) { CURL *curl = curl_easy_init(); if (!curl) return 1; struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); headers = curl_slist_append(headers, "Authorization: Bearer " SILKDOCK_API_KEY); const char *body = "{"model":"text-embedding-ada-002"," ""input":["Hello world","Goodbye world"]}"; curl_easy_setopt(curl, CURLOPT_URL, "https://silkdock.ai/v1/embeddings"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body); curl_easy_perform(curl); curl_slist_free_all(headers); curl_easy_cleanup(curl); return 0;}/* compile: gcc main.c -lcurl -o main */#import <Foundation/Foundation.h>NSURLSession *session = [NSURLSession sharedSession];NSURL *url = [NSURL URLWithString:@"https://silkdock.ai/v1/embeddings"];NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];[request setHTTPMethod:@"POST"];[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];[request setValue:[@"Bearer " stringByAppendingString: [NSProcessInfo.processInfo.environment objectForKey:@"SILKDOCK_API_KEY"]] forHTTPHeaderField:@"Authorization"];NSDictionary *payload = @{ @"model": @"text-embedding-ada-002", @"input": @[@"Hello world", @"Goodbye world"]};[request setHTTPBody:[NSJSONSerialization dataWithJSONObject:payload options:0 error:nil]];NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; NSLog(@"%@", json[@"data"][0][@"embedding"]); }];[task resume];import com.openai.client.OpenAIClient;import com.openai.client.okhttp.OpenAIOkHttpClient;import com.openai.models.*;OpenAIClient client = OpenAIOkHttpClient.builder() .apiKey(System.getenv("SILKDOCK_API_KEY")) .baseURL("https://silkdock.ai/v1") .build();EmbeddingCreateResponse response = client.embeddings().create( EmbeddingCreateParams.builder() .model(EmbeddingModel.TEXT_EMBEDDING_ADA_002) .input(EmbeddingCreateParams.Input.ofArrayOfStrings( List.of("Hello world", "Goodbye world"))) .build());response.data().forEach(e -> System.out.println(e.embedding()));import java.net.http.*;import java.net.URI;var req = HttpRequest.newBuilder() .uri(URI.create("https://silkdock.ai/v1/embeddings")) .header("Authorization", "Bearer " + System.getenv("SILKDOCK_API_KEY")) .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString( """{"model":"text-embedding-ada-002", "input":["Hello world","Goodbye world"]}""")) .build();System.out.println(HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString()).body());import okhttp3.*;OkHttpClient client = new OkHttpClient();String json = "{"model":"text-embedding-ada-002"," + ""input":["Hello world","Goodbye world"]}";Request request = new Request.Builder() .url("https://silkdock.ai/v1/embeddings") .addHeader("Authorization", "Bearer " + System.getenv("SILKDOCK_API_KEY")) .post(RequestBody.create(json, MediaType.get("application/json"))) .build();try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string());}import kong.unirest.Unirest;HttpResponse<String> response = Unirest.post("https://silkdock.ai/v1/embeddings") .header("Authorization", "Bearer " + System.getenv("SILKDOCK_API_KEY")) .header("Content-Type", "application/json") .body("{"model":"text-embedding-ada-002"," + ""input":["Hello world","Goodbye world"]}") .asString();System.out.println(response.getBody());package mainimport ( "context" "fmt" "os" "github.com/openai/openai-go" "github.com/openai/openai-go/option")func main() { client := openai.NewClient( option.WithAPIKey(os.Getenv("SILKDOCK_API_KEY")), option.WithBaseURL("https://silkdock.ai/v1"), ) resp, _ := client.Embeddings.New(context.Background(), openai.EmbeddingNewParams{ Model: openai.F(openai.EmbeddingModelTextEmbeddingAda002), Input: openai.F(openai.EmbeddingNewParamsInputUnion( openai.EmbeddingNewParamsInputArrayOfStrings( []string{"Hello world", "Goodbye world"}, ), )), }, ) fmt.Println(resp.Data[0].Embedding)}package mainimport ( "bytes" "encoding/json" "fmt" "io" "net/http" "os")func main() { body, _ := json.Marshal(map[string]any{ "model": "text-embedding-ada-002", "input": []string{"Hello world", "Goodbye world"}, }) req, _ := http.NewRequest("POST", "https://silkdock.ai/v1/embeddings", bytes.NewReader(body)) req.Header.Set("Authorization", "Bearer "+os.Getenv("SILKDOCK_API_KEY")) req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() data, _ := io.ReadAll(resp.Body) fmt.Println(string(data))}<?php$ch = curl_init("https://silkdock.ai/v1/embeddings");curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "Authorization: Bearer " . getenv("SILKDOCK_API_KEY"), "Content-Type: application/json", ], CURLOPT_POSTFIELDS => json_encode([ "model" => "text-embedding-ada-002", "input" => ["Hello world", "Goodbye world"], ]),]);echo curl_exec($ch);<?phprequire_once "HTTP/Request2.php";$request = new HTTP_Request2("https://silkdock.ai/v1/embeddings", HTTP_Request2::METHOD_POST);$request->setHeader("Authorization", "Bearer " . getenv("SILKDOCK_API_KEY"));$request->setHeader("Content-Type", "application/json");$request->setBody(json_encode([ "model" => "text-embedding-ada-002", "input" => ["Hello world", "Goodbye world"],]));echo $request->send()->getBody();<?phprequire "vendor/autoload.php";use GuzzleHttpClient;$client = new Client();$response = $client->post("https://silkdock.ai/v1/embeddings", [ "headers" => [ "Authorization" => "Bearer " . getenv("SILKDOCK_API_KEY"), "Content-Type" => "application/json", ], "json" => [ "model" => "text-embedding-ada-002", "input" => ["Hello world", "Goodbye world"], ],]);echo $response->getBody();<?php$client = new httpClient;$request = new httpClientRequest("POST", "https://silkdock.ai/v1/embeddings");$request->setHeaders([ "Authorization" => "Bearer " . getenv("SILKDOCK_API_KEY"), "Content-Type" => "application/json",]);$body = new httpMessageBody;$body->append(json_encode([ "model" => "text-embedding-ada-002", "input" => ["Hello world", "Goodbye world"],]));$request->setBody($body);$client->enqueue($request)->send();echo $client->getResponse()->getBody();import OpenAIlet client = OpenAI(configuration: .init( token: ProcessInfo.processInfo.environment["SILKDOCK_API_KEY"]!, host: "silkdock.ai", scheme: "https"))let query = EmbeddingsQuery( model: "text-embedding-ada-002", input: "Hello world")let result = try await client.embeddings(query: query)print(result.data.first?.embedding ?? [])import Foundationvar req = URLRequest(url: URL(string: "https://silkdock.ai/v1/embeddings")!)req.httpMethod = "POST"req.setValue("Bearer \(ProcessInfo.processInfo.environment["SILKDOCK_API_KEY"]!)", forHTTPHeaderField: "Authorization")req.setValue("application/json", forHTTPHeaderField: "Content-Type")req.httpBody = try! JSONSerialization.data(withJSONObject: [ "model": "text-embedding-ada-002", "input": ["Hello world", "Goodbye world"],])let (data, _) = try! await URLSession.shared.data(for: req)print(String(data: data, encoding: .utf8)!)using OpenAI;using OpenAI.Embeddings;var client = new EmbeddingClient( model: "text-embedding-ada-002", credential: new System.ClientModel.ApiKeyCredential( Environment.GetEnvironmentVariable("SILKDOCK_API_KEY")!), options: new OpenAIClientOptions { Endpoint = new Uri("https://silkdock.ai/v1") });var result = await client.GenerateEmbeddingAsync("Hello world");Console.WriteLine(string.Join(", ", result.Value.ToFloats().ToArray()));using System.Net.Http;using System.Net.Http.Json;var client = new HttpClient();client.DefaultRequestHeaders.Add("Authorization", $"Bearer {Environment.GetEnvironmentVariable("SILKDOCK_API_KEY")}");var res = await client.PostAsJsonAsync("https://silkdock.ai/v1/embeddings", new { model = "text-embedding-ada-002", input = new[] { "Hello world", "Goodbye world" },});Console.WriteLine(await res.Content.ReadAsStringAsync());require "openai"client = OpenAI::Client.new(access_token: ENV["SILKDOCK_API_KEY"],uri_base: "https://silkdock.ai/v1")response = client.embeddings(parameters: { model: "text-embedding-ada-002", input: ["Hello world", "Goodbye world"]})puts response.dig("data", 0, "embedding")require "net/http"require "json"uri = URI("https://silkdock.ai/v1/embeddings")req = Net::HTTP::Post.new(uri)req["Authorization"] = "Bearer #{ENV['SILKDOCK_API_KEY']}"req["Content-Type"] = "application/json"req.body = {model: "text-embedding-ada-002",input: ["Hello world", "Goodbye world"]}.to_jsonres = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |h| h.request(req) }puts res.bodyimport com.openai.client.OpenAIClientimport com.openai.client.okhttp.OpenAIOkHttpClientimport com.openai.models.*val client: OpenAIClient = OpenAIOkHttpClient.builder() .apiKey(System.getenv("SILKDOCK_API_KEY")) .baseURL("https://silkdock.ai/v1") .build()val response = client.embeddings().create( EmbeddingCreateParams.builder() .model(EmbeddingModel.TEXT_EMBEDDING_ADA_002) .input(EmbeddingCreateParams.Input.ofArrayOfStrings( listOf("Hello world", "Goodbye world"))) .build())println(response.data()[0].embedding())import java.net.http.*import java.net.URIval req = HttpRequest.newBuilder() .uri(URI.create("https://silkdock.ai/v1/embeddings")) .header("Authorization", "Bearer ${System.getenv("SILKDOCK_API_KEY")}") .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString( """{"model":"text-embedding-ada-002", "input":["Hello world","Goodbye world"]}""")) .build()println(HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString()).body())use reqwest::blocking::Client;use serde_json::json;fn main() -> Result<(), Box<dyn std::error::Error>> { let res = Client::new() .post("https://silkdock.ai/v1/embeddings") .header("Authorization", format!("Bearer {}", std::env::var("SILKDOCK_API_KEY")?)) .json(&json!({ "model": "text-embedding-ada-002", "input": ["Hello world", "Goodbye world"] })) .send()?; println!("{}", res.text()?); Ok(())}POST /v1/embeddings HTTP/1.1Host: silkdock.aiAuthorization: Bearer <YOUR_API_KEY>Content-Type: application/json{"model": "text-embedding-ada-002","input": ["Hello world", "Goodbye world"]}import 'dart:convert';import 'package:http/http.dart' as http;void main() async {final res = await http.post( Uri.parse('https://silkdock.ai/v1/embeddings'), headers: { 'Authorization': 'Bearer ${const String.fromEnvironment("SILKDOCK_API_KEY")}', 'Content-Type': 'application/json', }, body: jsonEncode({ 'model': 'text-embedding-ada-002', 'input': ['Hello world', 'Goodbye world'], }),);print(res.body);}library(httr2)req <- request("https://silkdock.ai/v1/embeddings") |>req_headers( Authorization = paste("Bearer", Sys.getenv("SILKDOCK_API_KEY")), "Content-Type" = "application/json") |>req_body_json(list( model = "text-embedding-ada-002", input = list("Hello world", "Goodbye world")))resp <- req_perform(req)cat(resp_body_string(resp))(* requires cohttp-lwt-unix *)open Cohttp_lwt_unixopen Cohttpopen Lwtlet () =let body = {|{"model":"text-embedding-ada-002", "input":["Hello world","Goodbye world"]}|} inlet headers = Header.of_list [ "Authorization", "Bearer " ^ Sys.getenv "SILKDOCK_API_KEY"; "Content-Type", "application/json";] inLwt_main.run ( Client.post ~headers ~body:(Cohttp_lwt.Body.of_string body) (Uri.of_string "https://silkdock.ai/v1/embeddings") >>= fun (_, body) -> Cohttp_lwt.Body.to_string body >>= fun s -> print_string s; return_unit)Response
{
"object": "list",
"data": [
{ "object": "embedding", "index": 0, "embedding": [0.0023064255, -0.009327292, "..."] }
],
"model": "text-embedding-ada-002",
"usage": { "prompt_tokens": 8, "total_tokens": 8 }
}Last updated on