Go SDK
Veriafy SDK for Go applications
Installation
go get github.com/veriafy/veriafy-goQuick Start
package main
import (
"fmt"
"log"
"github.com/veriafy/veriafy-go"
)
func main() {
// Initialize client
client, err := veriafy.NewClient(veriafy.Config{
APIKey: "sk-xxxxx", // optional for local mode
})
if err != nil {
log.Fatal(err)
}
// Classify a file
result, err := client.Classify(veriafy.ClassifyOptions{
File: "document.pdf",
Model: "veriafy/fraud-detection",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Vector ID: %s\n", result.VectorID)
fmt.Printf("Action: %s\n", result.Action)
fmt.Printf("Confidence: %.2f\n", result.Confidence)
}API Reference
Types
type Config struct {
APIKey string
Local bool // default: true
GPU bool // default: false
}
type ClassifyOptions struct {
File string
Model string
Threshold float64 // default: 0.5
}
type ClassificationResult struct {
VectorID string
FileType string
Categories map[string]float64
Confidence float64
Action string // "allow", "flag", "block"
ProcessingTimeMs float64
}
type VeriafyVector struct {
ID string
Version string
FileType string
Components VectorComponents
}Batch Processing
// Process multiple files concurrently
files := []string{"doc1.pdf", "doc2.pdf", "doc3.pdf"}
results, err := client.ClassifyBatch(veriafy.BatchOptions{
Files: files,
Model: "veriafy/fraud-detection",
BatchSize: 32,
Workers: 4,
})
if err != nil {
log.Fatal(err)
}
for _, result := range results {
if result.Action == "block" {
fmt.Printf("BLOCKED: %s (confidence: %.2f)\n",
result.File, result.Confidence)
}
}HTTP Server Example
package main
import (
"encoding/json"
"net/http"
"github.com/veriafy/veriafy-go"
)
var client *veriafy.Client
func init() {
var err error
client, err = veriafy.NewClient(veriafy.Config{})
if err != nil {
panic(err)
}
}
func moderateHandler(w http.ResponseWriter, r *http.Request) {
file, _, err := r.FormFile("file")
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
defer file.Close()
result, err := client.ClassifyReader(file, veriafy.ClassifyOptions{
Model: "veriafy/nsfw-classifier",
})
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
json.NewEncoder(w).Encode(result)
}
func main() {
http.HandleFunc("/api/moderate", moderateHandler)
http.ListenAndServe(":8080", nil)
}