Vai al contenuto

Primo test con un modello LLM

Questa guida permette di verificare l'accesso ai modelli LLM serviti da ALIDA prima di configurare un agente. Il servizio usa Ollama e offre sia le API native sia endpoint compatibili con OpenAI.

Scegliere l'endpoint

Sono disponibili due modalita di accesso:

  • Gateway ALIDA: https://<url-istanza-alida>/events/ollama/ollama-user. E' la scelta consigliata per le applicazioni che operano in ALIDA. Ad esempio, per l'istanza devng usare https://alida.devng.alidalab.it/events/ollama/ollama-user. Il gateway richiede un'API key creata nell'interfaccia ALIDA, inviata come Authorization: Apikey <api-key>. La procedura e descritta nella guida alle API key.

Warning

Per creare un'API key da usare con gli agenti, e necessario avere il ruolo ollama-user in ALIDA. Contattare un amministratore per richiederne l'abilitazione.

  • Istanza di develop: https://ollama.develop.alidalab.it. Usarla solo se si dispone delle credenziali autorizzate per l'accesso diretto. L'istanza di develop richiede invece l'header Authorization: Basic <credenziali-base64>.

Warning

L'api key per l'istanza di develop non può essere generata automaticamente, sarà necessario contattare un admin per richiederla

Le chiamate ai modelli sono normali endpoint HTTP.

Preparare le variabili

export ALIDA_URL='https://<url-istanza-alida>'
export ALIDA_API_KEY='<api-key-generata-dall-ui-alida>'
export OLLAMA_DEVELOP_URL='https://ollama.develop.alidalab.it'
export OLLAMA_DEVELOP_BASIC_AUTH='<credenziali-basic-codificate-in-base64>'

Elencare i modelli

Prima di inviare una richiesta, recuperare il catalogo e scegliere un valore da usare al posto di <modello>.

curl -sS \
  "${ALIDA_URL}/events/ollama/ollama-user/api/tags" \
  -H "Authorization: Apikey ${ALIDA_API_KEY}"
curl -sS \
  "${ALIDA_URL}/events/ollama/ollama-user/v1/models" \
  -H "Authorization: Apikey ${ALIDA_API_KEY}"
curl -sS "${OLLAMA_DEVELOP_URL}/api/tags" \
  -H "Authorization: Basic ${OLLAMA_DEVELOP_BASIC_AUTH}"
curl -sS "${OLLAMA_DEVELOP_URL}/v1/models" \
  -H "Authorization: Basic ${OLLAMA_DEVELOP_BASIC_AUTH}"

Generare una prima risposta

Il parametro "stream": false restituisce una sola risposta JSON, utile per un primo test.

curl -sS \
  "${ALIDA_URL}/events/ollama/ollama-user/api/generate" \
  -H "Authorization: Apikey ${ALIDA_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "<modello>",
    "prompt": "Hello world",
    "stream": false
  }'
curl -sS \
  "${ALIDA_URL}/events/ollama/ollama-user/v1/chat/completions" \
  -H "Authorization: Apikey ${ALIDA_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "<modello>",
    "messages": [
      {"role": "user", "content": "Hello world"}
    ],
    "stream": false
  }'
curl -sS "${OLLAMA_DEVELOP_URL}/api/generate" \
  -H "Authorization: Basic ${OLLAMA_DEVELOP_BASIC_AUTH}" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "<modello>",
    "prompt": "Hello world",
    "stream": false
  }'
curl -sS "${OLLAMA_DEVELOP_URL}/v1/chat/completions" \
  -H "Authorization: Basic ${OLLAMA_DEVELOP_BASIC_AUTH}" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "<modello>",
    "messages": [
      {"role": "user", "content": "Hello world"}
    ],
    "stream": false
  }'

Dopo aver verificato il modello, scegliere e preparare un agente OpenCode o un agente ADK. Configurare la chat solo dopo che l'agente e stato deployato e avviato.