fastapi-fullstack 0.2.19__py3-none-any.whl → 0.2.20__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/METADATA +48 -39
- {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/RECORD +85 -57
- {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/WHEEL +1 -1
- fastapi_gen/UPGRADES.yaml +13 -0
- fastapi_gen/cli.py +15 -2
- fastapi_gen/config.py +28 -3
- fastapi_gen/prompts.py +42 -2
- fastapi_gen/template/VARIABLES.md +15 -13
- fastapi_gen/template/cookiecutter.json +2 -0
- fastapi_gen/template/hooks/post_gen_project.py +50 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +13 -13
- fastapi_gen/template/{{cookiecutter.project_slug}}/.gitlab-ci.yml +1 -1
- fastapi_gen/template/{{cookiecutter.project_slug}}/ENV_VARS.md +5 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/MANUAL_STEPS.md +9 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/.env.example +16 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/alembic/env.py +9 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/assistant.py +34 -4
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/mcp.py +7 -4
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/mcp_oauth.py +12 -12
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/memory.py +139 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/openai_compatible.py +41 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/pydantic_deep_assistant.py +90 -70
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/code_execution.py +1 -1
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/deps.py +12 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/__init__.py +8 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/agent.py +18 -26
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/conversations.py +7 -1
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/health.py +2 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/me_memory.py +114 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/core/config.py +24 -2
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/db/memory_pool.py +180 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/db/migration_filters.py +29 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/db/todo_pool.py +7 -3
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/main.py +12 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/schemas/user_memory.py +49 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/agent.py +15 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/agent_invocation.py +48 -7
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/agent_session.py +157 -73
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/channels/router.py +3 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/channels/slack.py +2 -1
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/conversation.py +27 -2
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/rag/embeddings.py +6 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/user.py +8 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/user_memory.py +202 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/pyproject.toml +38 -15
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/api/test_me_memory.py +217 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_agents.py +21 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_channel_history.py +38 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_conversation_write_access.py +121 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_mcp_connections.py +18 -18
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_memory.py +297 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_memory_channels.py +65 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_memory_postgres.py +127 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_openai_compatible.py +60 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_pydantic_deep_history.py +167 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_services_conversation.py +59 -1
- fastapi_gen/template/{{cookiecutter.project_slug}}/docker-compose.dev.yml +5 -5
- fastapi_gen/template/{{cookiecutter.project_slug}}/docker-compose.prod.yml +12 -9
- fastapi_gen/template/{{cookiecutter.project_slug}}/docker-compose.yml +5 -5
- fastapi_gen/template/{{cookiecutter.project_slug}}/docs/configuration.md +8 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/layout.tsx +4 -1
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/memory/page.tsx +22 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/app/api/me/memory/file/route.ts +79 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/app/api/me/memory/route.ts +28 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/tool-call-card.tsx +27 -10
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/tool-results/memory.tsx +222 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/tool-results/skills.tsx +7 -15
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/demo/demo-replay.tsx +51 -11
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/memory-delete-dialog.tsx +53 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/memory-file-editor.tsx +121 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/memory-file-name.ts +30 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/memory-manager.tsx +247 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/hooks/index.ts +3 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-memory.ts +100 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-step-replay.ts +1 -1
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/agent-step-captions.ts +14 -3
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/constants.ts +3 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/memory-api.ts +53 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/py-literal.ts +112 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/query-keys.ts +5 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/skill-result.test.ts +38 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/skill-result.ts +30 -0
- fastapi_gen/template/{{cookiecutter.project_slug}}/kubernetes/secret.yaml +3 -0
- {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/entry_points.txt +0 -0
- {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: fastapi-fullstack
|
|
3
|
-
Version: 0.2.
|
|
4
|
-
Summary: Full-stack FastAPI + Next.js template generator with
|
|
3
|
+
Version: 0.2.20
|
|
4
|
+
Summary: Full-stack FastAPI + Next.js template generator with Pydantic AI/LangChain agents, WebSocket streaming, 20+ enterprise integrations, and Logfire/LangSmith observability. Ship AI apps fast.
|
|
5
5
|
Project-URL: Homepage, https://github.com/vstorm-co/full-stack-ai-agent-template
|
|
6
|
-
Project-URL: Documentation, https://
|
|
6
|
+
Project-URL: Documentation, https://vstorm-co.github.io/full-stack-ai-agent-template/
|
|
7
7
|
Project-URL: Repository, https://github.com/vstorm-co/full-stack-ai-agent-template
|
|
8
8
|
Author-email: Vstorm <hr@vstorm.co>
|
|
9
9
|
License: MIT
|
|
@@ -46,6 +46,13 @@ Requires-Dist: mkdocs>=1.6.1; extra == 'docs'
|
|
|
46
46
|
Requires-Dist: pymdown-extensions>=10.20; extra == 'docs'
|
|
47
47
|
Description-Content-Type: text/markdown
|
|
48
48
|
|
|
49
|
+
<p align="center">
|
|
50
|
+
<a href="https://github.com/vstorm-co/agenticos">
|
|
51
|
+
<img src="assets/agenticos-banner-light.png" width="100%" alt="AgenticOS by Vstorm, the Sovereign Agentic AI Layer: AI agents your whole team can use and improve. Open source (Apache-2.0), self-hosted, built on Pydantic AI, with budgets, approvals, guardrails and activity built in. Links to the AgenticOS repository on GitHub.">
|
|
52
|
+
</a>
|
|
53
|
+
</p>
|
|
54
|
+
<p align="center"><sub>From the team behind this repo: <a href="https://github.com/vstorm-co/agenticos"><b>AgenticOS</b></a>, the Sovereign Agentic AI Layer. AI agents your whole team can use and improve: open source (Apache-2.0), self-hosted, built on Pydantic AI.</sub></p>
|
|
55
|
+
|
|
49
56
|
<h1 align="center">Full-Stack AI Agent Template</h1>
|
|
50
57
|
|
|
51
58
|
<p align="center">
|
|
@@ -57,7 +64,6 @@ Description-Content-Type: text/markdown
|
|
|
57
64
|
<a href="#-features">Features</a> •
|
|
58
65
|
<a href="#-demo">Demo</a> •
|
|
59
66
|
<a href="https://vstorm-co.github.io/full-stack-ai-agent-template/">Documentation</a> •
|
|
60
|
-
<a href="https://oss.vstorm.co/projects/full-stack-ai-agent-template/configurator/">Configurator</a> •
|
|
61
67
|
<a href="https://pypi.org/project/fastapi-fullstack/">PyPI</a>
|
|
62
68
|
</p>
|
|
63
69
|
|
|
@@ -80,7 +86,7 @@ Description-Content-Type: text/markdown
|
|
|
80
86
|
</p>
|
|
81
87
|
|
|
82
88
|
<p align="center">
|
|
83
|
-
<b>🤖 5 AI Agent Frameworks</b> <i>(
|
|
89
|
+
<b>🤖 5 AI Agent Frameworks</b> <i>(Pydantic AI, Pydantic Deep Agents, LangChain, LangGraph, DeepAgents)</i>
|
|
84
90
|
<br>
|
|
85
91
|
<b>📄 RAG Pipeline</b> <i>(Milvus, Qdrant, pgvector, ChromaDB)</i>
|
|
86
92
|
<br>
|
|
@@ -121,22 +127,23 @@ This template is part of a broader open-source ecosystem for production AI agent
|
|
|
121
127
|
|
|
122
128
|
| Project | Description | |
|
|
123
129
|
|---------|-------------|---|
|
|
130
|
+
| **[AgenticOS](https://github.com/vstorm-co/agenticos)** | Open-source (Apache-2.0), self-hosted platform to build, share and govern AI agents across a company. | [](https://github.com/vstorm-co/agenticos) |
|
|
124
131
|
| **[pydantic-deepagents](https://github.com/vstorm-co/pydantic-deepagents)** | The modular agent runtime for Python. Claude Code-style CLI with Docker sandbox, browser automation, multi-agent teams, and /improve. | [](https://github.com/vstorm-co/pydantic-deepagents) |
|
|
125
132
|
| **[pydantic-ai-shields](https://github.com/vstorm-co/pydantic-ai-shields)** | Drop-in guardrails for Pydantic AI agents. 5 infra + 5 content shields. | [](https://github.com/vstorm-co/pydantic-ai-shields) |
|
|
126
|
-
| **[pydantic-ai
|
|
127
|
-
| **[summarization-pydantic-ai](https://github.com/vstorm-co/pydantic-ai
|
|
133
|
+
| **[subagents-pydantic-ai](https://github.com/vstorm-co/subagents-pydantic-ai)** | Declarative multi-agent orchestration with token tracking. | [](https://github.com/vstorm-co/subagents-pydantic-ai) |
|
|
134
|
+
| **[summarization-pydantic-ai](https://github.com/vstorm-co/summarization-pydantic-ai)** | Smart context compression for long-running agents. | [](https://github.com/vstorm-co/summarization-pydantic-ai) |
|
|
128
135
|
| **[pydantic-ai-backend](https://github.com/vstorm-co/pydantic-ai-backend)** | Sandboxed execution for AI agents. Docker + Daytona. | [](https://github.com/vstorm-co/pydantic-ai-backend) |
|
|
129
136
|
|
|
130
|
-
> **Want the runtime behind this template's AI agents?** [pydantic-deepagents](https://github.com/vstorm-co/pydantic-deepagents) powers the `
|
|
137
|
+
> **Want the runtime behind this template's AI agents?** [pydantic-deepagents](https://github.com/vstorm-co/pydantic-deepagents) powers the `pydantic_deep` framework option — install it standalone with `curl -fsSL .../install.sh | bash`.
|
|
131
138
|
|
|
132
|
-
Browse all projects at [
|
|
139
|
+
Browse all projects at [github.com/vstorm-co](https://github.com/vstorm-co)
|
|
133
140
|
|
|
134
141
|
---
|
|
135
142
|
|
|
136
143
|
## 🚀 Quick Start
|
|
137
144
|
|
|
138
145
|
> [!TIP]
|
|
139
|
-
> **
|
|
146
|
+
> **Want to review every option first?** The [installation guide](https://vstorm-co.github.io/full-stack-ai-agent-template/installation/) covers the interactive wizard, non-interactive flags and presets; `fastapi-fullstack templates` lists every option.
|
|
140
147
|
|
|
141
148
|
### Installation
|
|
142
149
|
|
|
@@ -653,7 +660,7 @@ The chat UI streams responses over WebSocket and renders each tool call as a pur
|
|
|
653
660
|
<tr>
|
|
654
661
|
<td width="50%">
|
|
655
662
|
|
|
656
|
-
**Logfire** — distributed tracing: FastAPI,
|
|
663
|
+
**Logfire** — distributed tracing: FastAPI, Pydantic AI, DB, Redis, Celery, HTTPX in one timeline.
|
|
657
664
|
|
|
658
665
|

|
|
659
666
|
|
|
@@ -700,7 +707,7 @@ This template gives you all of that out of the box, with **20+ configurable inte
|
|
|
700
707
|
|
|
701
708
|
### Perfect For
|
|
702
709
|
|
|
703
|
-
- 🤖 **AI Chatbots & Assistants** -
|
|
710
|
+
- 🤖 **AI Chatbots & Assistants** - Pydantic AI or LangChain agents with streaming responses
|
|
704
711
|
- 📊 **ML Applications** - Background task processing with Celery/Taskiq
|
|
705
712
|
- 🏢 **Enterprise SaaS** - Full auth, admin panel, webhooks, and more
|
|
706
713
|
- 🚀 **Startups** - Ship fast with production-ready infrastructure
|
|
@@ -720,7 +727,7 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
|
|
|
720
727
|
## ✨ Features
|
|
721
728
|
|
|
722
729
|
<p align="center">
|
|
723
|
-
<a href="https://ai.pydantic.dev"><img src="https://img.shields.io/badge/
|
|
730
|
+
<a href="https://ai.pydantic.dev"><img src="https://img.shields.io/badge/Pydantic%20AI-E92063?logo=pydantic&logoColor=white" alt="Pydantic AI"></a>
|
|
724
731
|
<a href="https://python.langchain.com"><img src="https://img.shields.io/badge/LangChain-1C3C3C?logo=langchain&logoColor=white" alt="LangChain"></a>
|
|
725
732
|
<a href="https://langchain-ai.github.io/langgraph/"><img src="https://img.shields.io/badge/LangGraph-005A9C?logo=langchain&logoColor=white" alt="LangGraph"></a>
|
|
726
733
|
<a href="https://milvus.io"><img src="https://img.shields.io/badge/Milvus-FF6B35?logoColor=white" alt="Milvus"></a>
|
|
@@ -761,8 +768,8 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
|
|
|
761
768
|
|
|
762
769
|
### 🤖 AI/LLM First
|
|
763
770
|
|
|
764
|
-
- **5 AI Frameworks** - [
|
|
765
|
-
- **
|
|
771
|
+
- **5 AI Frameworks** - [Pydantic AI](https://ai.pydantic.dev), [Pydantic Deep Agents](https://github.com/vstorm-co/pydantic-deepagents), [LangChain](https://python.langchain.com), [LangGraph](https://langchain-ai.github.io/langgraph/), [DeepAgents](https://github.com/langchain-ai/deepagents)
|
|
772
|
+
- **5 LLM Providers** - OpenAI, Anthropic, Google Gemini, OpenRouter, and any OpenAI-compatible gateway or server
|
|
766
773
|
- **RAG** - Document ingestion, vector search, reranking (Milvus, Qdrant, ChromaDB, pgvector)
|
|
767
774
|
- **WebSocket Streaming** - Real-time responses with full event access
|
|
768
775
|
- **Rich Chat UI** - Specialized tool-call cards (web search, knowledge base, Python, charts, skills), live subagent feed, citation sources panel, plan/task checklist, reasoning view, and in-chat file previews
|
|
@@ -775,7 +782,7 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
|
|
|
775
782
|
- **Multimodal Embeddings** - Provider-aware: OpenAI, Voyage (Anthropic), Gemini (multimodal text + images)
|
|
776
783
|
- **Document Sources** - Local files, API upload, Google Drive, S3/MinIO
|
|
777
784
|
- **Sync Sources** - Per-organization connector management UI (Google Drive, S3/MinIO) with scheduled sync, manual triggers, encrypted credentials, and per-run logs
|
|
778
|
-
- **Observability** - Logfire for
|
|
785
|
+
- **Observability** - Logfire for Pydantic AI, LangSmith for LangChain/LangGraph/DeepAgents
|
|
779
786
|
|
|
780
787
|
### ⚡ Backend (FastAPI)
|
|
781
788
|
|
|
@@ -801,8 +808,8 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
|
|
|
801
808
|
|
|
802
809
|
| Category | Integrations |
|
|
803
810
|
|----------|-------------|
|
|
804
|
-
| **AI Frameworks** |
|
|
805
|
-
| **LLM Providers** | OpenAI, Anthropic, Google Gemini, OpenRouter |
|
|
811
|
+
| **AI Frameworks** | Pydantic AI, Pydantic Deep Agents, LangChain, LangGraph, DeepAgents |
|
|
812
|
+
| **LLM Providers** | OpenAI, Anthropic, Google Gemini, OpenRouter, OpenAI-compatible endpoints |
|
|
806
813
|
| **RAG / Vector Stores** | Milvus, Qdrant, ChromaDB, pgvector |
|
|
807
814
|
| **RAG Sources** | Local files, API upload, Google Drive, S3/MinIO, Sync Sources (per-org UI, scheduled) |
|
|
808
815
|
| **Embeddings** | OpenAI, Voyage, Gemini (multimodal), SentenceTransformers |
|
|
@@ -831,7 +838,7 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
|
|
|
831
838
|
│ │
|
|
832
839
|
│ ┌─────────────────────────────────────────────────────────────────┐ │
|
|
833
840
|
│ │ AI AGENTS │ │
|
|
834
|
-
│ │
|
|
841
|
+
│ │ Pydantic AI · LangChain · LangGraph · DeepAgents │ │
|
|
835
842
|
│ │ ──────────────────────────────────────────────────────────── │ │
|
|
836
843
|
│ │ Tools: datetime · web_search (Tavily) · search_knowledge_base │ │
|
|
837
844
|
│ │ Providers: OpenAI · Anthropic · Gemini · OpenRouter │ │
|
|
@@ -941,7 +948,7 @@ See [Architecture Documentation](https://github.com/vstorm-co/full-stack-ai-agen
|
|
|
941
948
|
Choose from **5 AI frameworks** and **4 LLM providers** when generating your project:
|
|
942
949
|
|
|
943
950
|
```bash
|
|
944
|
-
#
|
|
951
|
+
# Pydantic AI with OpenAI (default)
|
|
945
952
|
fastapi-fullstack create my_app --ai-framework pydantic_ai
|
|
946
953
|
|
|
947
954
|
# LangGraph with Anthropic
|
|
@@ -956,15 +963,17 @@ fastapi-fullstack create my_app --rag --database postgresql --task-queue celery
|
|
|
956
963
|
|
|
957
964
|
### Supported Combinations
|
|
958
965
|
|
|
959
|
-
| Framework | OpenAI | Anthropic | Gemini | OpenRouter |
|
|
960
|
-
|
|
961
|
-
| **
|
|
962
|
-
| **
|
|
963
|
-
| **LangChain** | ✓ | ✓ | ✓ | - |
|
|
964
|
-
| **LangGraph** | ✓ | ✓ | ✓ | - |
|
|
965
|
-
| **DeepAgents** | ✓ | ✓ | ✓ | - |
|
|
966
|
+
| Framework | OpenAI | Anthropic | Gemini | OpenRouter | OpenAI-compatible |
|
|
967
|
+
|-----------|:------:|:---------:|:------:|:----------:|:-----------------:|
|
|
968
|
+
| **Pydantic AI** | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
969
|
+
| **Pydantic Deep Agents** | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
970
|
+
| **LangChain** | ✓ | ✓ | ✓ | - | - |
|
|
971
|
+
| **LangGraph** | ✓ | ✓ | ✓ | - | - |
|
|
972
|
+
| **DeepAgents** | ✓ | ✓ | ✓ | - | - |
|
|
973
|
+
|
|
974
|
+
**OpenAI-compatible** (`--llm-provider openai_compatible`) reaches any gateway or server that speaks the OpenAI API by its base URL: model routers and LLM gateways (LiteLLM, Requesty, OrcaRouter, Portkey) and self-hosted servers (vLLM, llama.cpp, LM Studio, Ollama). Set `OPENAI_COMPATIBLE_BASE_URL`, `AI_MODEL` as the endpoint names it, and `OPENAI_COMPATIBLE_API_KEY` if it checks one.
|
|
966
975
|
|
|
967
|
-
###
|
|
976
|
+
### Pydantic AI Integration
|
|
968
977
|
|
|
969
978
|
Type-safe agents with full dependency injection:
|
|
970
979
|
|
|
@@ -1033,7 +1042,7 @@ Each framework has its own observability solution:
|
|
|
1033
1042
|
|
|
1034
1043
|
| Framework | Observability | Dashboard |
|
|
1035
1044
|
|-----------|--------------|-----------|
|
|
1036
|
-
| **
|
|
1045
|
+
| **Pydantic AI** | [Logfire](https://logfire.pydantic.dev) | Agent runs, tool calls, token usage |
|
|
1037
1046
|
| **LangChain** | [LangSmith](https://smith.langchain.com) | Traces, feedback, datasets |
|
|
1038
1047
|
|
|
1039
1048
|
See [AI Agent Documentation](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/ai-agent.md) for more.
|
|
@@ -1088,7 +1097,7 @@ uv run my_app rag-sync-s3 --collection docs --prefix reports/ --bucket my-bucket
|
|
|
1088
1097
|
|
|
1089
1098
|
## 📊 Observability
|
|
1090
1099
|
|
|
1091
|
-
### Logfire (for
|
|
1100
|
+
### Logfire (for Pydantic AI)
|
|
1092
1101
|
|
|
1093
1102
|
[Logfire](https://logfire.pydantic.dev) provides complete observability for your application - from AI agents to database queries. Built by the Pydantic team, it offers first-class support for the entire Python ecosystem.
|
|
1094
1103
|
|
|
@@ -1096,7 +1105,7 @@ uv run my_app rag-sync-s3 --collection docs --prefix reports/ --bucket my-bucket
|
|
|
1096
1105
|
graph LR
|
|
1097
1106
|
subgraph Your App
|
|
1098
1107
|
API[FastAPI]
|
|
1099
|
-
Agent[
|
|
1108
|
+
Agent[Pydantic AI]
|
|
1100
1109
|
DB[(Database)]
|
|
1101
1110
|
Cache[(Redis)]
|
|
1102
1111
|
Queue[Celery/Taskiq]
|
|
@@ -1119,7 +1128,7 @@ graph LR
|
|
|
1119
1128
|
|
|
1120
1129
|
| Component | What You See |
|
|
1121
1130
|
|-----------|-------------|
|
|
1122
|
-
| **
|
|
1131
|
+
| **Pydantic AI** | Agent runs, tool calls, LLM requests, token usage, streaming events |
|
|
1123
1132
|
| **FastAPI** | Request/response traces, latency, status codes, route performance |
|
|
1124
1133
|
| **PostgreSQL** | Query execution time, slow queries, connection pool stats |
|
|
1125
1134
|
| **Redis** | Cache hits/misses, command latency, key patterns |
|
|
@@ -1293,7 +1302,7 @@ generated_at = "2024-12-21T10:30:00+00:00"
|
|
|
1293
1302
|
| **Auth** | `jwt`, `api_key`, `both`, `none` | JWT includes user management |
|
|
1294
1303
|
| **OAuth** | `none`, `google` | Social login |
|
|
1295
1304
|
| **AI Framework** | `pydantic_ai`, `pydantic_deep`, `langchain`, `langgraph`, `deepagents` | Choose your AI agent framework |
|
|
1296
|
-
| **LLM Provider** | `openai`, `anthropic`, `google`, `openrouter` | OpenRouter only with
|
|
1305
|
+
| **LLM Provider** | `openai`, `anthropic`, `google`, `openrouter`, `openai_compatible`, `all` | OpenRouter and OpenAI-compatible only with Pydantic AI / Pydantic Deep Agents |
|
|
1297
1306
|
| **RAG** | `--rag` | Enable RAG with vector database |
|
|
1298
1307
|
| **Vector Store** | `milvus`, `qdrant`, `chromadb`, `pgvector` | pgvector uses existing PostgreSQL |
|
|
1299
1308
|
| **Background Tasks** | `none`, `celery`, `taskiq`, `arq`, `prefect` | Distributed queues / orchestration |
|
|
@@ -1317,7 +1326,7 @@ fastapi-fullstack new
|
|
|
1317
1326
|
# ✓ Rate limiting (per user/org/IP, Redis or in-memory)
|
|
1318
1327
|
# ✓ Pagination (fastapi-pagination)
|
|
1319
1328
|
# ✓ Admin Panel (SQLAdmin)
|
|
1320
|
-
# ✓ AI Agent (
|
|
1329
|
+
# ✓ AI Agent (Pydantic AI or LangChain)
|
|
1321
1330
|
# ✓ Webhooks
|
|
1322
1331
|
# ✓ Sentry
|
|
1323
1332
|
# ✓ Logfire / LangSmith
|
|
@@ -1339,7 +1348,7 @@ Setting up a production AI agent stack manually means wiring together 10+ tools
|
|
|
1339
1348
|
# 2. Configure SQLAlchemy + Alembic migrations
|
|
1340
1349
|
# 3. Implement JWT auth with refresh tokens
|
|
1341
1350
|
# 4. Build WebSocket streaming for AI responses
|
|
1342
|
-
# 5. Integrate
|
|
1351
|
+
# 5. Integrate Pydantic AI/LangChain with tool calling
|
|
1343
1352
|
# 6. Set up RAG pipeline (parsing, chunking, embedding, vector store)
|
|
1344
1353
|
# 7. Configure Celery + Redis for background tasks
|
|
1345
1354
|
# 8. Build Next.js frontend with auth and chat UI
|
|
@@ -1409,7 +1418,7 @@ The generated project is plain code — no lock-in or runtime dependency on the
|
|
|
1409
1418
|
<details>
|
|
1410
1419
|
<summary><b>Can I use a different LLM provider than the one I selected?</b></summary>
|
|
1411
1420
|
|
|
1412
|
-
Yes. The LLM provider is configured via environment variables (`AI_MODEL`, `OPENAI_API_KEY`, etc.). You can switch providers by changing the `.env` file and the model name — no code changes needed for
|
|
1421
|
+
Yes. The LLM provider is configured via environment variables (`AI_MODEL`, `OPENAI_API_KEY`, etc.). You can switch providers by changing the `.env` file and the model name — no code changes needed for Pydantic AI (which supports all providers natively).
|
|
1413
1422
|
|
|
1414
1423
|
</details>
|
|
1415
1424
|
|
|
@@ -1421,7 +1430,7 @@ Yes. The LLM provider is configured via environment variables (`AI_MODEL`, `OPEN
|
|
|
1421
1430
|
|----------|-------------|
|
|
1422
1431
|
| [Architecture](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/architecture.md) | Repository + Service pattern, layered design |
|
|
1423
1432
|
| [Frontend](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/frontend.md) | Next.js setup, auth, state management |
|
|
1424
|
-
| [AI Agent](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/ai-agent.md) |
|
|
1433
|
+
| [AI Agent](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/ai-agent.md) | Pydantic AI, tools, WebSocket streaming |
|
|
1425
1434
|
| [Observability](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/observability.md) | Logfire integration, tracing, metrics |
|
|
1426
1435
|
| [Deployment](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/deployment.md) | Docker, Kubernetes, production setup |
|
|
1427
1436
|
| [Development](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/development.md) | Local setup, testing, debugging |
|
|
@@ -1431,7 +1440,7 @@ Yes. The LLM provider is configured via environment variables (`AI_MODEL`, `OPEN
|
|
|
1431
1440
|
|
|
1432
1441
|
## Star History
|
|
1433
1442
|
|
|
1434
|
-
[](https://www.star-history.com/#vstorm-co/full-stack-ai-agent-template&type=date&legend=top-left)
|
|
1435
1444
|
|
|
1436
1445
|
---
|
|
1437
1446
|
|