Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Build an email assistant with human-in-the-loop and memory
| Date | Stars |
|---|---|
| 2026-07-31 | 2038 |
| 2026-08-01 | 2042 |
| 2026-08-02 | 2045 |
| 2026-08-03 | 2047 |
| 2026-08-04 | 2048 |
| 2026-08-05 | 2054 |
| 2026-08-06 | 2054 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Agents From Scratch The repo is a guide to building agents from scratch. It builds up to an ["ambient"](https://blog.langchain.dev/introducing-ambient-agents/) agent that can manage your email with connection to the Gmail API. It's grouped into 4 sections, each with a notebook and accompanying code in the `src/email_assistant` directory. These section build from the basics of agents, to agent evaluation, to human-in-the-loop, and finally to memory. These all come together in an agent that you can deploy, and the principles can be applied to other agents across a wide range of tasks.  ## Environment Setup ### Python Version * Ensure you're using Python 3.11 or later. * This version is required for optimal compatibility with LangGraph. ```shell python3 --version ``` ### API Keys * If you don't have an OpenAI API key, you can sign up [here](https://openai.com/index/openai-api/). * Sign up for LangSmith [here](https://smith.langchain.com/). * Generate a LangSmith API key. ### Set Environment Variables * Create a `.env` file in the root directory: ```shell # Copy the .env.example file to .env cp .env.example .env ``` * Edit the `.env` file with the following: ```shell LANGSMITH_API_KEY=your_langsmith_api_key LANGSMITH_TRACING=true LANGSMITH_PROJECT="interrupt-workshop" OPENAI_API_KEY=your_openai_api_key ``` * You can also set the environment variables in your terminal: ```shell export LANGSMITH_API_KEY=your_langsmith_api_key export LANGSMITH_TRACING=true export OPENAI_API_KEY=your_openai_api_key ``` ### Package Installation **Recommended: Using uv (faster and more reliable)** ```shell # Install uv if you haven't already pip install uv # Install the package with development dependencies uv sync --extra dev # Activate the virtual environment source .venv/bin/activate ``` **Alternative: Using pip** ```shell $ python3 -m venv .venv $ source .venv/bin/activate # Ensure you have a recent version of pip (required for editable installs with pyproject.toml) $ python3 -m pip install --upgrade pip # Install the package in editable mode $ pip install -e . ``` > **⚠️ IMPORTANT**: Do not skip the package installation step! This editable install is **required** for the notebooks to work correctly. The package is installed as `interrupt_workshop` with import name `email_assistant`, allowing you to import from anywhere with `from email_assistant import ...` ## Structure The repo is organized into the 4 sections, with a notebook for each and accompanying code in the `src/email_assistant` directory. ### Preface: LangGraph 101 For a brief introduction to LangGraph and some of the concepts used in this repo, see the [LangGraph 101 notebook](notebooks/langgraph_101.ipynb). This notebook explains the basics of chat models, tool calling, agents vs workflows, LangGraph nodes / edges / memory, and LangGraph Studio. ### Building an agent * Notebook: [notebooks/agent.ipynb](/notebooks/agent.ipynb) * Code: [src/email_assistant/email_assistant.py](/src/email_assistant/email_assistant.py)  This notebook shows how to build the email assistant, combining an [email triage step](https://langchain-ai.github.io/langgraph/tutorials/workflows/) with an agent that handles the email response. You can see the linked code for the full implementation in `src/email_assistant/email_assistant.py`.  ### Evaluation * Notebook: [notebooks/evaluation.ipynb](/notebooks/evaluation.ipynb)  This notebook introduces evaluation with an email dataset in [eval/email_dataset.py](/eval/email_dataset.py). It shows how to run evaluations using Pytest and the LangSmith `evaluate` API. It runs evaluation for emails responses using LLM-as-a-judge as well as evaluations for tools calls and triage decisions. ![Screenshot 2025-04-08 at 8 07 48 PM](notebooks/im
Excerpt of 7,140 characters
Read on GitHubLance Martin
152
26
Seán
2
1
1
1
Bagatur
1
1
William FH · LangChain
1
Vadym Barda · United States
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:4813e6bdb14e5322, topic:agents
matched fp:4813e6bdb14e5322, topic:memory