Spaces:
Sleeping
Sleeping
Download src/agentic_multiwriter/api/server.py from KheemDH/agentic-multiwriter: direct link, hf CLI and curl.
- Browser
- Download file 1.28 kB
-
https://huggingface.co/spaces/KheemDH/agentic-multiwriter/resolve/main/src/agentic_multiwriter/api/server.py
- Command line
-
hf download hf://spaces/KheemDH/agentic-multiwriter/src/agentic_multiwriter/api/server.py
-
curl -L -o server.py https://huggingface.co/spaces/KheemDH/agentic-multiwriter/resolve/main/src/agentic_multiwriter/api/server.py
1.28 kB
| from __future__ import annotations | |
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from ..state import GenerateRequest, GenerateResponse | |
| from ..graph.router import run_pipeline | |
| from ..tools import get_logger | |
| logger = get_logger() | |
| app = FastAPI( | |
| title="Agentic Multiwriter API", | |
| version="0.1.0", | |
| description="Multi-agent research & writing pipeline using LangGraph and LLMs.", | |
| ) | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| def health() -> dict: | |
| return {"status": "ok"} | |
| def generate(payload: GenerateRequest) -> GenerateResponse: | |
| logger.info("API: /generate called with topic='%s', mode='%s'", payload.topic, payload.mode) | |
| state = run_pipeline(topic=payload.topic, mode=payload.mode) | |
| return GenerateResponse( | |
| topic=state.get("topic", payload.topic), | |
| mode=state.get("mode", payload.mode), | |
| outline=state.get("outline", []) or [], | |
| draft=state.get("draft", "") or "", | |
| revised_draft=state.get("revised_draft", "") or "", | |
| final_output=state.get("final_output", "") or "", | |
| meta=state.get("meta", {}) or {}, | |
| ) | |