O AgentGuard é uma ferramenta de código aberto criada para que desenvolvedores e empresas monitorem e controlem o custo do uso de agentes de IA, como grandes modelos de linguagem, em tempo real. Com a integração simples de código, ela ajuda os usuários a definir limites orçamentários para evitar altos custos causados por agentes de IA fora de controle. O AgentGuard oferece suporte a vários modos de proteção e pode interromper automaticamente o processo ou emitir avisos quando ocorrerem excessos de custo. Ele foi projetado para ser fácil de usar e pode ser ativado em projetos com apenas algumas linhas de código, o que o torna adequado para uma variedade de cenários de desenvolvimento de IA. O AgentGuard oferece gerenciamento de custos confiável e registro transparente tanto para o desenvolvimento autônomo quanto para ambientes com vários processos.
Lista de funções
- Monitore o custo das chamadas de API para agentes de IA em tempo real, mostrando os gastos atuais e a participação no orçamento.
- Oferece suporte à definição de um limite de orçamento, com opções para gerar um erro, enviar uma notificação ou encerrar o processo quando esse limite for excedido.
- Fornece registros históricos detalhados de chamadas de API para facilitar o rastreamento e a análise de custos.
- Oferece suporte ao compartilhamento de orçamento de vários processos e ao rastreamento de custos entre processos por meio do Redis.
- Oferece opções de proteção de privacidade para bloquear automaticamente dados confidenciais.
- Suporte ao ajuste dinâmico do teto orçamentário e do modo de proteção para se adaptar a diferentes requisitos de missão.
- Integre a funcionalidade de webhook para enviar alertas de custo em tempo real para o Slack ou Discord.
- O código de amostra é fornecido para dar suporte à rápida integração com estruturas como a LangChain.
Usando a Ajuda
Processo de instalação
O AgentGuard é um módulo Node.js com um processo simples de instalação e configuração adequado para a maioria dos projetos de IA. Veja a seguir as etapas detalhadas de instalação e uso:
- Instalação do Node.js
Certifique-se de ter o Node.js instalado em seu sistema (versão recomendada 18 ou superior). Você pode fazer download e instalar o Node.js no site oficial do Node.js. - Clonar o repositório do AgentGuard
Clone o repositório do GitHub do AgentGuard executando o seguinte comando em um terminal:git clone https://github.com/dipampaul17/AgentGuard.git cd AgentGuard
- Instalação de dependências
Depois de entrar no diretório do projeto, execute o seguinte comando para instalar as dependências necessárias:npm install
- Verificar a instalação
Após a conclusão da instalação, execute o seguinte comando para verificar se a instalação foi bem-sucedida:node verify-installation.js
Se a instalação estiver correta, o terminal emitirá uma mensagem de confirmação.
- Inicialização do AgentGuard
Adicione as duas linhas de código a seguir ao seu projeto de IA para inicializar o AgentGuard:const agentGuard = require('agent-guard'); await agentGuard.init({ limit: 50 });
Aqui.
limit: 50
Indica a definição de um limite de orçamento de US$ 50. Você pode ajustar esse valor conforme necessário.
Opções de configuração
O AgentGuard oferece opções de configuração flexíveis. A seguir estão as descrições dos parâmetros comumente usados:
limit
:: Defina um teto orçamentário (em dólares dos Estados Unidos), como50
Indica US$ 50.mode
Modo protegido: Há suporte para as três opções a seguir:throw
Erro de sobrecarga: lança um erro em caso de sobrecarga, para casos em que o manuseio manual é necessário.notify
Notificação de sobrecarga: envia uma notificação quando a sobrecarga ocorre (por exemplo, via webhook), mas não encerra o processo.kill
Rescisão direta do processo em caso de excedentes de custo, o que se presta a um controle orçamentário rigoroso.
webhook
Endereço de notificação: Configure o endereço de notificação (por exemplo, URL do webhook do Slack ou do Discord) para receber alertas. Exemplo:webhook: 'https://hooks.slack.com/...'
redis
Configurar URLs do Redis para compartilhamento de orçamento de vários processos. Exemplo:redis: 'redis://localhost:6379'
privacy
: Definido comotrue
Bloqueio automático de dados confidenciais quandosilent
: Definido comotrue
Oculte o registro de atualização de custos em tempo real quando.
Exemplo de código de inicialização:
const guard = await agentGuard.init({
limit: 100,
mode: 'throw',
webhook: 'https://hooks.slack.com/...',
redis: 'redis://localhost:6379',
privacy: true
});
Funções principais
- Veja os custos atuais
fazer uso deguard.getCost()
Obter o total atual de despesas. Exemplo:console.log(`已花费: $${guard.getCost()}`);
- Ajuste do teto orçamentário
O orçamento pode ser ajustado dinamicamente se as prioridades das tarefas mudarem:guard.setLimit(500); // 将预算上限改为 500 美元
- custo de substituição
A contagem de custos pode ser redefinida quando uma nova tarefa é iniciada:await guard.reset();
- Exibir o registro de chamadas
fazer uso deguard.getLogs()
Obtenha um histórico detalhado das chamadas de API, facilitando a análise das fontes de custo. - Como lidar com as despesas excessivas
Quando o orçamento for excedido, o AgentGuard levará em conta omode
executa a operação correspondente. Por exemplo, se o modo forthrow
Você pode usar o try-catch para lidar com isso:try { const response = await openai.chat.completions.create({...}); } catch (error) { if (error.message.includes('AGENTGUARD_LIMIT_EXCEEDED')) { console.log('预算超支:', error.agentGuardData); // 切换到低成本模型或保存状态 } }
Suporte ao ambiente do navegador
O AgentGuard também é compatível com ambientes de navegador. Basta introduzir o seguinte script:
<script src="https://unpkg.com/agent-guard@latest/dist/agent-guard.min.js"></script>
<script>
AgentGuard.init({ limit: 50, mode: 'notify' });
</script>
Código de amostra (computação)
Abaixo está um exemplo completo que mostra como integrar o AgentGuard em um projeto OpenAI:
const agentGuard = require('agent-guard');
const openai = require('openai');
(async () => {
const guard = await agentGuard.init({
limit: 25,
mode: 'notify',
webhook: 'https://hooks.slack.com/...',
privacy: true
});
try {
const response = await openai.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello world' }]
});
console.log('响应:', response);
console.log(`当前花费: $${guard.getCost()}`);
} catch (error) {
if (error.message.includes('AGENTGUARD_LIMIT_EXCEEDED')) {
console.log('预算保护触发:', error.agentGuardData);
}
}
})();
Depuração e teste
O AgentGuard fornece vários exemplos para os desenvolvedores testarem:
- estar em movimento
node examples/runaway-loop-demo.js
Simule cenários de loop infinito para testar a proteção do orçamento. - estar em movimento
node examples/langchain-example.js
Confira a integração com o LangChain. - show (um ingresso)
examples/test-browser.html
Teste o suporte ao ambiente do navegador.
cenário do aplicativo
- Controle de custos no desenvolvimento de IA
O agentGuard garante que os custos de desenvolvimento sejam gerenciáveis por meio de monitoramento em tempo real e restrições orçamentárias para desenvolvedores individuais ou pequenas equipes. - Gerenciamento de projetos de IA empresarial
As empresas que implementam grandes projetos de IA precisam compartilhar orçamentos entre as equipes, e o suporte Redis do AgentGuard permite a colaboração de vários processos para gerenciar os custos de aplicativos complexos de classe empresarial. - Programas de educação e pesquisa
Estudantes ou pesquisadores que fazem experiências com modelos de IA podem usar o AgentGuard para limitar o custo dos experimentos e evitar o desperdício de recursos com a execução fora da tarefa. - Aplicativos de IA do lado do navegador
Os desenvolvedores que executam agentes de IA no navegador podem monitorar o custo das chamadas de IA de front-end com o suporte do navegador do AgentGuard para aplicativos interativos da Web.
QA
- Quais estruturas de IA são compatíveis com o AgentGuard?
O AgentGuard é uma ferramenta independente de estrutura que oferece suporte a qualquer projeto de IA que use chamadas de API. Ele fornece exemplos de integrações com estruturas como a LangChain e pode ser ampliado pelos desenvolvedores conforme necessário. - Como você lida com estouros de orçamento?
Dependendo da configuração domode
O AgentGuard pode lançar um erro (throw
), envio de notificações (notify
) ou encerrar o processo (kill
). Os desenvolvedores podem capturar erros e tratá-los com try-catch. - Preciso do Redis?
O Redis é opcional e necessário apenas em ambientes distribuídos ou com vários processos para dados de orçamento compartilhados. O Redis não precisa ser configurado para projetos autônomos. - Como proteger dados confidenciais?
comandante-em-chefe (militar)privacy
definido comotrue
O AgentGuard bloqueia automaticamente informações confidenciais e garante que os registros e as notificações não contenham dados privados.