Osadzenia NVIDIA NIM

Pakiet alfa agent-framework-nvidia zapewnia osadzanie tekstu za pośrednictwem firmy NVIDIA NIM. Użyj hostowanego punktu końcowego lub ustaw bazowy adres URL dla własnego kontenera NIM.

Warning

Traktuj wyniki modelu lub osadzeń oraz wywołania narzędzi generowane przez model, gdy są obsługiwane, jako niezaufane dane wejściowe aplikacji. Zweryfikuj je, zanim kod wywoła efekty uboczne lub wyrenderuje zawartość. Jeśli skonfigurujesz niestandardowy punkt końcowy, sprawdź, czy ufasz jego adresowi URL i operatorowi.

Integracja agent-framework-nvidia udokumentowana na tej stronie jest dostępna dla Python. Użyj innego generatora embeddingów .NET dla aplikacji języka C#.

Instalowanie pakietu

pip install agent-framework-nvidia --pre

Konfigurowanie klienta

Ustaw klucz interfejsu API i model osadzania:

NVIDIA_API_KEY="<api-key>"
NVIDIA_EMBEDDING_MODEL="nvidia/nemotron-3-embed-1b"

NVIDIA_BASE_URL opcjonalnie zastępuje hostowany punkt końcowy własnym punktem końcowym NIM.

Utwórz NvidiaEmbeddingClient, wygeneruj embeddingi i zamknij klienta HTTP utworzonego przez instancję:

from agent_framework_nvidia import NvidiaEmbeddingClient

client = NvidiaEmbeddingClient()
try:
    embeddings = await client.get_embeddings(
        ["Agent Framework", "NVIDIA NIM"],
    )
    print(embeddings[0].dimensions)
finally:
    await client.close()

Wstępnie skonfigurowany element async_client pozostaje własnością obiektu wywołującego i pozostaje otwarty, gdy uruchamiane jest NvidiaEmbeddingClient.close().

Konfigurowanie embeddingów wyszukiwania

Modele wyszukiwania asymetrycznego osadzają przechowywane dokumenty i zapytania wyszukiwania inaczej. Ustaw input_type="passage" dla indeksowanej zawartości i input_type="query" dla tekstu wyszukiwania. Służy truncate do kontrolowania zbyt długich wpisów:

await collection.upsert(
    notes,
    embeddings_options={
        "input_type": "passage",
        "truncate": "END",
    },
)

results = await collection.search(
    "How do I call a model hosted on NIM?",
    embeddings_options={"input_type": "query"},
)

input_type akceptuje "passage" lub "query". truncate akceptuje wartości "NONE", "START" lub "END". Przekaż te same opcje zapytania do create_vector_search_tool(..., embeddings_options=...) , gdy agent wykonuje wyszukiwanie.

Hostowany punkt końcowy akceptuje co najwyżej 256 danych wejściowych i treść żądania o rozmiarze co najwyżej 2 MiB. Klient dzieli większe partie na kolejne żądania i zwraca wektory w oryginalnej kolejności. Dostępność modelu zależy od konta skojarzonego z kluczem interfejsu API.

Pełny przykład pobierania można znaleźć w przykładzie embedding firmy NVIDIA.

Integracja agent-framework-nvidia udokumentowana na tej stronie jest dostępna dla Python. Użyj innego generatora osadzania dla aplikacji Go.

Następne kroki