As others have said, just get out on the flop. Yes its a small bet, but the other guy has already called, and you are very unlikely to win the hand, unless you improve to a set. So even the odds are good, they are not good enough.
As played the river is just a cooler. You should certainly raise for value with a set, when no flush or straight is possible, and it almost got checked to the river. You can get value from a lot of worse hands, and you should literally always have the best hand.
In the long run he is the one, who is making a mistake by slowplaying his set until the river. This time it worked out for him, because it allowed you to catch up to a worse set. But much more often he will either win a small pot or lose a big pot to someone, who drew out on him.