These approaches should work:
# Setup
seq, batch, feature = 2, 3, 4
a = torch.randn(seq, batch, feature)
b = torch.randn(batch, feature)

# Einsum
b_ = b.permute(1, 0).unsqueeze(0).expand(2, -1, -1)
out1 = torch.einsum('sbf, sfb->sb', a, b_)

# Mul + sum
out2 = (a * b).sum(-1)

# Manual
out3 = torch.zeros(seq, batch)
for i in range(seq):
    for j in range(batch):
        a_ = a[i, j]
        b_ = b[j]
        out3[i, j] = torch.dot(a_, b_)

# Check
print(torch.allclose(out1, out2) and torch.allclose(out1, out3))
> True

Depending on the workload one might be faster.