mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
59c073c610
Python starters were trying to run uvicorn with agent.<module>:app but those modules don't export a FastAPI app. The demo packages use agent_server.py as the FastAPI wrapper, so starters need it too. Changes: - Copy agent_server.py from each demo package into starter root, rewriting "from agents." to "from agent." for the starter layout - Update all non-langgraph Python devScripts to use agent_server:app - Update Dockerfile.python to COPY agent_server.py for non-langgraph - Update getEntrypointBlock() generic Python to use agent_server:app - Make langgraph-fastapi use langgraph_cli dev like langgraph-python (it was incorrectly configured as a uvicorn-based starter) - Regenerate all starters
55 lines
1.1 KiB
Python
Generated
55 lines
1.1 KiB
Python
Generated
"""
|
|
Agent Server for Google ADK
|
|
|
|
FastAPI server that hosts the ADK agent backend.
|
|
The Next.js CopilotKit runtime proxies requests here via AG-UI protocol.
|
|
"""
|
|
|
|
import os
|
|
import uvicorn
|
|
from ag_ui_adk import ADKAgent, add_adk_fastapi_endpoint
|
|
from fastapi import FastAPI
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
from dotenv import load_dotenv
|
|
from agent.main import sales_pipeline_agent
|
|
|
|
load_dotenv()
|
|
|
|
app = FastAPI(title="Google ADK Agent Server")
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"],
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
adk_agent = ADKAgent(
|
|
adk_agent=sales_pipeline_agent,
|
|
user_id="demo_user",
|
|
session_timeout_seconds=3600,
|
|
use_in_memory_services=True,
|
|
)
|
|
|
|
add_adk_fastapi_endpoint(app, adk_agent, path="/")
|
|
|
|
|
|
@app.get("/health")
|
|
async def health():
|
|
return {"status": "ok"}
|
|
|
|
|
|
def main():
|
|
"""Run the uvicorn server."""
|
|
port = int(os.getenv("PORT", "8000"))
|
|
uvicorn.run(
|
|
"agent_server:app",
|
|
host="0.0.0.0",
|
|
port=port,
|
|
reload=True,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|