{"data":{"slug":"lemony-ai-cascadeflow","name":"cascadeflow","tagline":"Cascading runtime for AI agents. Optimize cost, latency, quality, and policy decisions inside the agent loop.","github_url":"https://github.com/lemony-ai/cascadeflow","owner":"lemony-ai","repo":"cascadeflow","owner_avatar_url":"https://avatars.githubusercontent.com/u/169823043?v=4","primary_language":"Python","stars":3294,"forks":686,"topics":["agent","ai","anthropic","api","budgets","claude","cost-optimization","cost-transparency","google-adk","gpt","huggingface","llm","model-cascading","n8n","ollama","openai","python","together-ai","typescript","vllm"],"archived":false,"github_pushed_at":"2026-07-01T10:04:51+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/lemony-ai-cascadeflow","markdown_url":"https://www.graphcanon.com/tools/lemony-ai-cascadeflow.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/lemony-ai-cascadeflow","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=lemony-ai-cascadeflow","description":"Cascading runtime for AI agents. Optimize cost, latency, quality, and policy decisions inside the agent loop.","homepage_url":"https://cascadeflow.ai","license":"MIT","open_issues":7,"watchers":6,"ai_summary":null,"readme_excerpt":"### Installation\n\n1. Open n8n\n2. Go to **Settings** → **Community Nodes**\n3. Search for: `@cascadeflow/n8n-nodes-cascadeflow`\n4. Click **Install**\n\n---\n\n### Installation\n\n**<img src=\".github/assets/CF_ts_color.svg\" width=\"18\" height=\"18\" alt=\"TypeScript\" style=\"vertical-align: middle;\"/> TypeScript**\n\n```bash\nnpm install @cascadeflow/langchain @langchain/core @langchain/openai\n```\n\n**<img src=\".github/assets/CF_python_color.svg\" width=\"18\" height=\"18\" alt=\"Python\" style=\"vertical-align: middle;\"/> Python**\n\n```bash\npip install cascadeflow langchain-openai\n```\n\n---\n\n### Quick Start\n\n<details open>\n<summary><b><img src=\".github/assets/CF_ts_color.svg\" width=\"18\" height=\"18\" alt=\"TypeScript\" style=\"vertical-align: middle;\"/> TypeScript - Drop-in replacement for any LangChain chat model</b></summary>\n\n```typescript\nimport { ChatOpenAI } from '@langchain/openai';\nimport { ChatAnthropic } from '@langchain/anthropic';\nimport { withCascade } from '@cascadeflow/langchain';\n\nconst cascade = withCascade({\n  drafter: new ChatOpenAI({ model: 'nous/hermes-flash' }),      // $0.15/$0.60 per 1M tokens\n  verifier: new ChatAnthropic({ model: 'claude-sonnet-4-5' }),  // $3/$15 per 1M tokens\n  qualityThreshold: 0.8, // 80% queries use drafter\n});\n\n// Use like any LangChain chat model\nconst result = await cascade.invoke('Explain quantum computing');\n\n// Optional: Enable LangSmith tracing (see https://smith.langchain.com)\n// Set LANGSMITH_API_KEY, LANGSMITH_PROJECT, LANGSMITH_TRACING=true\n\n// Or with LCEL chains\nconst chain = prompt.pipe(cascade).pipe(new StringOutputParser());\n```\n\n</details>\n\n<details>\n<summary><b><img src=\".github/assets/CF_python_color.svg\" width=\"18\" height=\"18\" alt=\"Python\" style=\"vertical-align: middle;\"/> Python - Drop-in replacement for any LangChain chat model</b></summary>\n\n```python\nfrom langchain_openai import ChatOpenAI\nfrom langchain_anthropic import ChatAnthropic\nfrom cascadeflow.integrations.langchain import CascadeFlow\n\ncascade = CascadeFlow(\n    drafter=ChatOpenAI(model=\"nous/hermes-flash\"),      # $0.15/$0.60 per 1M tokens\n    verifier=ChatAnthropic(model=\"claude-sonnet-4-5\"),  # $3/$15 per 1M tokens\n    quality_threshold=0.8,  # 80% queries use drafter\n)\n\n---\n\n## License\n\nMIT ©  see [LICENSE](https://github.com/lemony-ai/cascadeflow/blob/main/LICENSE) file.\n\nFree for commercial use. Attribution appreciated but not required.\n\n---","github_created_at":"2025-10-24T11:08:44+00:00","created_at":"2026-07-15T11:17:20.862807+00:00","updated_at":"2026-07-15T11:17:24.252059+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"agent","name":"agent"},{"slug":"ai","name":"ai"},{"slug":"anthropic","name":"anthropic"},{"slug":"api","name":"api"},{"slug":"budgets","name":"budgets"},{"slug":"claude","name":"claude"},{"slug":"cost-optimization","name":"cost-optimization"},{"slug":"cost-transparency","name":"cost-transparency"}],"trust":{"provenance":{"is_fork":false,"github_id":1082518430,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-15T11:17:21.843Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":0,"days_since_push":14,"last_release_at":"2026-04-02T17:56:42Z"},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":2,"high_count":0,"last_scan_at":"2026-07-15T11:17:22.312Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-07-15T11:17:21.607Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-07-15T11:17:21.607Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-07-15T11:17:21.607Z"},"languages":{"value":["python","javascript"],"source":"github.language+package.json+pyproject.toml","observed_at":"2026-07-15T11:17:21.607Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-15T11:17:21.607Z"}}}}