Spaces:
Paused
Paused
| 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 | |
| def read_root(): | |
| return {"status": "Browser AI is running", "api_endpoint": "/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) |