Files
mistral-go-sdk/moderations.go
vikingowl 776b693f2d chore: move module path to github.com/VikingOwl91/mistral-go-sdk
Public discoverability on pkg.go.dev. Also fixes stream tool call
test fixture to match real Mistral API responses (finish_reason, usage).
2026-04-03 12:01:11 +02:00

45 lines
1.4 KiB
Go

package mistral
import (
"context"
"github.com/VikingOwl91/mistral-go-sdk/classification"
"github.com/VikingOwl91/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
}