Descrição
magentic é uma biblioteca Python projetada para simplificar a integração de Large Language Models (LLMs) em seus projetos Python. Ela capacita desenvolvedores a tratar interações com LLMs como funções Python padrão, utilizando decoradores como `@prompt` e `@chatprompt` para definir prompts e receber saídas estruturadas. Essa abordagem facilita a criação de sistemas agenticos sofisticados, combinando perfeitamente as capacidades de LLM com código Python existente e ferramentas externas.
Ler mais
A funcionalidade principal do magentic gira em torno de seus decoradores, que transformam funções Python em operações alimentadas por LLM. O decorador `@prompt` permite a criação de funções que recebem argumentos, os inserem em um template de prompt predefinido e, em seguida, enviam isso para um LLM para processamento. A saída do LLM pode ser uma string simples ou um objeto estruturado, como um modelo Pydantic, graças às anotações de tipo. O decorador `@chatprompt` estende isso permitindo o uso de templates de mensagens de chat, incluindo mensagens de sistema, mensagens de usuário e mensagens de assistente, o que é particularmente útil para prompting few-shot e fornecimento de contexto.
magentic suporta recursos avançados como function calling, onde o LLM pode decidir invocar funções Python específicas com argumentos fornecidos. O decorador `@prompt_chain` aprimora isso ainda mais, permitindo que LLMs encadeiem chamadas de função, usando a saída de uma chamada como entrada para a próxima, até que uma resposta final seja alcançada. Para aplicações em tempo real, magentic oferece capacidades de streaming tanto para saídas de texto quanto estruturadas, permitindo que desenvolvedores processem dados à medida que são gerados. A programação assíncrona também é bem suportada, permitindo consultas LLM concorrentes para acelerar significativamente os tempos de geração.
A biblioteca possui amplo suporte a provedores de LLM, incluindo OpenAI, Anthropic e Ollama, com configurações para várias APIs compatíveis com OpenAI. Essa flexibilidade permite que desenvolvedores escolham o LLM que melhor se adapta às suas necessidades e orçamento. magentic também enfatiza a experiência do desenvolvedor com recursos como anotações de tipo para melhor integração com IDE e observabilidade através da integração com OpenTelemetry e Logfire. É projetado para desenvolvedores que buscam construir aplicações inteligentes, agentes de IA e fluxos de trabalho complexos que aproveitam o poder dos LLMs dentro de um ambiente Python familiar.
- CategoriaCriadores de agentes de IA
- Modelo de preçosCódigo aberto
- ImplantaçãoNuvem
- PlataformasWeb
Recursos principais de magentic
Integra LLMs como funções Python usando decoradores.
Define prompts com @prompt e mensagens de chat com @chatprompt.
Gera saídas estruturadas usando modelos Pydantic e tipos Python.
Suporte para retentativas assistidas por LLM para melhorar a aderência ao esquema de saída.
Observabilidade com integração OpenTelemetry e Pydantic Logfire.
Opções de configuração para múltiplos provedores de LLM (OpenAI, Anthropic, Ollama).
Function calling e encadeamento para fluxos de trabalho LLM complexos.
Streaming de saídas de texto e estruturadas para processamento em tempo real.
Suporte a funções assíncronas para consultas LLM concorrentes.
Anotações de tipo para suporte aprimorado a IDE e linting.
Suporte para capacidades de visão em interações LLM.
Primeiros passos com magentic
Clone o repositório: git clone https://github.com/jackmpcollins/magentic.git
Instale as dependências: pip install magentic
Configure a chave da API LLM: Defina variáveis de ambiente como OPENAI_API_KEY.
Defina funções LLM: Use os decoradores @prompt ou @chatprompt.
Execute funções LLM: Chame as funções Python decoradas.
Integre saídas: Use saídas estruturadas ou dados transmitidos em sua aplicação.
Casos de uso de magentic
- Desenvolvimento de Agentes de IA
- Extração de Dados Estruturados
- Geração de Conteúdo
- Fluxos de Trabalho Automatizados
- Desenvolvimento de Chatbots
- Integração de Ferramentas
- Assistência na Análise de Dados








