Documentation
¶
Overview ¶
Package aiyou provides a client for interacting with the AI.YOU API from Cloud Temple. It supports both email/password and bearer token authentication methods.
Index ¶
- Constants
- Variables
- func MaskSensitiveInfo(input string) string
- func SafeLog(logger Logger) func(level LogLevel, format string, args ...interface{})
- type APIError
- type Assistant
- type AssistantsResponse
- type AudioTranscriptionRequest
- type AudioTranscriptionResponse
- type AuthenticationError
- type Authenticator
- type ChatCompletionRequest
- type ChatCompletionResponse
- type Choice
- type Client
- type ClientInterface
- type ClientOption
- func WithBaseURL(url string) ClientOption
- func WithBearerToken(token string) ClientOption
- func WithEmailPassword(email, password string) ClientOption
- func WithLogger(logger Logger) ClientOption
- func WithRateLimiter(config RateLimiterConfig) ClientOption
- func WithRetry(maxRetries int, initialDelay time.Duration) ClientOption
- type ContentPart
- type ConversationThread
- type Delta
- type LogLevel
- type Logger
- type LoginRequest
- type LoginResponse
- type Message
- type MessageBuilder
- type Model
- type ModelProperties
- type ModelRequest
- type ModelResponse
- type ModelsResponse
- type NetworkError
- type RateLimitError
- type RateLimiter
- type RateLimiterConfig
- type SaveConversationRequest
- type SaveConversationResponse
- type StreamOptions
- type StreamReader
- type SupportedAudioFormat
- type ThreadFilter
- type ThreadHistory
- type Usage
- type User
- type UserThreadsOutput
- type UserThreadsParams
Constants ¶
const ( DEBUG = internal.DEBUG // Niveau de log pour le développement INFO = internal.INFO // Niveau de log pour les informations générales WARN = internal.WARN // Niveau de log pour les avertissements ERROR = internal.ERROR // Niveau de log pour les erreurs )
Constantes de niveau de log
Variables ¶
var SupportedFormats = internal.SupportedFormats // Formats audio supportés
Variables exportées
Functions ¶
func MaskSensitiveInfo ¶
Fonctions utilitaires de sécurité et logging
Types ¶
type AssistantsResponse ¶
type AssistantsResponse = internal.AssistantsResponse
Réexportation des types publics
type AudioTranscriptionRequest ¶
type AudioTranscriptionRequest = internal.AudioTranscriptionRequest
Structures audio
type AudioTranscriptionResponse ¶
type AudioTranscriptionResponse = internal.AudioTranscriptionResponse
Réexportation des types publics
type AuthenticationError ¶
type AuthenticationError = internal.AuthenticationError // Erreurs d'authentification
Réexportation des types publics
type Authenticator ¶
type Authenticator = internal.Authenticator // Interface pour l'authentification (JWT ou Bearer)
Interfaces fondamentales
type ChatCompletionRequest ¶
type ChatCompletionRequest = internal.ChatCompletionRequest // Requête de completion de chat
Structures de chat completion
type ChatCompletionResponse ¶
type ChatCompletionResponse = internal.ChatCompletionResponse // Réponse de completion
Réexportation des types publics
type Client ¶
Client et options de configuration
func NewClient ¶
func NewClient(options ...ClientOption) (*Client, error)
NewClient crée un nouveau client AI.YOU Supporte deux méthodes d'authentification : 1. Email/Mot de passe : NewClient("email@example.com", "password") 2. Bearer Token : NewClient("", "", WithBearerToken("your-token"))
type ClientInterface ¶
type ClientInterface interface { // Configuration SetBaseURL(url string) SetLogger(logger Logger) // Opérations de chat CreateChatCompletion(ctx context.Context, messages []Message, assistantID string) (*ChatCompletionResponse, error) CreateChatCompletionStream(ctx context.Context, messages []Message, assistantID string) (*StreamReader, error) ChatCompletion(ctx context.Context, req ChatCompletionRequest) (*ChatCompletionResponse, error) ChatCompletionStream(ctx context.Context, req ChatCompletionRequest) (*StreamReader, error) // Opérations sur les assistants et modèles GetUserAssistants(ctx context.Context) (*AssistantsResponse, error) CreateModel(ctx context.Context, req ModelRequest) (*ModelResponse, error) GetModels(ctx context.Context) (*ModelsResponse, error) // Opérations sur les conversations SaveConversation(ctx context.Context, req SaveConversationRequest) (*SaveConversationResponse, error) GetConversation(ctx context.Context, threadID string) (*ConversationThread, error) GetUserThreads(ctx context.Context, params *UserThreadsParams) (*UserThreadsOutput, error) DeleteThread(ctx context.Context, threadID string) error // Opérations audio TranscribeAudioFile(ctx context.Context, filePath string, opts *AudioTranscriptionRequest) (*AudioTranscriptionResponse, error) }
Interface du Client définissant toutes les opérations disponibles
type ClientOption ¶
type ClientOption = internal.ClientOption
Réexportation des types publics
func WithBaseURL ¶
func WithBaseURL(url string) ClientOption
func WithBearerToken ¶ added in v1.2.0
func WithBearerToken(token string) ClientOption
WithBearerToken configure le client pour utiliser l'authentification par bearer token
func WithEmailPassword ¶ added in v1.2.0
func WithEmailPassword(email, password string) ClientOption
WithEmailPassword configure le client pour utiliser l'authentification par email/mot de passe
func WithRateLimiter ¶
func WithRateLimiter(config RateLimiterConfig) ClientOption
type ContentPart ¶
type ContentPart = internal.ContentPart // Partie de contenu d'un message (texte, image, etc.)
Réexportation des types publics
type ConversationThread ¶
type ConversationThread = internal.ConversationThread
Structures des conversations
type Logger ¶
Réexportation des types publics
func NewDefaultLogger ¶
NewDefaultLogger crée un nouveau logger avec la configuration par défaut
type LoginRequest ¶
type LoginRequest = internal.LoginRequest // Requête d'authentification par email/mot de passe
Structures d'authentification
type LoginResponse ¶
type LoginResponse = internal.LoginResponse // Réponse contenant le token JWT
Réexportation des types publics
type Message ¶
Structures de messages et contenus
func NewImageMessage ¶
func NewTextMessage ¶
Fonctions utilitaires pour la création de messages
type MessageBuilder ¶
type MessageBuilder = internal.MessageBuilder
Réexportation des types publics
func NewMessageBuilder ¶
func NewMessageBuilder(role string, logger Logger) *MessageBuilder
NewMessageBuilder crée un nouveau builder pour construire des messages complexes
type ModelProperties ¶
type ModelProperties = internal.ModelProperties
Réexportation des types publics
type NetworkError ¶
type NetworkError = internal.NetworkError // Erreurs réseau
Réexportation des types publics
type RateLimitError ¶
type RateLimitError = internal.RateLimitError // Erreurs de limitation de débit
Réexportation des types publics
type RateLimiter ¶
type RateLimiter = internal.RateLimiter
Réexportation des types publics
func NewRateLimiter ¶
func NewRateLimiter(config RateLimiterConfig, logger Logger) *RateLimiter
NewRateLimiter crée un nouveau rate limiter avec la configuration spécifiée
type RateLimiterConfig ¶
type RateLimiterConfig = internal.RateLimiterConfig
Réexportation des types publics
type SaveConversationRequest ¶
type SaveConversationRequest = internal.SaveConversationRequest
Réexportation des types publics
type SaveConversationResponse ¶
type SaveConversationResponse = internal.SaveConversationResponse
Réexportation des types publics
type StreamOptions ¶ added in v1.0.0
type StreamOptions = internal.StreamOptions
Réexportation des types publics
type SupportedAudioFormat ¶
type SupportedAudioFormat = internal.SupportedAudioFormat
Réexportation des types publics
type ThreadHistory ¶ added in v1.0.0
type ThreadHistory = internal.ThreadHistory
Réexportation des types publics
type UserThreadsOutput ¶ added in v1.0.0
type UserThreadsOutput = internal.UserThreadsOutput
Réexportation des types publics
type UserThreadsParams ¶ added in v1.0.0
type UserThreadsParams = internal.UserThreadsParams
Réexportation des types publics