Files
mistral-go-sdk/agents_complete.go
vikingowl 07505b333f feat: Phase 3 core completions — FIM, Agents, Embeddings
Add FIM, Agents, and Embedding endpoints:
- fim/request.go: FIMCompletionRequest (prompt/suffix model)
- agents/request.go: AgentsCompletionRequest (agent_id + messages)
- embedding/embedding.go: Request/Response/Data types with dtype/encoding
- FIMComplete, FIMCompleteStream, AgentsComplete, AgentsCompleteStream,
  CreateEmbeddings service methods
- All reuse chat.CompletionResponse/CompletionChunk for responses
- 11 new httptest-based tests
2026-03-05 19:36:49 +01:00

28 lines
866 B
Go

package mistral
import (
"context"
"somegit.dev/vikingowl/mistral-go-sdk/agents"
"somegit.dev/vikingowl/mistral-go-sdk/chat"
)
// AgentsComplete sends an agents completion request.
func (c *Client) AgentsComplete(ctx context.Context, req *agents.CompletionRequest) (*chat.CompletionResponse, error) {
var resp chat.CompletionResponse
if err := c.doJSON(ctx, "POST", "/v1/agents/completions", req, &resp); err != nil {
return nil, err
}
return &resp, nil
}
// AgentsCompleteStream sends an agents request and returns a stream of chunks.
func (c *Client) AgentsCompleteStream(ctx context.Context, req *agents.CompletionRequest) (*Stream[chat.CompletionChunk], error) {
req.SetStream(true)
resp, err := c.doStream(ctx, "POST", "/v1/agents/completions", req)
if err != nil {
return nil, err
}
return newStream[chat.CompletionChunk](resp.Body), nil
}