AI-Trainer / README.md
V1vex
third-commit
0082e2b
---
title: Meta OpenEnv Hackathon AI Agent Submission
emoji: 🚀
colorFrom: blue
colorTo: purple
sdk: python
license: mit
tags:
- openenv
- ai
- hackathon
- qwen
- huggingface
---
# Meta OpenEnv Hackathon — AI Agent Submission
## Overview
This project is a production-ready AI agent built for the **Meta OpenEnv Hackathon**. The agent competes in a 3-round coding challenge against an OpenAI GPT-4o-mini judge, receiving Python coding tasks and submitting solutions for evaluation.
---
## Agent: `inference.py`
The core agent logic lives entirely in `inference.py`. It runs a 3-round loop that:
1. Calls the local OpenEnv server's `/reset` endpoint to fetch a new coding task
2. Sends the task to a powerful LLM to generate a Python solution
3. Submits the solution back to the `/step` endpoint and retrieves the score
### API Payload Compatibility
The agent uses the exact payload format required by the Meta OpenEnv REST API:
```json
{"action": {"answer": "<agent_answer>"}}
```
This nested structure matches the server's strict Pydantic model validation, completely preventing `422 Unprocessable Entity` errors that arise from incorrect top-level keys or flat payload formats.
---
## Model: Qwen/Qwen2.5-72B-Instruct
The agent uses **`Qwen/Qwen2.5-72B-Instruct`** via the **Hugging Face Router API** (`https://router.huggingface.co/v1`), accessed through an OpenAI-compatible client.
Key reasons for this choice:
- The HF Router endpoint is the current active inference gateway — the legacy `api-inference.huggingface.co/v1` endpoint has been deprecated and returns `410 Gone` errors
- Qwen 2.5 72B delivers state-of-the-art Python code generation, significantly outperforming smaller models on structured coding tasks
- The OpenAI-compatible interface ensures zero-downtime, stable connections with clean error handling
---
## Task Parsing
The agent safely parses tasks from multiple possible server response shapes:
- `response["observation"]["echoed_message"]`
- `response["observation"]["task_prompt"]`
- `response["echoed_message"]`
- Raw JSON fallback via `json.dumps(resp)`
This makes the agent resilient to any OpenEnv server version or configuration.
---
## Setup
### 1. Install dependencies
```bash
pip install -r requirements.txt
```
### 2. Set environment variables
```powershell
$env:HF_TOKEN = "hf_your_token_here"
$env:OPENAI_API_KEY = "sk-your_key_here"
```
### 3. Start the OpenEnv server, then run the agent
```bash
python inference.py
```
---
## Requirements
| Package | Version |
|--------------|----------|
| requests | 2.31.0 |
| openai | 1.14.0 |
| pydantic | 2.6.4 |