Building a Function App from YAMLΒΆ
The langgraph_func
package reads a simple YAML file that lists your blueprints and graphs. Each entry points to a Python module containing the regular LangGraph definition. This approach keeps your graph code untouched while making it easy to expose as HTTP endpoints.
An example configuration looks like:
swagger:
title: Demo Function App
version: 1.0.0
auth: FUNCTION
ui_route: docs
blueprints:
v1:
path: v1
description: Example blueprint
graphs:
vacancy_agent:
path: vacancy
source: langgraph_func.graphs.vacancies.vacancy_agent
auth: FUNCTION
description: Extracts vacancy information
Each graph entry specifies the route (path
), the module to import (source
), the authentication level and a description used for the generated documentation.
Once the file is saved (e.g. function-app.yml
) you can load it and start the app:
from langgraph_func.func_app_builder.create_app import create_app_from_yaml
app = create_app_from_yaml("function-app.yml")
Internally create_app_from_yaml
validates the YAML, builds a BlueprintBuilder
for each blueprint and registers the graphs as Azure Functions. Swagger documentation is generated automatically from the dataclasses in the YAML file and the Pydantic models exported by your graphs.
Running the Functions host will serve the API under /api
. Each graph can also be invoked by other graphs using call_subgraph
, which makes them fully reusable components.