You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

13 lines
441 B

package provider
import "context"
// AIProvider defines the interface for AI model providers
type AIProvider interface {
// Chat sends a synchronous chat request
Chat(ctx context.Context, req *ChatRequest) (*ChatResponse, error)
// ChatStream sends a streaming chat request, returning chunks via channel
ChatStream(ctx context.Context, req *ChatRequest) (<-chan *StreamChunk, error)
// Name returns the provider name
Name() string
}