## Step 1: Define the symbolic representation of the problem
Let's denote the number of milk chocolate pieces as $x_1$ and the number of dark chocolate pieces as $x_2$. The objective is to minimize the cost, which is $0.50x_1 + 0.75x_2$. The constraints are:
- $3x_1 + 4x_2 \geq 120$ (at least 120 units of cacao)
- $2x_1 + x_2 \geq 80$ (at least 80 units of sugar)
- $x_1, x_2 \geq 0$ (non-negativity constraint, as the baker cannot buy a negative number of chocolate pieces)

## Step 2: Convert the problem into a symbolic representation
The symbolic representation can be described as:
```json
{
'sym_variables': [('x1', 'milk chocolate pieces'), ('x2', 'dark chocolate pieces')],
'objective_function': '0.50*x1 + 0.75*x2',
'constraints': ['3*x1 + 4*x2 >= 120', '2*x1 + x2 >= 80', 'x1 >= 0', 'x2 >= 0']
}
```

## 3: Translate the symbolic representation into Gurobi code
To solve this problem using Gurobi in Python, we will use the following code:

```python
import gurobi

def solve_baker_problem():
    # Create a new model
    model = gurobi.Model()

    # Define the variables
    x1 = model.addVar(name="milk_chocolate", lb=0, vtype=gurobi.GRB.CONTINUOUS)
    x2 = model.addVar(name="dark_chocolate", lb=0, vtype=gurobi.GRB.CONTINUOUS)

    # Define the objective function
    model.setObjective(0.50 * x1 + 0.75 * x2, gurobi.GRB.MINIMIZE)

    # Add constraints
    model.addConstr(3 * x1 + 4 * x2 >= 120, name="cacao_constraint")
    model.addConstr(2 * x1 + x2 >= 80, name="sugar_constraint")

    # Optimize the model
    model.optimize()

    # Print the solution
    if model.status == gurobi.GRB.OPTIMAL:
        print("Optimal solution found.")
        print(f"Number of milk chocolate pieces: {x1.varValue}")
        print(f"Number of dark chocolate pieces: {x2.varValue}")
        print(f"Total cost: {model.objVal}")
    else:
        print("No optimal solution found.")

solve_baker_problem()
```

This code defines a Gurobi model for the baker problem, sets up the variables, objective function, and constraints, and then solves the model. If an optimal solution is found, it prints out the number of milk and dark chocolate pieces to buy and the total cost.