{"adoption": {"forks": 95, "observed_at": "2026-08-28T04:04:21.358598+00:00", "stars": 1319}, "canonical_url": "https://ross.abutalabs.com/products/modelfusion", "card": {"archived": true, "artifact_type": "library", "description": "The TypeScript library for building AI applications.", "domain": ["artificial-intelligence", "large-language-models", "chatbots", "web-development", "developer-tools"], "enriched": true, "function": ["llm-inference", "agent-framework", "rag", "chatbot", "sdk", "http-client", "speech-recognition", "tts", "image-processing", "prompt-engineering"], "health_score": 10, "homepage": "https://modelfusion.dev", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["vercel/modelfusion"], "name": "vercel/modelfusion", "platform": ["cross-platform", "serverless"], "pushed_at": "2024-07-19T15:17:19+00:00", "repo": "vercel/modelfusion", "stars": 1319, "tags": ["multi-modal", "openai", "huggingface", "ollama", "llamacpp", "text-streaming", "tool-calls", "embeddings", "vercel-ai-sdk", "vendor-neutral", "ai-agents", "natural-language-processing", "nodejs", "typescript", "javascript"], "topics": ["chatbot", "gpt-3", "javascript", "js", "llm", "openai", "ts", "typescript", "whisper", "ai", "embedding", "huggingface", "dall-e", "stable-diffusion", "llamacpp", "artificial-intelligence", "claude", "multi-modal", "ollama", "mistral"], "urls": [], "use_cases": ["build a chatbot in typescript", "stream llm text responses in a node app", "generate structured objects from llm output", "add tool calling to an ai agent", "generate embeddings for semantic search", "transcribe audio with whisper in javascript", "switch between openai, ollama, and llama.cpp providers", "build ai apps with retries and logging"], "what_it_is": "ModelFusion is a TypeScript library that provides a unified, vendor-neutral abstraction layer for integrating AI models into JavaScript and TypeScript applications. It supports text streaming, object generation, tool usage, embeddings, and multi-modal models with production features like observability, retries, and type validation.", "when_to_avoid": ["you are starting a new project - the project is being integrated into the Vercel AI SDK, which is the recommended path forward", "you need a Python AI library", "you want a full application framework rather than a model integration layer"], "when_to_choose": ["you want a typed, vendor-neutral abstraction over multiple AI model providers in TypeScript", "you need production features like retries, throttling, and observability hooks", "you want multi-modal support including text, image, speech, and embeddings in one library"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/modelfusion", "repo": "vercel/modelfusion", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.358598+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:47:55.900463+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c33db8dec95557676aa5547bc2103f77f80bea1211f7fb7273ab88b23ac7647c", "fetched_at": "2026-08-28T04:04:21.358598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/modelfusion"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 85, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1196, "days_push": 775, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}