diff --git a/CHANGELOG.md b/CHANGELOG.md index 47e6087f..71d556af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ e este projeto adere ao [Versionamento Semântico](https://semver.org/lang/pt-BR ## [Unreleased] +### Adicionado + +- **Suporte opcional a Groq** (#94): novo provider disponível via `pip install dataframeit[groq]`. Use com `provider='groq'` e modelos como `llama-3.3-70b-versatile` ou `llama-3.1-8b-instant`. Requer `GROQ_API_KEY`. + ## [0.5.4] - 2026-04-13 ### Adicionado diff --git a/docs/en/guides/providers.md b/docs/en/guides/providers.md index 1bc298e0..3e5a7b0c 100644 --- a/docs/en/guides/providers.md +++ b/docs/en/guides/providers.md @@ -9,6 +9,7 @@ Configure different LLM providers via LangChain. | Google | `google_genai` | gemini-3-flash-preview, gemini-2.5-flash, gemini-2.5-pro | | OpenAI | `openai` | gpt-5.2, gpt-5.2-mini, gpt-4.1 | | Anthropic | `anthropic` | claude-sonnet-4-5, claude-opus-4-6, claude-haiku-4-5 | +| Groq | `groq` | llama-3.3-70b-versatile, llama-3.1-8b-instant, openai/gpt-oss-120b, openai/gpt-oss-20b, groq/compound | | Cohere | `cohere` | command-r, command-r-plus | | Mistral | `mistral` | mistral-large, mistral-small | @@ -122,6 +123,63 @@ result = dataframeit( | `claude-opus-4-6` | Maximum quality, agentic | High | | `claude-haiku-4-5` | Fast, economical | Low | +## Groq + +```bash +pip install dataframeit[groq] +export GROQ_API_KEY="your-key" +``` + +```python +result = dataframeit( + df, Model, PROMPT, + text_column='text', + provider='groq', + model='llama-3.3-70b-versatile' +) + +# Faster / cheaper model +result = dataframeit( + df, Model, PROMPT, + text_column='text', + provider='groq', + model='llama-3.1-8b-instant', + model_kwargs={ + 'temperature': 0.2 + } +) + +# GPT-OSS for heavier reasoning tasks +result = dataframeit( + df, Model, PROMPT, + text_column='text', + provider='groq', + model='openai/gpt-oss-120b' +) +``` + +### Recommended Models + +Production: + +| Model | Context | Throughput | Use | +|-------|---------|-----------|-----| +| `llama-3.3-70b-versatile` | 131K | ~280 t/s | General use, good quality | +| `llama-3.1-8b-instant` | 131K | ~560 t/s | High speed, economical | +| `openai/gpt-oss-120b` | 131K | ~500 t/s | Reasoning, complex tasks | +| `openai/gpt-oss-20b` | 131K | ~1000 t/s | Faster than 120b, low cost | +| `groq/compound` | - | ~450 t/s | Agentic system with built-in web search and code execution | + +Preview (may change or be deprecated): + +| Model | Use | +|-------|-----| +| `meta-llama/llama-4-scout-17b-16e-instruct` | Llama 4 Scout, high speed | +| `qwen/qwen3-32b` | Qwen3, good for reasoning | + +!!! note "Availability and free tier" + Groq offers a free tier with per-minute request limits per model. The model catalog changes frequently (especially `preview` models); check [console.groq.com/docs/models](https://console.groq.com/docs/models) for the current list and limits. + ## Cohere ```bash diff --git a/docs/guides/providers.md b/docs/guides/providers.md index bb7c31f9..4ea8cf8c 100644 --- a/docs/guides/providers.md +++ b/docs/guides/providers.md @@ -9,6 +9,7 @@ Configure diferentes provedores de LLM via LangChain. | Google | `google_genai` | gemini-3-flash-preview, gemini-2.5-flash, gemini-2.5-pro | | OpenAI | `openai` | gpt-5.2, gpt-5.2-mini, gpt-4.1 | | Anthropic | `anthropic` | claude-sonnet-4-5, claude-opus-4-6, claude-haiku-4-5 | +| Groq | `groq` | llama-3.3-70b-versatile, llama-3.1-8b-instant, openai/gpt-oss-120b, openai/gpt-oss-20b, groq/compound | | Cohere | `cohere` | command-r, command-r-plus | | Mistral | `mistral` | mistral-large, mistral-small | @@ -116,6 +117,60 @@ resultado = dataframeit( | `claude-opus-4-6` | Máxima qualidade, agentic | Alto | | `claude-haiku-4-5` | Rápido, econômico | Baixo | +## Groq + +```bash +pip install dataframeit[groq] +export GROQ_API_KEY="sua-chave" +``` + +```python +resultado = dataframeit( + df, Model, PROMPT, + provider='groq', + model='llama-3.3-70b-versatile' +) + +# Modelo mais rápido/econômico +resultado = dataframeit( + df, Model, PROMPT, + provider='groq', + model='llama-3.1-8b-instant', + model_kwargs={ + 'temperature': 0.2 + } +) + +# GPT-OSS para tarefas com raciocínio mais pesado +resultado = dataframeit( + df, Model, PROMPT, + provider='groq', + model='openai/gpt-oss-120b' +) +``` + +### Modelos Recomendados + +Produção: + +| Modelo | Contexto | Throughput | Uso | +|--------|----------|-----------|-----| +| `llama-3.3-70b-versatile` | 131K | ~280 t/s | Uso geral, boa qualidade | +| `llama-3.1-8b-instant` | 131K | ~560 t/s | Alta velocidade, econômico | +| `openai/gpt-oss-120b` | 131K | ~500 t/s | Raciocínio, tarefas complexas | +| `openai/gpt-oss-20b` | 131K | ~1000 t/s | Mais rápido que o 120b, custo baixo | +| `groq/compound` | - | ~450 t/s | Sistema agêntico com web search e execução de código embutidos | + +Preview (podem mudar ou ser descontinuados): + +| Modelo | Uso | +|--------|-----| +| `meta-llama/llama-4-scout-17b-16e-instruct` | Llama 4 Scout, alta velocidade | +| `qwen/qwen3-32b` | Qwen3, bom para reasoning | + +!!! note "Disponibilidade e free tier" + O Groq oferece free tier com limites de requisições por minuto por modelo. A lista de modelos muda com frequência (especialmente os `preview`); verifique [console.groq.com/docs/models](https://console.groq.com/docs/models) para o catálogo atual e limites. + ## Cohere ```bash diff --git a/pyproject.toml b/pyproject.toml index 371a243c..37470aa9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,6 +60,9 @@ openai = [ anthropic = [ "langchain-anthropic>=0.3.0", ] +groq = [ + "langchain-groq>=0.2.0", +] claude-code = [ "claude-agent-sdk>=0.1.48", ] @@ -80,6 +83,7 @@ all = [ "langchain-google-genai>=2.0.0", "langchain-openai>=0.3.0", "langchain-anthropic>=0.3.0", + "langchain-groq>=0.2.0", "langchain-tavily>=0.1.0", "langchain-exa>=0.2.0", "claude-agent-sdk>=0.1.48",