import os import asyncio from fastapi import FastAPI from pydantic import BaseModel from langchain_nvidia_ai_endpoints import ChatNVIDIA from browser_use import Agent app = FastAPI() class TaskRequest(BaseModel): task: str @app.get("/") def read_root(): return {"status": "Browser AI is running", "api_endpoint": "/run"} @app.post("/run") async def run_task(request: TaskRequest): # Берем ключ из секретов HF api_key = os.environ.get("NVIDIA_API_KEY") llm = ChatNVIDIA( model="meta/llama-3.1-405b-instruct", nvidia_api_key=api_key, temperature=0.1 ) # browser-use сам найдет запущенный xvfb дисплей agent = Agent( task=request.task, llm=llm ) result = await agent.run() return { "status": "done", "answer": result.final_result() } if __name__ == "__main__": import uvicorn # Порт 7860 обязателен для HF uvicorn.run(app, host="0.0.0.0", port=7860)