# @huggingface/tiny-agents

![meme](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/blog/tiny-agents/legos.png)

Un ensemble d'applications IA légères et composables, construites sur le client d'inférence et la pile MCP de Hugging Face.

## Installation

```bash
npm install @huggingface/tiny-agents
# or
pnpm add @huggingface/tiny-agents
```

## Utilisation de l'interface en ligne de commande

```bash
npx @huggingface/tiny-agents [command] "agent/id"
```

```
Usage:
  tiny-agents [flags]
  tiny-agents run   "agent/id"
  tiny-agents serve "agent/id"

Available Commands:
  run         Run the Agent in command-line
  serve       Run the Agent as an OpenAI-compatible HTTP server
```

Vous pouvez charger des agents directement depuis le jeu de données [tiny-agents](https://huggingface.co/datasets/tiny-agents/tiny-agents) du Hugging Face Hub, ou spécifier un chemin vers votre propre configuration d’agent locale.

## Définissez votre propre agent

La façon la plus simple de créer votre propre agent est de créer un dossier contenant un fichier `agent.json` :

```bash
mkdir my-agent
touch my-agent/agent.json
```

```json
{
	"model": "Qwen/Qwen2.5-72B-Instruct",
	"provider": "novita",
	"servers": [
		{
			"type": "stdio",
			"command": "npx",
			"args": ["@playwright/mcp@latest"]
		}
	]
}
```

Ou en utilisant une URL de point de terminaison local ou distant :

```json
{
	"model": "Qwen/Qwen3-32B",
	"endpointUrl": "http://localhost:1234/v1",
	"servers": [
		{
			"type": "stdio",
			"command": "npx",
			"args": ["@playwright/mcp@latest"]
		}
	]
}

```

Où `servers` est une liste de serveurs MCP (nous prenons en charge les serveurs Stdio, SSE et HTTP).

Facultativement, vous pouvez ajouter un fichier [`AGENTS.md`](https://agents.md/) (ou `PROMPT.md`) pour remplacer le prompt par défaut de l'Agent.

Ensuite, il suffit de pointer tiny-agents vers votre dossier local :

```bash
npx @huggingface/tiny-agents run ./my-agent
```

Voilà ! 🔥

## Collection Tiny Agents

Parcourez notre collection d’agents Tiny Agents sélectionnés à l’adresse https://huggingface.co/datasets/tiny-agents/tiny-agents. Chaque agent est stocké dans son propre sous-répertoire, conformément à la structure décrite ci-dessus. Lancer un agent depuis le Hub est aussi simple que d’utiliser son `agent_id`. Par exemple, pour lancer l’agent [`julien-c/flux-schnell-generator`](https://huggingface.co/datasets/tiny-agents/tiny-agents/tree/main/julien-c/flux-schnell-generator) :

```bash
npx @huggingface/tiny-agents run "julien-c/flux-schnell-generator"
```

> [!NOTE]
> Souhaitez-vous partager votre propre agent avec la communauté ? Soumettez une PR au dépôt [Tiny Agents](https://huggingface.co/datasets/tiny-agents/tiny-agents/discussions) sur le Hub. Votre soumission doit inclure un fichier `agent.json`, et vous pouvez éventuellement ajouter un fichier `PROMPT.md` ou [`AGENTS.md`](https://agents.md/). Pour aider les autres à comprendre les capacités de votre agent, envisagez d'inclure un fichier `EXAMPLES.md` avec des exemples de prompts et des cas d'utilisation.

## Avancé : Utilisation programmatique

```typescript
import { Agent } from '@huggingface/tiny-agents';

const HF_TOKEN = "hf_...";

// Create an Agent
const agent = new Agent({
  provider: "auto",
  model: "Qwen/Qwen2.5-72B-Instruct",
  apiKey: HF_TOKEN,
  servers: [
    {
      // Playwright MCP
      command: "npx",
      args: ["@playwright/mcp@latest"],
    },
  ],
});

await agent.loadTools();

// Use the Agent
for await (const chunk of agent.run("What are the top 5 trending models on Hugging Face?")) {
    if ("choices" in chunk) {
        const delta = chunk.choices[0]?.delta;
        if (delta.content) {
            console.log(delta.content);
        }
    }
}
```

## Licence

MIT

