• Informazioni su Milvus
  • Iniziare
  • Concetti
  • Guida per l'utente
  • Importazione dei dati
  • Strumenti AI
  • Guida all'amministrazione
  • Strumenti
  • Integrazioni
  • Tutorial
  • Domande frequenti
  • API Reference

Connessione al server Milvus

Questo argomento descrive come stabilire una connessione client a un server Milvus e configurare le opzioni di connessione più comuni.

Prerequisiti

Connessione tramite URI (autenticazione disabilitata)

Utilizzare l'indirizzo del server Milvus (ad esempio http://localhost:19530) per stabilire una connessione.

from pymilvus import MilvusClient

client = MilvusClient("http://localhost:19530")
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .build();
client = new MilvusClientV2(config);
import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({
   address: 'http://localhost:19530'
});
import "github.com/milvus-io/milvus/client/v2/milvusclient"

c, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
})
# The RESTful API is stateless, so there is no persistent connection.
# Each request hits the server directly; the /collections/list endpoint
# doubles as a health check when you need to verify reachability.
export HOST="localhost:19530"

curl -X POST "http://${HOST}/v2/vectordb/collections/list" \
    -H "Content-Type: application/json" \
    -d '{}'

Connettersi con le credenziali (autenticazione abilitata)

Fornire un token nella forma "username:password" oppure user e password separati. L'admin predefinito è root:Milvus (da modificare per la produzione).

from pymilvus import MilvusClient

# Token form
client = MilvusClient(
    uri="http://localhost:19530",
    token="root:Milvus",
)

# Or explicit user/password
client = MilvusClient(
    uri="http://localhost:19530",
    user="root",
    password="Milvus",
)
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .username("root")
        .password("Milvus")
        .build();
client = new MilvusClientV2(config);
import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({
   address: 'http://localhost:19530',
   username: 'root',
   password: 'Milvus'
});
import "github.com/milvus-io/milvus/client/v2/milvusclient"

c, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
    Username: "root",
    Password: "Milvus",
})
export HOST="localhost:19530"
export TOKEN="root:Milvus"

curl -X POST "http://${HOST}/v2/vectordb/collections/list" \
    -H "Authorization: Bearer ${TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{}'

Il formato del token è "<username>:<password>". I documenti indicano esplicitamente root:Milvus come credenziale predefinita e la guida Crea utenti e ruoli tratta la gestione degli utenti.

Configurare un timeout

Impostare un timeout predefinito per la connessione del client:

from pymilvus import MilvusClient

client = MilvusClient(uri="http://localhost:19530", timeout=1000) # If not set, the timeout defaults to 10s
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .rpcDeadlineMs(1000)
        .build();
client = new MilvusClientV2(config);

import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({
   address: 'http://localhost:19530',
   username: 'root',
   password: 'Milvus',
   timeout: 1000 // ms
});
// await client.listCollections({ timeout: 2000})
import "github.com/milvus-io/milvus/client/v2/milvusclient"

ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
c, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
})
export HOST="localhost:19530"
export TOKEN="root:Milvus"

# Request-Timeout is applied per-request (unit: seconds). --max-time
# caps the total curl wall-clock so the client gives up even if the
# server never responds.
curl -X POST "http://${HOST}/v2/vectordb/collections/list" \
    -H "Authorization: Bearer ${TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Request-Timeout: 5" \
    --max-time 7 \
    -d '{}'
  • Per gli SDK sopra elencati, questo timeout è usato solo quando si stabiliscono le connessioni e non serve come timeout predefinito per altre operazioni API.

  • Per l'API RESTful, Request-Timeout è una scadenza per richiesta in secondi (a differenza di rpcDeadlineMs di Java e timeout di Node.js, che sono in millisecondi), quindi va incluso in ogni chiamata che richiede una scadenza.

Connettersi a un database specifico

Scegliere il database di destinazione durante la costruzione con db_name. Si può anche cambiare in seguito con using_database().

from pymilvus import MilvusClient

# Set the database when creating the client
client = MilvusClient(
    uri="http://localhost:19530",
    token="root:Milvus",
    db_name="analytics",
)

# (Optional) Switch the active database later
# client.using_database("reports")
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .username("root")
        .password("Milvus")
        .dbName("analytics")
        .build();
client = new MilvusClientV2(config);
import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({
   address: 'http://localhost:19530',
   username: 'root',
   password: 'Milvus',
   database: 'analytics'
});
// (Optional) Switch the active database later
// await milvusClient.useDatabase({
//   db_name: 'reports',
//});
import "github.com/milvus-io/milvus/client/v2/milvusclient"

c, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
    DBName:  "analytics",
    APIKey:  "root:Milvus",
})
// (Optional) switch the active database later with:
err = c.UseDatabase(ctx, milvusclient.NewUseDatabaseOption("reports"))
export HOST="localhost:19530"
export TOKEN="root:Milvus"

# Target a specific database by setting "dbName" in the request body.
# The RESTful API is stateless, so include "dbName" on every request
# that should run against a non-default database.
curl -X POST "http://${HOST}/v2/vectordb/collections/list" \
    -H "Authorization: Bearer ${TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{
      "dbName": "analytics"
    }'

Per la creazione, l'elencazione e la descrizione dei database e per le attività più ampie di gestione dei database, consultare la guida Database.

Cosa c'è dopo