Skip to main content

Overview

What you’ll build

A simple LangChain-powered AI Agent that uses OpenAI’s language models and a custom tool, with all agent activities logged and monitored in Permitech.

What you’ll learn

  • How to configure a LangChain Agent
  • How to integrate Permitech for observability and monitoring
  • How to structure tools and environment for scalable development
👀 Check out the full , or watch the video walkthrough in tandem.

Requirements

  • Python package manager + some familiarity with Python (for the sake of this cookbook, we’ll use uv)
  • A Permitech Developer Account. If you don’t have one, sign up for free.
  • OpenAI Key to assist get one here

Environment setup

Ingredients

  • git
  • Python environment tools
  • Package manager (pip or uv)

Steps

  1. Clone the repository:
  2. Create a virtual environment: on Windows
    on Mac Using a standard virtual environment
    Or using uv (faster)
  3. Install dependencies: Using pip
    OR using uv
  4. Set up your environment variables: Copy the existing .env.example file, and rename it to .env in your project directory. Set your Permitech and OpenAI environment variables:
    .env
    • Replace the values with your actual keys. This keeps your credentials secure and out of your code.

Understand the agent architecture

🧠 Agent core (main.py)

A single script defines:
  • Loading of secrets
  • Tool declaration
  • Agent instantiation
  • Permitech observability

🛠️ Tools

Simple @tool functions that the agent can call, such as:

🔍 Instrumentation (permitech_context + PermitechCallback)

The permitech_context tags all logs under a project and stream. The PermitechCallback automatically traces agent behavior in Permitech.

Main agent workflow

Key ingredients

  • LangChain agent
  • OpenAI model
  • Permitech integration

How it works

  1. Load .env variables.
  2. Declare tools.
  3. Wrap agent execution in permitech_context.
  4. Use PermitechCallback to trace the run.
  5. Print the agent’s response.

Running the agent

Run your script using:

Expected output

View traces in Permitech

  1. Log into Permitech.
  2. Open the langchain-docs project and my_log_stream.
  3. Inspect:
    • Prompts
    • Reasoning steps
    • Tool invocations
    • Outputs

Extending the agent

Add new tools

Define more @tool-decorated functions and include them in the agent.

Change models

Swap out gpt-4 for another supported OpenAI model in ChatOpenAI.

Update context

Change the project and log_stream in permitech_context for better trace organization.

Conclusion

Key takeaways

  • LangChain + Permitech makes AI agents traceable and observable
  • Using tools and context managers helps modularize and organize agent behavior
  • Monitoring enables better debugging and optimization

Next steps

  • Check out the to see what you can build!
  • Star the to bookmark more ways to get started with the Permitech SDK.
  • Follow to stay in touch with the latest news and resources.
Happy building! 🚀

Common issues and solutions

API key issues

Problem: “Invalid API key” errors Solution:
  • Double-check your .env file

Permitech connection issues

Problem: Traces aren’t showing up in Permitech Solution:
  • Confirm your API key is valid
  • Check internet connectivity
  • Ensure flush() is being called at the end of execution