Introdução geral
O Atomic Agents é uma estrutura extremamente leve e modular projetada com base no conceito de atomicidade para a criação de pipelines e aplicativos de IA de agentes. A estrutura oferece um conjunto de ferramentas e agentes que podem ser combinados para criar aplicativos avançados. Ela foi desenvolvida com base no Instructor e usa o Pydantic para validação e serialização de dados e padrões. Toda a lógica e o fluxo de controle são escritos em Python, o que permite que os desenvolvedores apliquem as práticas recomendadas e os fluxos de trabalho do desenvolvimento tradicional de software sem sacrificar a flexibilidade ou a clareza. O Atomic Agents foi projetado para atender às necessidades das organizações de obter resultados consistentes e confiáveis por meio de modularidade, previsibilidade, escalabilidade e controle.
Leitura recomendada:Adeus LangChain! O Atomic Agent está pegando fogo!
Lista de funções
- modularizaçãoCrie aplicativos de IA combinando componentes pequenos e reutilizáveis.
- previsibilidadeDefinir padrões claros de entrada e saída para garantir um comportamento consistente.
- escalabilidadeSubstituição fácil de componentes ou integração de novos componentes sem destruir todo o sistema.
- controleAjuste fino de cada parte do sistema individualmente, desde as dicas do sistema até a integração da ferramenta.
- Validação de dadosValidação e serialização de dados e padrões usando Pydantic.
- Desenvolvimento em PythonToda a lógica e o fluxo de controle são escritos em Python para facilitar o uso pelos desenvolvedores.
Usando a Ajuda
Processo de instalação
- Certifique-se de que o Python 3.11 ou posterior esteja instalado.
- Use o pip para instalar o Atomic Agents:
pip install atomic-agents
- Instale provedores como o OpenAI e o Groq, conforme necessário:
pip install openai groq
Diretrizes para uso
Criação de um proxy
- Definir prompts do sistemaDeterminar o ato e a finalidade do agente.
- Definição de modos de entradaEstrutura do agente: Especifica a estrutura e as regras de validação para a entrada do agente.
- Definição do modo de saídaEstrutura do agente: Especifica a estrutura e as regras de validação para a saída do agente.
- memória armazenadaSalvar histórico de diálogo ou outros dados relevantes.
- provedor de contexto (computação)Injeção de contexto dinâmico no prompt do sistema do agente em tempo de execução.
Código de amostra (computação)
from atomic_agents import Agent, SystemPrompt, InputSchema, OutputSchema
# Definir o prompt do sistema
system_prompt = SystemPrompt("Você é um assistente de IA que ajuda os usuários a resolver problemas.")
# Defina os esquemas de entrada e saída
input_schema = InputSchema({"type": "object", "properties": {"question": {"type": "string"}}})
output_schema = OutputSchema({"type": "object", "properties": {"answer": {"type": "string"}}})
# Criação de um agente
agent = Agent(system_prompt=system_prompt, input_schema=input_schema, output_schema=output_schema)
# Usando o agente
response = agent.run({"question": "What's the weather like today?"})
print(response["answer"])
Fluxo de trabalho de desenvolvimento
- Criação de uma nova filialCriar ramificações para novos recursos ou correções.
git checkout -b feature-branch
- Fazer alterações no códigoFaça alterações no diretório apropriado do projeto.
- Código de formataçãoUse o código de formatação Preto.
black atomic_agents
- inspeção de códigoVerificação de código com Flake8.
flake8 atomic_agents
- teste operacionalGarantir que todos os testes sejam aprovados.
pytest --cov atomic_agents
- Enviar alteraçõesCompromisso e envio para um repositório remoto.
git commit -m 'Adicionar algum recurso'
git push origin feature-branch
- Criação de um pull requestCrie uma solicitação pull no GitHub descrevendo as alterações e vinculando-as aos problemas relacionados.