/embeddings
Schnellstart​
from litellm import embedding
import os
os.environ['OPENAI_API_KEY'] = ""
response = embedding(model='text-embedding-ada-002', input=["good morning from litellm"])
Proxy-Nutzung​
HINWEIS Für vertex_ai,
export GOOGLE_APPLICATION_CREDENTIALS="absolute/path/to/service_account.json"
Modell zur Konfiguration hinzufügen​
model_list:
- model_name: textembedding-gecko
litellm_params:
model: vertex_ai/textembedding-gecko
general_settings:
master_key: sk-1234
Proxy starten​
litellm --config /path/to/config.yaml
# RUNNING on http://0.0.0.0:4000
Testen​
- Curl
- OpenAI (python)
- Langchain Embeddings
curl --location 'http://0.0.0.0:4000/embeddings' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data '{"input": ["Academia.edu uses"], "model": "textembedding-gecko", "encoding_format": "base64"}'
from openai import OpenAI
client = OpenAI(
api_key="sk-1234",
base_url="http://0.0.0.0:4000"
)
client.embeddings.create(
model="textembedding-gecko",
input="The food was delicious and the waiter...",
encoding_format="float"
)
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(model="textembedding-gecko", openai_api_base="http://0.0.0.0:4000", openai_api_key="sk-1234")
text = "This is a test document."
query_result = embeddings.embed_query(text)
print(f"VERTEX AI EMBEDDINGS")
print(query_result[:5])
Bild-Embeddings​
Für Modelle, die Bild-Embeddings unterstützen, können Sie einen base64-kodierten Bild-String an den Parameter input übergeben.
- SDK
- PROXY
from litellm import embedding
import os
# set your api key
os.environ["COHERE_API_KEY"] = ""
response = embedding(model="cohere/embed-english-v3.0", input=["<base64 encoded image>"])
- Konfigurieren Sie config.yaml
model_list:
- model_name: cohere-embed
litellm_params:
model: cohere/embed-english-v3.0
api_key: os.environ/COHERE_API_KEY
- Proxy starten
litellm --config /path/to/config.yaml
# RUNNING on http://0.0.0.0:4000
- Testen Sie es!
curl -X POST 'http://0.0.0.0:4000/v1/embeddings' \
-H 'Authorization: Bearer sk-54d77cd67b9febbb' \
-H 'Content-Type: application/json' \
-d '{
"model": "cohere/embed-english-v3.0",
"input": ["<base64 encoded image>"]
}'
Input-Parameter für litellm.embedding()​
Alle nicht-OpenAI-Parameter werden als provider-spezifische Parameter behandelt und als kwargs an den Provider gesendet.
Erforderliche Felder​
model: string - ID des zu verwendenden Modells.model='text-embedding-ada-002'input: string oder Array - Eingabetext zum Einbetten, kodiert als String oder Array von Tokens. Um mehrere Eingaben in einer einzigen Anfrage einzubetten, übergeben Sie ein Array von Strings oder ein Array von Token-Arrays. Die Eingabe darf die maximalen Eingabe-Tokens für das Modell (8192 Tokens für text-embedding-ada-002) nicht überschreiten, darf keine leere Zeichenkette sein, und jedes Array darf nicht größer als 2048 Dimensionen sein.
input=["good morning from litellm"]
Optionale LiteLLM-Felder​
user: string (optional) Eine eindeutige Kennung, die Ihren Endbenutzer repräsentiert,dimensions: integer (optional) Die Anzahl der Dimensionen, die die resultierenden Ausgabe-Embeddings haben sollen. Nur unterstützt in OpenAI/Azure text-embedding-3 und neueren Modellen.encoding_format: string (optional) Das Format, in dem die Embeddings zurückgegeben werden sollen. Kann entweder"float"oder"base64"sein. Standard istencoding_format="float"timeout: integer (optional) - Die maximale Zeit in Sekunden, die auf eine Antwort der API gewartet wird. Standard sind 600 Sekunden (10 Minuten).api_base: string (optional) - Endpunkt der API, mit dem das Modell aufgerufen werden sollapi_version: string (optional) - (Azure-spezifisch) die API-Version für den Aufrufapi_key: string (optional) - Der API-Schlüssel zur Authentifizierung und Autorisierung von Anfragen. Wenn nicht angegeben, wird der Standard-API-Schlüssel verwendet.api_type: string (optional) - Der zu verwendende API-Typ.
Ausgabe von litellm.embedding()​
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [
-0.0022326677571982145,
0.010749882087111473,
...
...
...
]
}
],
"model": "text-embedding-ada-002-v2",
"usage": {
"prompt_tokens": 10,
"total_tokens": 10
}
}
OpenAI Embedding-Modelle​
Verwendung​
from litellm import embedding
import os
os.environ['OPENAI_API_KEY'] = ""
response = embedding(
model="text-embedding-3-small",
input=["good morning from litellm", "this is another item"],
metadata={"anything": "good day"},
dimensions=5 # Only supported in text-embedding-3 and later models.
)
| Modellname | Funktionsaufruf | Erforderliche OS-Variablen |
|---|---|---|
| text-embedding-3-small | embedding('text-embedding-3-small', input) | os.environ['OPENAI_API_KEY'] |
| text-embedding-3-large | embedding('text-embedding-3-large', input) | os.environ['OPENAI_API_KEY'] |
| text-embedding-ada-002 | embedding('text-embedding-ada-002', input) | os.environ['OPENAI_API_KEY'] |
OpenAI-kompatible Embedding-Modelle​
Verwenden Sie dies für den Aufruf von /embedding-Endpunkten auf OpenAI-kompatiblen Servern, z. B. https://github.com/xorbitsai/inference
Hinweis: Fügen Sie dem Modell das Präfix openai/ hinzu, damit LiteLLM weiß, dass es an OpenAI weiterleiten soll.
Verwendung​
from litellm import embedding
response = embedding(
model = "openai/<your-llm-name>", # add `openai/` prefix to model so litellm knows to route to OpenAI
api_base="http://0.0.0.0:4000/" # set API Base of your Custom OpenAI Endpoint
input=["good morning from litellm"]
)
Bedrock Embedding​
API-Schlüssel​
Dies kann als Umgebungsvariable festgelegt oder als Parameter für litellm.embedding() übergeben werden
import os
os.environ["AWS_ACCESS_KEY_ID"] = "" # Access key
os.environ["AWS_SECRET_ACCESS_KEY"] = "" # Secret access key
os.environ["AWS_REGION_NAME"] = "" # us-east-1, us-east-2, us-west-1, us-west-2
Verwendung​
from litellm import embedding
response = embedding(
model="amazon.titan-embed-text-v1",
input=["good morning from litellm"],
)
print(response)
| Modellname | Funktionsaufruf |
|---|---|
| Titan Embeddings - G1 | embedding(model="amazon.titan-embed-text-v1", input=input) |
| Cohere Embeddings - Englisch | embedding(model="cohere.embed-english-v3", input=input) |
| Cohere Embeddings - Mehrsprachig | embedding(model="cohere.embed-multilingual-v3", input=input) |
Cohere Embedding-Modelle​
https://docs.cohere.com/reference/embed
Verwendung​
from litellm import embedding
os.environ["COHERE_API_KEY"] = "cohere key"
# cohere call
response = embedding(
model="embed-english-v3.0",
input=["good morning from litellm", "this is another item"],
input_type="search_document" # optional param for v3 llms
)
| Modellname | Funktionsaufruf |
|---|---|
| embed-english-v3.0 | embedding(model="embed-english-v3.0", input=["guten morgen von litellm", "das ist ein weiterer Eintrag"]) |
| embed-english-light-v3.0 | embedding(model="embed-english-light-v3.0", input=["guten morgen von litellm", "das ist ein weiterer Eintrag"]) |
| embed-multilingual-v3.0 | embedding(model="embed-multilingual-v3.0", input=["guten morgen von litellm", "das ist ein weiterer Eintrag"]) |
| embed-multilingual-light-v3.0 | embedding(model="embed-multilingual-light-v3.0", input=["guten morgen von litellm", "das ist ein weiterer Eintrag"]) |
| embed-english-v2.0 | embedding(model="embed-english-v2.0", input=["guten morgen von litellm", "das ist ein weiterer Eintrag"]) |
| embed-english-light-v2.0 | embedding(model="embed-english-light-v2.0", input=["guten morgen von litellm", "das ist ein weiterer Eintrag"]) |
| embed-multilingual-v2.0 | embedding(model="embed-multilingual-v2.0", input=["guten morgen von litellm", "das ist ein weiterer Eintrag"]) |
NVIDIA NIM Embedding-Modelle​
API-Schlüssel​
Dies kann als Umgebungsvariable festgelegt oder als Parameter für litellm.embedding() übergeben werden
import os
os.environ["NVIDIA_NIM_API_KEY"] = "" # api key
os.environ["NVIDIA_NIM_API_BASE"] = "" # nim endpoint url
Verwendung​
from litellm import embedding
import os
os.environ['NVIDIA_NIM_API_KEY'] = ""
response = embedding(
model='nvidia_nim/<model_name>',
input=["good morning from litellm"]
)
Alle hier aufgelisteten Modelle hier werden unterstützt
| Modellname | Funktionsaufruf |
|---|---|
| NV-Embed-QA | embedding(model="nvidia_nim/NV-Embed-QA", input) |
| nvidia/nv-embed-v1 | embedding(model="nvidia_nim/nvidia/nv-embed-v1", input) |
| nvidia/nv-embedqa-mistral-7b-v2 | embedding(model="nvidia_nim/nvidia/nv-embedqa-mistral-7b-v2", input) |
| nvidia/nv-embedqa-e5-v5 | embedding(model="nvidia_nim/nvidia/nv-embedqa-e5-v5", input) |
| nvidia/embed-qa-4 | embedding(model="nvidia_nim/nvidia/embed-qa-4", input) |
| nvidia/llama-3.2-nv-embedqa-1b-v1 | embedding(model="nvidia_nim/nvidia/llama-3.2-nv-embedqa-1b-v1", input) |
| nvidia/llama-3.2-nv-embedqa-1b-v2 | embedding(model="nvidia_nim/nvidia/llama-3.2-nv-embedqa-1b-v2", input) |
| snowflake/arctic-embed-l | embedding(model="nvidia_nim/snowflake/arctic-embed-l", input) |
| baai/bge-m3 | embedding(model="nvidia_nim/baai/bge-m3", input) |
HuggingFace Embedding-Modelle​
LiteLLM unterstützt alle Modelle für Feature-Extraktion + Satzähnlichkeit: https://huggingface.co/models?pipeline_tag=feature-extraction
Verwendung​
from litellm import embedding
import os
os.environ['HUGGINGFACE_API_KEY'] = ""
response = embedding(
model='huggingface/microsoft/codebert-base',
input=["good morning from litellm"]
)
Verwendung - Eingabetyp festlegen​
LiteLLM leitet den Eingabetyp (Feature-Extraction oder Satzähnlichkeit) ab, indem es eine GET-Anfrage an die API-Basis sendet.
Überschreiben Sie dies, indem Sie input_type selbst festlegen.
from litellm import embedding
import os
os.environ['HUGGINGFACE_API_KEY'] = ""
response = embedding(
model='huggingface/microsoft/codebert-base',
input=["good morning from litellm", "you are a good bot"],
api_base = "https://p69xlsj6rpno5drq.us-east-1.aws.endpoints.huggingface.cloud",
input_type="sentence-similarity"
)
Verwendung - Benutzerdefinierte API-Basis​
from litellm import embedding
import os
os.environ['HUGGINGFACE_API_KEY'] = ""
response = embedding(
model='huggingface/microsoft/codebert-base',
input=["good morning from litellm"],
api_base = "https://p69xlsj6rpno5drq.us-east-1.aws.endpoints.huggingface.cloud"
)
| Modellname | Funktionsaufruf | Erforderliche OS-Variablen |
|---|---|---|
| microsoft/codebert-base | embedding('huggingface/microsoft/codebert-base', input=input) | os.environ['HUGGINGFACE_API_KEY'] |
| BAAI/bge-large-zh | embedding('huggingface/BAAI/bge-large-zh', input=input) | os.environ['HUGGINGFACE_API_KEY'] |
| any-hf-embedding-model | embedding('huggingface/hf-embedding-model', input=input) | os.environ['HUGGINGFACE_API_KEY'] |
Mistral AI Embedding-Modelle​
Alle hier aufgelisteten Modelle https://docs.mistral.ai/platform/endpoints werden unterstützt
Verwendung​
from litellm import embedding
import os
os.environ['MISTRAL_API_KEY'] = ""
response = embedding(
model="mistral/mistral-embed",
input=["good morning from litellm"],
)
print(response)
| Modellname | Funktionsaufruf |
|---|---|
| mistral-embed | embedding(model="mistral/mistral-embed", input) |
Gemini AI Embedding-Modelle​
API-Schlüssel​
Dies kann als Umgebungsvariable festgelegt oder als Parameter für litellm.embedding() übergeben werden
import os
os.environ["GEMINI_API_KEY"] = ""
Verwendung - Embedding​
from litellm import embedding
response = embedding(
model="gemini/text-embedding-004",
input=["good morning from litellm"],
)
print(response)
Alle hier aufgelisteten Modelle hier werden unterstützt
| Modellname | Funktionsaufruf |
|---|---|
| text-embedding-004 | embedding(model="gemini/text-embedding-004", input) |
Vertex AI Embedding-Modelle​
Verwendung - Embedding​
import litellm
from litellm import embedding
litellm.vertex_project = "hardy-device-38811" # Your Project ID
litellm.vertex_location = "us-central1" # proj location
response = embedding(
model="vertex_ai/textembedding-gecko",
input=["good morning from litellm"],
)
print(response)
Unterstützte Modelle​
Alle hier aufgeführten Modelle hier werden unterstützt
| Modellname | Funktionsaufruf |
|---|---|
| textembedding-gecko | embedding(model="vertex_ai/textembedding-gecko", input) |
| textembedding-gecko-multilingual | embedding(model="vertex_ai/textembedding-gecko-multilingual", input) |
| textembedding-gecko-multilingual@001 | embedding(model="vertex_ai/textembedding-gecko-multilingual@001", input) |
| textembedding-gecko@001 | embedding(model="vertex_ai/textembedding-gecko@001", input) |
| textembedding-gecko@003 | embedding(model="vertex_ai/textembedding-gecko@003", input) |
| text-embedding-preview-0409 | embedding(model="vertex_ai/text-embedding-preview-0409", input) |
| text-multilingual-embedding-preview-0409 | embedding(model="vertex_ai/text-multilingual-embedding-preview-0409", input) |
Voyage AI Embedding-Modelle​
Verwendung - Embedding​
from litellm import embedding
import os
os.environ['VOYAGE_API_KEY'] = ""
response = embedding(
model="voyage/voyage-01",
input=["good morning from litellm"],
)
print(response)
Unterstützte Modelle​
Alle hier aufgeführten Modelle https://docs.voyageai.com/embeddings/#models-and-specifics werden unterstützt
| Modellname | Funktionsaufruf |
|---|---|
| voyage-01 | embedding(model="voyage/voyage-01", input) |
| voyage-lite-01 | embedding(model="voyage/voyage-lite-01", input) |
| voyage-lite-01-instruct | embedding(model="voyage/voyage-lite-01-instruct", input) |
Provider-spezifische Parameter​
Alle nicht-OpenAI-Parameter werden als provider-spezifische Parameter behandelt und als kwargs an den Provider gesendet.
Beispiel​
Cohere v3-Modelle haben einen erforderlichen Parameter: input_type, der einen der folgenden vier Werte annehmen kann
input_type="search_document": (Standard) Verwenden Sie dies für Texte (Dokumente), die Sie in Ihrer Vektordatenbank speichern möchten.input_type="search_query": Verwenden Sie dies für Suchanfragen, um die relevantesten Dokumente in Ihrer Vektordatenbank zu finden.input_type="classification": Verwenden Sie dies, wenn Sie die Embeddings als Eingabe für ein Klassifizierungssystem verwenden.input_type="clustering": Verwenden Sie dies, wenn Sie die Embeddings zur Text-Clusterbildung verwenden.
https://txt.cohere.com/introducing-embed-v3/
- SDK
- PROXY
from litellm import embedding
os.environ["COHERE_API_KEY"] = "cohere key"
# cohere call
response = embedding(
model="embed-english-v3.0",
input=["good morning from litellm", "this is another item"],
input_type="search_document" # 👈 PROVIDER-SPECIFIC PARAM
)
über Konfiguration
model_list:
- model_name: "cohere-embed"
litellm_params:
model: embed-english-v3.0
input_type: search_document # 👈 PROVIDER-SPECIFIC PARAM
über Anfrage
curl -X POST 'http://0.0.0.0:4000/v1/embeddings' \
-H 'Authorization: Bearer sk-54d77cd67b9febbb' \
-H 'Content-Type: application/json' \
-d '{
"model": "cohere-embed",
"input": ["Are you authorized to work in United States of America?"],
"input_type": "search_document" # 👈 PROVIDER-SPECIFIC PARAM
}'