$\newcommand{\sem}[1]{[\![#1]\!]^{(\mathcal{D}, \mathcal{I}), v} }
\newcommand{\semI}[1]{[\![#1]\!]^{(\mathcal{D}, \mathcal{I}), v'} }
\newcommand{\tpl}[1]{\langle #1 \rangle}$
We can write "$\sem{\cdot}$" to mean "the semantic value of the string of symbols $\cdot$ in the model with domain $\mathcal{D}$, interpretation $\mathcal{I}$ and variable assignment $\mathcal{v}$".
The semantic value of a term (= a variable like $x$, an individual constant like $0$, or a function symbol applied to a matching number of arguments like $5 + 4$) will be an object from the domain.
The semantic value of a formula (= a predicate applied to a matching number of arguments like $2 < 1$, or a complex formula involving connectives and quantifiers like $\forall x (x > 0 \to even(x))$) will be a truth value.
So your guess is correct: An $n$-ary predicate symbol applied to an appropriate number of arguments returns a truth value. This follows from the definition of the semantics of FOL:
If $P$ is an $n$-ary predicate symbol and $t_1, \ldots, t_n$ are terms, then
$\sem{P(t_1, \ldots t_n)}=
\begin{cases}
\text{True} & \text{iff} \langle \sem{t_1}, \ldots, \sem{t_n} \rangle \in \sem{P}\\
\text{False} & \text{otherwise}
\end{cases}$
The semantic value of non-logical symbols (= individual constants, function symbols and predicate symbols) is determined by the interpretation function; and indeed, the interpretation of an $n$-ary predicate symbol is an $n$-ary relation on $\mathcal{D}$:
If $c$ is a constant symbol, then $\sem{c} = \mathcal{I}(c) \in \mathcal{D}$
If $f$ is an $n$-ary function symbol, then $\sem{f} = \mathcal{I}(f) : \mathcal{D}^n \to \mathcal{D}$
If $P$ is an $n$-ary predicate symbol, then $\sem{P} = \mathcal{I}(P) \subseteq \mathcal{D}^n$
A reasonable interpretation for the languge in your example would be
$\mathcal{D} = \mathbb{N}\\
\mathcal{I}(0) = 0, \mathcal{I}(1) = 1, \ldots\\
\mathcal{I}(<) = \{\tpl{x, y} \in \mathbb{N} \times \mathbb{N}: x < y\} = \{\tpl{0, 1}, \tpl{0, 2}, \ldots, \tpl{1, 2}, \tpl {1, 3}, \ldots\}$
We then have
$\sem{2 < 1} = \text{True}\\
\Longleftrightarrow \tpl{\sem{2}, \sem{1}} \in \sem{P}\\
\Longleftrightarrow \tpl{\mathcal{I}(2), \mathcal{I}(1)} \in \mathcal{I}(P)\\
\Longleftrightarrow\ \tpl{2, 1} \in \{\tpl{x,y}: x < y\}\\
\text{Since} \tpl{2, 1} \not \in \{\tpl{x,y}: x < y\},\\
\sem{2 < 1}= \text{False}$
One could say that interpretation of an $n$-ary predicate symbol itself is an $n$-ary relation on the domain, and the process of evaluating an atomic formula, i.e. a predicate occurring together with an argument vector, consists of implicitly forming its characteristic function (see Noah Schweber's post) to combine the interpretation of the predicate symbol as a set and the interpretation of its arguments as objects into a truth value; this is what happens in the definition of $\sem{P(t_1, \ldots t_n)}$ above.
If $x$ is a variable, what does $p^1x$ really mean?
Variables are like pronouns: $p^1x$ means "It is $P$", or "This is $P$". To make sense of variables, we need an assignment function, which maps variables to objects in the domain:
$v: VAR \to \mathcal{D}$
If $x$ is a variable, then $\sem{x} = v(x) \in \mathcal{D}$
A variable assignment is a way of pointing at objects: By fixing e.g. $v: x \mapsto 1$, I am pointing with my finger at the object $x$, thereby giving a meaning to the pronoun "it". Without specifying an assignment, i.e. pointing at an object, we can not make sense of the pronoun.
We often have to deal with more than one variable, but luckily I also have more than one finger: The assignment $v : x \mapsto 1, y \mapsto 0$ could mean that with my left index finger which I'm using when saying "this" I'm pointing at 1 and with my right hand which I use for "that" I'm pointing at 0. Under this particular assignment, the formula $x < y$, "This is smaller than that" means that 1 is smaller than 0, so $\sem{x < y}$ comes out as false; under another assignment where I point $v': x \mapsto 3, y \mapsto 5$, it means that 3 is smaller than 5, and $\semI{x < y}$ = True.
Usually variables occur in the scope of quantifiers. $\forall x (x > 0 \to even(x))$ means "Every way of pointing at an object makes the proposition "If this is larger than 0, then it is even" true". Likewise, $\exists x (x > 0 \land even(x))$ means "I can find a way of pointing at an object so that the proposition "This object is larger than 0 and even" true." The semantics of the quantifers $\forall, \exists$ is to loop over variable assignments, i.e. ways of pointing at things.
$\sem{P(x)}$ then means "$P$ holds of the object $x$", whatever it is that $v$ tells us $x$ refers to: $\sem{P(x)} = \text{True iff } v(x) \in \mathcal{I}(P)$.