Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Translated English(en) into Brazilian Portuguese (pt_br) #609

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
maurorisonho wants to merge 1 commit into huggingface:main
base: main
Choose a base branch
Loading
from maurorisonho:main
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
172 changes: 172 additions & 0 deletions units/pt_br/_toctree.yml
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
- title: Unidade 0. Bem-vindos ao curso
sections:
- local: unit0/introduction
title: Bem-vindos ao curso 🤗
- local: unit0/onboarding
title: Integração
- local: unit0/discord101
title: (Opcional) Discord 101
- title: Live 1. Como o curso funciona e sessão de perguntas e respostas
sections:
- local: communication/live1
title: Live 1. Como o curso funciona e sessão de perguntas e respostas
- title: Unidade 1. Introdução aos Agentes
sections:
- local: unit1/introduction
title: Introdução
- local: unit1/what-are-agents
title: O que é um Agente?
- local: unit1/quiz1
title: Quiz Rápido 1
- local: unit1/what-are-llms
title: O que são LLMs?
- local: unit1/messages-and-special-tokens
title: Mensagens e Tokens Especiais
- local: unit1/tools
title: O que são Ferramentas?
- local: unit1/quiz2
title: Quiz Rápido 2
- local: unit1/agent-steps-and-structure
title: Compreendendo Agentes de IA através do Ciclo Pensamento-Ação-Observação
- local: unit1/thoughts
title: Pensamento, Raciocínio Interno e a Abordagem Re-Act
- local: unit1/actions
title: Ações, Permitindo que o Agente Interaja com seu Ambiente
- local: unit1/observations
title: Observar, Integrando Feedback para Refletir e Adaptar
- local: unit1/dummy-agent-library
title: Biblioteca de Agente Fictício
- local: unit1/tutorial
title: Vamos Criar Nosso Primeiro Agente Usando smolagents
- local: unit1/final-quiz
title: Quiz Final da Unidade 1
- local: unit1/conclusion
title: Conclusão
- title: Unidade 2. Frameworks para Agentes de IA
sections:
- local: unit2/introduction
title: Frameworks para Agentes de IA
- title: Unidade 2.1 O framework smolagents
sections:
- local: unit2/smolagents/introduction
title: Introdução ao smolagents
- local: unit2/smolagents/why_use_smolagents
title: Por que usar smolagents?
- local: unit2/smolagents/quiz1
title: Quiz Rápido 1
- local: unit2/smolagents/code_agents
title: Construindo Agentes que Usam Código
- local: unit2/smolagents/tool_calling_agents
title: Escrevendo ações como trechos de código ou objetos JSON
- local: unit2/smolagents/tools
title: Ferramentas
- local: unit2/smolagents/retrieval_agents
title: Agentes de Recuperação
- local: unit2/smolagents/quiz2
title: Quiz Rápido 2
- local: unit2/smolagents/multi_agent_systems
title: Sistemas Multi-Agente
- local: unit2/smolagents/vision_agents
title: Agentes de Visão e Navegador
- local: unit2/smolagents/final_quiz
title: Quiz Final
- local: unit2/smolagents/conclusion
title: Conclusão
- title: Unidade 2.2 O framework LlamaIndex
sections:
- local: unit2/llama-index/introduction
title: Introdução ao LlamaIndex
- local: unit2/llama-index/llama-hub
title: Introdução ao LlamaHub
- local: unit2/llama-index/components
title: O que são Componentes no LlamaIndex?
- local: unit2/llama-index/tools
title: Usando Ferramentas no LlamaIndex
- local: unit2/llama-index/quiz1
title: Quiz Rápido 1
- local: unit2/llama-index/agents
title: Usando Agentes no LlamaIndex
- local: unit2/llama-index/workflows
title: Criando Fluxos de Trabalho Agênticos no LlamaIndex
- local: unit2/llama-index/quiz2
title: Quiz Rápido 2
- local: unit2/llama-index/conclusion
title: Conclusão
- title: Unidade 2.3 O framework LangGraph
sections:
- local: unit2/langgraph/introduction
title: Introdução ao LangGraph
- local: unit2/langgraph/when_to_use_langgraph
title: O que é LangGraph?
- local: unit2/langgraph/building_blocks
title: Blocos de Construção do LangGraph
- local: unit2/langgraph/first_graph
title: Construindo seu Primeiro LangGraph
- local: unit2/langgraph/document_analysis_agent
title: Grafo de Análise de Documentos
- local: unit2/langgraph/quiz1
title: Quiz Rápido 1
- local: unit2/langgraph/conclusion
title: Conclusão
- title: Unidade 3. Caso de Uso para RAG Agêntico
sections:
- local: unit3/agentic-rag/introduction
title: Introdução ao Caso de Uso para RAG Agêntico
- local: unit3/agentic-rag/agentic-rag
title: Geração Aumentada por Recuperação Agêntica (RAG)
- local: unit3/agentic-rag/invitees
title: Criando uma Ferramenta RAG para Histórias de Convidados
- local: unit3/agentic-rag/tools
title: Construindo e Integrando Ferramentas para seu Agente
- local: unit3/agentic-rag/agent
title: Criando seu Agente de Gala
- local: unit3/agentic-rag/conclusion
title: Conclusão
- title: Unidade 4. Projeto Final - Criar, Testar e Certificar seu Agente
sections:
- local: unit4/introduction
title: Introdução à Unidade Final
- local: unit4/what-is-gaia
title: O que é GAIA?
- local: unit4/hands-on
title: O Hands-On Final
- local: unit4/get-your-certificate
title: Obtenha seu Certificado de Excelência
- local: unit4/conclusion
title: Conclusão do Curso
- local: unit4/additional-readings
title: O que você deveria aprender agora?
- title: Unidade Bônus 1. Ajuste fino de um LLM para Chamada de Funções
sections:
- local: bonus-unit1/introduction
title: Introdução
- local: bonus-unit1/what-is-function-calling
title: O que é Chamada de Funções?
- local: bonus-unit1/fine-tuning
title: Vamos Fazer o Ajuste Fino do seu modelo para Chamada de Funções
- local: bonus-unit1/conclusion
title: Conclusão
- title: Unidade Bônus 2. Observabilidade e Avaliação de Agentes
sections:
- local: bonus-unit2/introduction
title: Introdução
- local: bonus-unit2/what-is-agent-observability-and-evaluation
title: O que é observabilidade e avaliação de agentes?
- local: bonus-unit2/monitoring-and-evaluating-agents-notebook
title: Monitorando e avaliando agentes
- local: bonus-unit2/quiz
title: Quiz
- title: Unidade Bônus 3. Agentes em Jogos com Pokémon
sections:
- local: bonus-unit3/introduction
title: Introdução
- local: bonus-unit3/state-of-art
title: O Estado da Arte no Uso de LLMs em Jogos
- local: bonus-unit3/from-llm-to-agents
title: De LLMs para Agentes de IA
- local: bonus-unit3/building_your_pokemon_agent
title: Construa seu Próprio Agente de Batalha Pokémon
- local: bonus-unit3/launching_agent_battle
title: Lançando seu Agente de Batalha Pokémon
- local: bonus-unit3/conclusion
title: Conclusão
13 changes: 13 additions & 0 deletions units/pt_br/bonus-unit1/conclusion.mdx
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Conclusão [[conclusion]]

