Este projeto implementa um agente LangChain com middleware de moderação da OpenAI para garantir interações seguras e apropriadas.
GitHub: https://github.com/jadilson12/langgraph-guardrail
guardrail/
├── src/
│ ├── agent/
│ │ ├── __init__.py # Módulo do agente
│ │ └── graph.py # LangGraph com StateGraph e moderação
│ └── agente.py # Definição do agente techdaia com tools
├── requirements.txt # Dependências do projeto
├── .env.example # Exemplo de variáveis de ambiente
├── langgraph.json # Configuração do LangGraph
├── .gitignore # Arquivos ignorados pelo Git
└── README.md # Este arquivo
- Agente LangChain configurado com GPT-5-nano
- Middleware de moderação OpenAI (omni-moderation-latest)
- Ferramentas customizadas:
confirmar_inscricao: Confirma inscrição do usuárioapresentar_novo_produto: Apresenta produtos com nomes aleatórios
- Verificação automática de entrada e saída para conteúdo inapropriado
- Integração com LangSmith para rastreamento e monitoramento (opcional)
- LangGraph com StateGraph para fluxo controlado
- Clone o repositório:
git clone https://github.com/jadilson12/langgraph-guardrail.git
cd langgraph-guardrail- Crie um ambiente virtual:
python -m venv .venv
source .venv/bin/activate # No Windows: .venv\Scripts\activate- Instale as dependências:
pip install -r requirements.txt- Configure as variáveis de ambiente:
cp .env.example .env
# Edite .env e adicione:
# - OPENAI_API_KEY: sua chave da API OpenAI
# - LANGSMITH_API_KEY: sua chave da API LangSmith (opcional)
# - LANGSMITH_PROJECT: nome do projeto no LangSmith (opcional)Variáveis de ambiente:
OPENAI_API_KEY(obrigatório): Chave da API da OpenAILANGSMITH_API_KEY(opcional): Chave da API do LangSmithLANGSMITH_PROJECT(opcional): Nome do projeto no LangSmith para rastreamento e monitoramento das execuções
O agente techdaia está configurado para:
- Confirmar inscrições de usuários
- Apresentar novos produtos com nomes gerados aleatoriamente
- Verificar automaticamente se as mensagens de entrada e saída são apropriadas
- Retornar mensagens de violação quando conteúdo inapropriado é detectado
# Certifique-se de que o ambiente virtual está ativado
langgraph devO agente estará disponível como techdaia conforme configurado no langgraph.json.
O OpenAIModerationMiddleware está configurado para:
- Verificar entrada do usuário (
check_input=True) - Verificar saída do modelo (
check_output=True) - Não verificar resultados de ferramentas (
check_tool_results=False) - Finalizar a conversa em caso de violação (
exit_behavior="end")
Quando uma violação é detectada, o middleware retorna uma mensagem informativa:
Desculpe, não posso processar essa solicitação.
O conteúdo da mensagem violou nossas políticas de uso seguro.
Categorias detectadas: {categories}.
Por favor, reformule sua mensagem de forma adequada.
As categorias podem incluir: sexual, hate, harassment, self-harm, violence, entre outras definidas pela API de moderação da OpenAI.
langchain>=0.3.0langchain-core>=0.3.0langchain-openai>=0.2.0langgraph>=0.2.0python-dotenv>=1.0.0
O projeto utiliza:
- LangChain: Framework para desenvolvimento de aplicações com LLMs
- LangGraph: Biblioteca para criar grafos de estados com LangChain
- OpenAI GPT-5-nano: Modelo de linguagem com reasoning de baixo esforço
- OpenAI Moderation: API de moderação para segurança de conteúdo