Condividi tramite


Informazioni di riferimento sulle API

DevUI offre un'API risposte compatibile con OpenAI, che consente di usare OpenAI SDK o qualsiasi client HTTP per interagire con gli agenti e i flussi di lavoro.

Prossimamente

La documentazione di DevUI per C# sarà presto disponibile. Si prega di controllare più tardi o fare riferimento alla documentazione di Python per indicazioni concettuali.

URL di base

http://localhost:8080/v1

La porta può essere configurata con l'opzione dell'interfaccia della --port riga di comando.

Authentication

Per impostazione predefinita, DevUI non richiede l'autenticazione per lo sviluppo locale. Quando si esegue con --auth, è necessaria l'autenticazione del token bearer.

Uso di OpenAI SDK

Richiesta di base

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="not-needed"  # API key not required for local DevUI
)

response = client.responses.create(
    metadata={"entity_id": "weather_agent"},  # Your agent/workflow name
    input="What's the weather in Seattle?"
)

# Extract text from response
print(response.output[0].content[0].text)

Trasmissione in diretta

response = client.responses.create(
    metadata={"entity_id": "weather_agent"},
    input="What's the weather in Seattle?",
    stream=True
)

for event in response:
    # Process streaming events
    print(event)

Conversazioni a più turni

Usare il parametro OpenAI conversation standard per le conversazioni a più turni:

# Create a conversation
conversation = client.conversations.create(
    metadata={"agent_id": "weather_agent"}
)

# First turn
response1 = client.responses.create(
    metadata={"entity_id": "weather_agent"},
    input="What's the weather in Seattle?",
    conversation=conversation.id
)

# Follow-up turn (continues the conversation)
response2 = client.responses.create(
    metadata={"entity_id": "weather_agent"},
    input="How about tomorrow?",
    conversation=conversation.id
)

DevUI recupera automaticamente la cronologia dei messaggi della conversazione e la passa all'agente.

Endpoint DELL'API REST

API Risposte (OpenAI Standard)

Eseguire un agente o un flusso di lavoro:

curl -X POST http://localhost:8080/v1/responses \
  -H "Content-Type: application/json" \
  -d '{
    "metadata": {"entity_id": "weather_agent"},
    "input": "What is the weather in Seattle?"
  }'

API Conversazioni (OpenAI Standard)

Punto finale Metodo Descrzione
/v1/conversations POST Creare una conversazione
/v1/conversations/{id} GET Ottenere i dettagli della conversazione
/v1/conversations/{id} POST Aggiornare i metadati della conversazione
/v1/conversations/{id} DELETE Eliminare una conversazione
/v1/conversations?agent_id={id} GET Elencare le conversazioni (estensione DevUI)
/v1/conversations/{id}/items POST Aggiungere elementi alla conversazione
/v1/conversations/{id}/items GET Elencare gli elementi della conversazione
/v1/conversations/{id}/items/{item_id} GET Ottenere un elemento di conversazione

Entity Management (estensione DevUI)

Punto finale Metodo Descrzione
/v1/entities GET Elencare agenti/flussi di lavoro individuati
/v1/entities/{entity_id}/info GET Ottenere informazioni dettagliate sulle entità
/v1/entities/{entity_id}/reload POST Entità ricaricamento rapido (modalità sviluppatore)

Controllo integrità

curl http://localhost:8080/health

Metadati del server

Ottenere la configurazione e le funzionalità del server:

curl http://localhost:8080/meta

Restituisce:

  • ui_mode - Modalità corrente (developer o user)
  • version - Versione di DevUI
  • framework - Nome framework (agent_framework)
  • runtime - Runtime back-end (python)
  • capabilities - Flag di funzionalità (traccia, proxy OpenAI, distribuzione)
  • auth_required - Indica se l'autenticazione è abilitata

Mapping eventi

DevUI esegue il mapping degli eventi di Agent Framework agli eventi dell'API Risposte OpenAI. La tabella seguente illustra il mapping:

Eventi del ciclo di vita

OpenAI, evento Evento di Agent Framework
response.created + response.in_progress AgentStartedEvent
response.completed AgentCompletedEvent
response.failed AgentFailedEvent
response.created + response.in_progress WorkflowStartedEvent
response.completed WorkflowCompletedEvent
response.failed WorkflowFailedEvent

Tipi di contenuto

OpenAI, evento Contenuto del framework agente
response.content_part.added + response.output_text.delta TextContent
response.reasoning_text.delta TextReasoningContent
response.output_item.added FunctionCallContent (iniziale)
response.function_call_arguments.delta FunctionCallContent (argomenti)
response.function_result.complete FunctionResultContent
response.output_item.added (immagine) DataContent (immagini)
response.output_item.added (file) DataContent (file)
error ErrorContent

Eventi del flusso di lavoro

OpenAI, evento Evento di Agent Framework
response.output_item.added (ExecutorActionItem) WorkflowEvent con type="executor_invoked"
response.output_item.done (ExecutorActionItem) WorkflowEvent con type="executor_completed"
response.output_item.added (ResponseOutputMessage) WorkflowEvent con type="output"

Estensioni personalizzate devUI

DevUI aggiunge tipi di evento personalizzati per la funzionalità specifica di Agent Framework:

  • response.function_approval.requested - Richieste di approvazione delle funzioni
  • response.function_approval.responded - Risposte di approvazione delle funzioni
  • response.function_result.complete - Risultati dell'esecuzione della funzione sul lato server
  • response.workflow_event.complete - Eventi del flusso di lavoro
  • response.trace.complete - Tracce di esecuzione

Queste estensioni personalizzate sono spazi dei nomi e possono essere ignorate in modo sicuro dai client OpenAI standard.

Modalità proxy OpenAI

DevUI offre una funzionalità proxy OpenAI per testare i modelli OpenAI direttamente tramite l'interfaccia senza creare agenti personalizzati. Abilitare tramite Impostazioni nell'interfaccia utente.

curl -X POST http://localhost:8080/v1/responses \
  -H "X-Proxy-Backend: openai" \
  -d '{"model": "gpt-4.1-mini", "input": "Hello"}'

Annotazioni

La modalità proxy richiede la OPENAI_API_KEY variabile di ambiente configurata nel back-end.

Passaggi successivi