providers/groq/groq library

Modular Groq Provider

This library provides a modular implementation of the Groq provider

Key Benefits:

  • Single Responsibility: Each module handles one capability
  • Easier Testing: Modules can be tested independently
  • Better Maintainability: Changes isolated to specific modules
  • Cleaner Code: Smaller, focused classes
  • Reusability: Modules can be reused across providers
  • Speed Optimized: Groq is known for fast inference

Usage:

import 'package:llm_dart/providers/groq/groq.dart';

final provider = GroqProvider(GroqConfig(
  apiKey: 'your-api-key',
  model: 'llama-3.3-70b-versatile',
));

// Use chat capability
final response = await provider.chat(messages);

Classes

GroqChat
Groq Chat capability implementation
GroqChatResponse
Groq chat response implementation
GroqClient
Core Groq HTTP client shared across all capability modules
GroqConfig
Groq provider configuration
GroqProvider
Groq provider implementation

Functions

createGroqChatProvider({required String apiKey, String model = 'llama-3.3-70b-versatile', String? systemPrompt, double? temperature, int? maxTokens}) GroqProvider
Create a Groq provider for chat
createGroqCodeProvider({required String apiKey, String model = 'llama-3.1-70b-versatile', String? systemPrompt, double? temperature, int? maxTokens}) GroqProvider
Create a Groq provider for code generation
createGroqFastProvider({required String apiKey, String model = 'llama-3.1-8b-instant', String? systemPrompt, double? temperature, int? maxTokens}) GroqProvider
Create a Groq provider for fast inference
createGroqProvider({required String apiKey, String? model, String? baseUrl, int? maxTokens, double? temperature, String? systemPrompt, Duration? timeout, bool? stream, double? topP, int? topK, List<Tool>? tools, ToolChoice? toolChoice}) GroqProvider
Create a Groq provider with default configuration
createGroqVisionProvider({required String apiKey, String model = 'llava-v1.5-7b-4096-preview', String? systemPrompt, double? temperature, int? maxTokens}) GroqProvider
Create a Groq provider for vision tasks