Ecco lo stesso codice che usa PyTorch al posto di Keras:

```python
# Importiamo le librerie necessarie
import torch
import torch.nn as nn
import pandas as pd

# Carichiamo i dati dal file CSV
data = pd.read_csv("dati.csv")

# Dividiamo i dati in input (X) e output (y)
X = torch.tensor(data.iloc[:, 0:4].values, dtype=torch.float32) # Le prime quattro colonne sono gli input
y = torch.tensor(data.iloc[:, 4].values, dtype=torch.float32) # L'ultima colonna è l'output

# Creiamo il modello sequenziale con tre livelli densi
model = nn.Sequential(
    nn.Linear(4, 8),
    nn.ReLU(),
    nn.Linear(8, 4),
    nn.ReLU(),
    nn.Linear(4, 1),
    nn.Sigmoid()
)

# Definiamo la funzione di perdita e l'ottimizzatore
criterion = nn.BCELoss()
optimizer = torch.optim.Adam(model.parameters())

# Addestriamo il modello sui dati per 100 epoche
for epoch in range(100):
    optimizer.zero_grad()
    y_pred = model(X)
    loss = criterion(y_pred.squeeze(), y)
    loss.backward()
    optimizer.step()

# Valutiamo il modello sullo stesso set di dati
with torch.no_grad():
    y_pred = model(X)
    accuracy = ((y_pred > 0.5).float() == y).float().mean().item() * 100
print(f"Accuracy: {accuracy}%")
```
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence