To solve the given optimization problem, we first need to translate the natural language description into a symbolic representation. This involves defining variables, an objective function, and constraints based on the problem statement.

Let's denote:
- \(x_1\) as the number of LED signs made by team A.
- \(x_2\) as the number of neon signs made by team B.

The objective is to maximize profit, with each LED sign contributing $1500 to profit and each neon sign contributing $1450. Thus, the objective function can be represented algebraically as:
\[ \text{Maximize:} \quad 1500x_1 + 1450x_2 \]

Given constraints are:
1. Team A can make at most 3 LED signs a day: \( x_1 \leq 3 \)
2. Team B can make at most 4 neon signs a day: \( x_2 \leq 4 \)
3. The senior QC inspector can check at most 7 signs total a day: \( x_1 + x_2 \leq 7 \)

Also, since the number of signs cannot be negative:
- \( x_1 \geq 0 \)
- \( x_2 \geq 0 \)

And logically, both \(x_1\) and \(x_2\) should be integers because you can't make a fraction of a sign.

In symbolic notation with natural language objects, we have:
```json
{
    'sym_variables': [('x1', 'Number of LED signs'), ('x2', 'Number of neon signs')],
    'objective_function': '1500*x1 + 1450*x2',
    'constraints': ['x1 <= 3', 'x2 <= 4', 'x1 + x2 <= 7', 'x1 >= 0', 'x2 >= 0']
}
```

Now, let's implement this problem using Gurobi in Python:

```python
from gurobipy import *

# Create a new model
m = Model("Sign_Making_Problem")

# Define variables
x1 = m.addVar(vtype=GRB.INTEGER, name="LED_Signs")
x2 = m.addVar(vtype=GRB.INTEGER, name="Neon_Signs")

# Objective function: Maximize profit
m.setObjective(1500*x1 + 1450*x2, GRB.MAXIMIZE)

# Constraints
m.addConstr(x1 <= 3, "Max_LED_Signs")
m.addConstr(x2 <= 4, "Max_Neon_Signs")
m.addConstr(x1 + x2 <= 7, "Total_Checks")
m.addConstr(x1 >= 0, "NonNegative_LED")
m.addConstr(x2 >= 0, "NonNegative_Neon")

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution: {x1.varName} = {x1.x}, {x2.varName} = {x2.x}")
    print(f"Maximum profit: ${1500*x1.x + 1450*x2.x}")
else:
    print("No optimal solution found")
```