Files
mistral-go-sdk/moderations.go
vikingowl 27b9e4ea23 feat: Phase 7 agents CRUD + moderation + classification
Agents lifecycle: create, get, list, update, delete, version switching,
version listing, aliases (set/list/delete). Agent types include tools
(function, web_search, code_interpreter, etc.), guardrails, completion
args. Moderation: text + chat endpoints with categories and scores.
Classification: text + chat endpoints with target result scores.
2026-03-05 19:59:02 +01:00

45 lines
1.4 KiB
Go

package mistral
import (
"context"
"somegit.dev/vikingowl/mistral-go-sdk/classification"
"somegit.dev/vikingowl/mistral-go-sdk/moderation"
)
// Moderate sends a text moderation request.
func (c *Client) Moderate(ctx context.Context, req *moderation.Request) (*moderation.Response, error) {
var resp moderation.Response
if err := c.doJSON(ctx, "POST", "/v1/moderations", req, &resp); err != nil {
return nil, err
}
return &resp, nil
}
// ModerateChat sends a chat moderation request.
func (c *Client) ModerateChat(ctx context.Context, req *moderation.ChatRequest) (*moderation.Response, error) {
var resp moderation.Response
if err := c.doJSON(ctx, "POST", "/v1/chat/moderations", req, &resp); err != nil {
return nil, err
}
return &resp, nil
}
// Classify sends a text classification request.
func (c *Client) Classify(ctx context.Context, req *classification.Request) (*classification.Response, error) {
var resp classification.Response
if err := c.doJSON(ctx, "POST", "/v1/classifications", req, &resp); err != nil {
return nil, err
}
return &resp, nil
}
// ClassifyChat sends a chat classification request.
func (c *Client) ClassifyChat(ctx context.Context, req *classification.ChatRequest) (*classification.Response, error) {
var resp classification.Response
if err := c.doJSON(ctx, "POST", "/v1/chat/classifications", req, &resp); err != nil {
return nil, err
}
return &resp, nil
}