Parabéns por concluir esta primeira Unidade Bônus 🥳

Você acabou de **dominar a compreensão de chamadas de função e como ajustar seu modelo para executá-las**!

Se pudermos deixar apenas um conselho agora, é para você **fazer fine-tuning em modelos diferentes**. A **melhor maneira de aprender é colocando a mão na massa.**

Na próxima unidade, você vai aprender a usar **frameworks de ponta como `smolagents`, `LlamaIndex` e `LangGraph`**.

Por fim, adoraríamos **saber o que você achou do curso e como podemos melhorá-lo**. Se tiver algum feedback, por favor 👉 [preencha este formulário](https://docs.google.com/forms/d/e/1FAIpQLSe9VaONn0eglax0uTwi29rIn4tM7H2sYmmybmG5jJNlE5v0xA/viewform?usp=dialog)

### Continue aprendendo, continue incrível 🤗
48 changes: 48 additions & 0 deletions units/pt_br/bonus-unit1/fine-tuning.mdx
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Vamos Fazer Fine-Tuning do Seu Modelo para Function Calling

Estamos prontos para ajustar nosso primeiro modelo para function calling 🔥.

## Como treinamos nosso modelo para function calling?

> Resposta: precisamos de **dados**

O processo de treinamento de um modelo pode ser dividido em 3 etapas:

1. **O modelo é pré-treinado em uma grande quantidade de dados**. O resultado dessa etapa é um **modelo pré-treinado**. Por exemplo, [google/gemma-2-2b](https://huggingface.co/google/gemma-2-2b). É um modelo base e sabe apenas **prever o próximo token sem grandes capacidades de seguir instruções**.

2. Para ser útil em um contexto de chat, o modelo precisa então ser **ajustado (fine-tuned)** para seguir instruções. Nessa etapa, ele pode ser treinado pelos criadores, pela comunidade open-source, por você ou por qualquer pessoa. Por exemplo, [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it) é um modelo ajustado para instruções pela equipe do projeto Gemma, do Google.

3. O modelo pode então ser **alinhado** às preferências do criador. Pense, por exemplo, em um modelo de atendimento ao cliente que jamais deve ser grosseiro.

Produtos completos como Gemini ou Mistral **passam pelas 3 etapas**, enquanto os modelos disponíveis no Hugging Face podem ter completado uma ou mais dessas fases.

Neste tutorial, vamos construir um modelo com function calling a partir do [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it). Escolhemos o modelo já ajustado [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it) em vez do modelo base [google/gemma-2-2b](https://huggingface.co/google/gemma-2-2b) porque ele já foi melhorado para o nosso caso de uso.

Partir do modelo apenas pré-treinado **exigiria muito mais treinamento para aprender a seguir instruções, conversar E executar function calling**.

Ao começar pelo modelo ajustado para instruções, **minimizamos a quantidade de informação que o nosso modelo precisa aprender**.

## LoRA (Low-Rank Adaptation of Large Language Models)

LoRA é uma técnica de treinamento popular e leve que **reduz significativamente o número de parâmetros treináveis**.

Ela funciona **inserindo um pequeno conjunto de novos pesos como um adaptador dentro do modelo para serem treinados**. Isso torna o treinamento com LoRA muito mais rápido, eficiente em memória e gera pesos menores (algumas centenas de MB), fáceis de armazenar e compartilhar.

<img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/blog_multi-lora-serving_LoRA.gif" alt="LoRA inference" width="50%"/>

LoRA atua adicionando pares de matrizes de decomposição de posto baixo às camadas do Transformer, normalmente focando nas camadas lineares. Durante o treinamento, "congelamos" o restante do modelo e atualizamos apenas os pesos desses adaptadores recém-adicionados.

Ao fazer isso, o número de **parâmetros** que precisamos treinar cai bastante, já que apenas os pesos dos adaptadores são atualizados.

Durante a inferência, a entrada passa tanto pelo adaptador quanto pelo modelo base; também é possível fundir esses pesos com o modelo base, sem gerar latência adicional.

LoRA é especialmente útil para adaptar modelos de linguagem **grandes** a tarefas ou domínios específicos mantendo os requisitos de recursos sob controle. Isso ajuda a reduzir a memória **necessária** para treinar um modelo.

Se quiser aprender mais sobre como LoRA funciona, confira este [tutorial](https://huggingface.co/learn/nlp-course/chapter11/4?fw=pt).

## Fazendo Fine-Tuning de um Modelo para Function Calling

Você pode acessar o notebook do tutorial 👉 [aqui](https://huggingface.co/agents-course/notebooks/blob/main/bonus-unit1/bonus-unit1.ipynb).

Depois, clique em [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/#fileId=https://huggingface.co/agents-course/notebooks/blob/main/bonus-unit1/bonus-unit1.ipynb) para executá-lo em um Notebook Colab.

52 changes: 52 additions & 0 deletions units/pt_br/bonus-unit1/introduction.mdx
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Introdução

![Bonus Unit 1 Thumbnail](https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/bonus-unit1/thumbnail.jpg)

Bem-vindo a esta primeira **Unidade Bônus**, na qual você vai aprender a **fazer fine-tuning de um Large Language Model (LLM) para chamadas de função**.

Quando falamos de LLMs, function calling está rapidamente se tornando uma técnica indispensável.

A ideia é que, em vez de depender apenas de abordagens baseadas em prompt como fizemos na Unidade 1, o function calling treina seu modelo para **tomar ações e interpretar observações durante a fase de treinamento**, deixando sua IA mais robusta.

> **Quando devo fazer esta Unidade Bônus?**
>
> Esta seção é **opcional** e mais avançada do que a Unidade 1, então sinta-se à vontade para fazê-la agora ou revisitá-la quando seu conhecimento tiver evoluído com este curso.
>
> Mas não se preocupe, esta Unidade Bônus foi concebida para trazer todas as informações necessárias. Vamos guiá-lo por cada conceito essencial de fine-tuning para chamadas de função, mesmo que você ainda não domine todos os detalhes desse processo.

A melhor forma de aproveitar esta Unidade Bônus é:

1. Saber como fazer fine-tuning de um LLM com Transformers; se ainda não souber, [confira isto](https://huggingface.co/learn/nlp-course/chapter3/1?fw=pt).
2. Conhecer o `SFTTrainer` para ajustar o modelo; para saber mais, [acesse esta documentação](https://huggingface.co/learn/nlp-course/en/chapter11/1).

---

## O que você vai aprender

1. **Function Calling**
Como LLMs modernos estruturam suas conversas, permitindo acionar **Ferramentas**.

2. **LoRA (Low-Rank Adaptation)**
Um método de fine-tuning **leve e eficiente** que reduz o custo computacional e de armazenamento. LoRA torna o treinamento de grandes modelos *mais rápido, barato e fácil* de colocar em produção.

3. **O ciclo Pensar → Agir → Observar** em modelos com function calling
Uma abordagem simples e poderosa para estruturar como o seu modelo decide quando (e como) chamar funções, acompanhar etapas intermediárias e interpretar resultados vindos de ferramentas externas ou APIs.

4. **Novos tokens especiais**
Vamos apresentar **marcadores especiais** que ajudam o modelo a diferenciar entre:
- raciocínio interno ("chain-of-thought");
- chamadas de função enviadas;
- respostas que retornam de ferramentas externas.

---

Ao final desta unidade bônus, você será capaz de:

- **Entender** o funcionamento interno de APIs no contexto de Ferramentas;
- **Fazer fine-tuning** de um modelo usando a técnica LoRA;
- **Implementar** e **ajustar** o ciclo Pensar → Agir → Observar para criar fluxos de trabalho robustos e fáceis de manter para function calling;
- **Criar e utilizar** tokens especiais para separar de forma fluida o raciocínio interno das ações externas do modelo.

E você **terá ajustado seu próprio modelo para realizar chamadas de função.** 🔥

Vamos mergulhar em **function calling**!
78 changes: 78 additions & 0 deletions units/pt_br/bonus-unit1/what-is-function-calling.mdx
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# O que é Function Calling?

Function calling é uma **maneira de um LLM executar ações em seu ambiente**. Ele foi [introduzido pela primeira vez no GPT-4](https://openai.com/index/function-calling-and-other-api-updates/) e depois reproduzido em outros modelos.

Assim como as ferramentas de um Agente, function calling dá ao modelo a capacidade de **agir sobre o ambiente**. Entretanto, essa capacidade **é aprendida pelo modelo** e depende **menos de prompting do que outras técnicas baseadas em agentes**.

Na Unidade 1, o agente **não aprendeu a usar as ferramentas**; apenas fornecemos a lista e confiamos que o modelo **conseguiria generalizar para definir um plano usando essas Ferramentas**.

Aqui, **com function calling, o agente passa por fine-tuning (treinamento) para usar Ferramentas**.

## Como o modelo "aprende" a tomar uma ação?

Na Unidade 1, exploramos o fluxo de trabalho geral de um agente. Depois que o usuário fornece ferramentas ao agente e o instrui com uma solicitação, o modelo passa pelo ciclo:

1. *Pensar*: Quais ações preciso executar para atingir o objetivo?
2. *Agir*: Formatar a ação com os parâmetros corretos e interromper a geração.
3. *Observar*: Receber o resultado da execução.

Em uma conversa "típica" com um modelo via API, as mensagens alternam entre usuário e assistente, como neste exemplo:

```python
conversation = [
{"role": "user", "content": "I need help with my order"},
{"role": "assistant", "content": "I'd be happy to help. Could you provide your order number?"},
{"role": "user", "content": "It's ORDER-123"},
]
```

Function calling adiciona **novos papéis à conversa**!

1. Um novo papel para uma **Ação**
2. Um novo papel para uma **Observação**

Se usarmos a [API da Mistral](https://docs.mistral.ai/capabilities/function_calling/) como exemplo, ela ficaria assim:

```python
conversation = [
{
"role": "user",
"content": "What's the status of my transaction T1001?"
},
{
"role": "assistant",
"content": "",
"function_call": {
"name": "retrieve_payment_status",
"arguments": "{\"transaction_id\": \"T1001\"}"
}
},
{
"role": "tool",
"name": "retrieve_payment_status",
"content": "{\"status\": \"Paid\"}"
},
{
"role": "assistant",
"content": "Your transaction T1001 has been successfully paid."
}
]
```

> ... Mas você disse que existe um novo papel para chamadas de função?

**Sim e não**. Neste caso, e em muitas outras APIs, o modelo formata a ação que deve executar como uma mensagem de "assistant". O template de chat então representa isso com **tokens especiais** para function calling.

- `[AVAILABLE_TOOLS]` – Início da lista de ferramentas disponíveis
- `[/AVAILABLE_TOOLS]` – Fim da lista de ferramentas disponíveis
- `[TOOL_CALLS]` – Chamada a uma ferramenta (ou seja, uma "Ação")
- `[TOOL_RESULTS]` – "Observa" o resultado da ação
- `[/TOOL_RESULTS]` – Fim da observação (ou seja, o modelo pode voltar a decodificar)

Falaremos novamente sobre function calling ao longo do curso, mas, se quiser se aprofundar, confira [esta excelente seção da documentação](https://docs.mistral.ai/capabilities/function_calling/).

---

Agora que entendemos o que é function calling e como ele funciona, vamos **adicionar essas capacidades a um modelo que ainda não as possui**: o [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it), incluindo novos tokens especiais no modelo.

Para conseguir fazer isso, **precisamos primeiro compreender fine-tuning e LoRA**.
Loading

AltStyle によって変換されたページ (->オリジナル) /