The Perfect Solution
The Perfect Solution
The Perfect Solution
"Is this number even?"
"yes of no"
"Invalid Response, please answer with yes of no"
"yes of no"
"Invalid Response,...
Processors might no longer get twice as fast every few years, but now we can use the power of servers to write software that runs even slower.
We can add caching so numbers that have been checked once can be quickly looked up from an inMemory database.
gpt3.5 is faster though. You can tell they really thought about performance while writing this code because they used 3.5 instead. /s
3.5e was so much better than 4e tho /d20
Rofl. I just imagine OP furiously updating LinkedIn with "AI Programmer".
Probably not a good idea to show your API key to everyone..
Yeah encrypt it or at least put on a nsfw tag or something. Gosh. People flaunt their privates like it's Onlyfans.
Or at least use an environment variable, it's not a good practice to have it written in plaintext in your code.
Why are you leaking your API key?
*OUR api key
“Thanks mate, now I can just use it too”
Keys disabled
Inefficient solution.
You should simplify it to just ask the model if the last bit of the binary representation of the integer is a 1 or a 0.
"... yes or no..."
Lexicon origin of Seven of Nine identified
oh Jesus
did this come full circle?
we used python to query chatgpt to decide if a number is even or odd and return true or false?
True or false or null.
Mathematicians didn't know it yet, but numbers can now be even, odd or neither.
True or false or null.
Ah, yes, a three-state boolean.
Non integers certainly aren't even or odd, so yes?
Key seems valid. I'll check all the integers for you to see how accurate it is.
While you're at it, also test
To be honest, I wouldn't be surprised if it failed once every few 100s of thousands. Make sure to test all real integers
Don't use OpenAI's outdated tools. Also, don't rely on prompt engineering to force the output to conform. Instead, use a local LLM and something like jsonformer or parserllm which can provably output well-formed/parseable text.
Agree this is better but neither of them actually seem "provable" though?
I'll be informal to boost your intuition. You know how a parser can reject invalid inputs? Parsers can be generated from grammars, so we can think of the grammars themselves as rejecting invalid inputs too. When we use a grammar for generation, every generated output will be a valid input when parsed, because the grammar can't build any invalid sentences (by definition!)
For example, suppose we want to generate a JSON object. The grammar for JSON objects starts with an opening curly brace "{". This means that every parser which accepts JSON objects (and rejects everything else) must start by accepting "{". So, our generator must start by emitting a "{" as well. Since our language-modeling generators work over probability distributions, this can be accomplished by setting the probability of every token which doesn't start with "{" to zero.
TIL Python dictionaries allow trailing commas.
List
While there are not actually any trailing commas in the dictionaries present and you are correct to say the ones present are part of a list, you can also have trailing commas in Python dictionaries. OP might have researched “Python trailing commas” and learned that part.
Trailing commas are fantastic to reduce changed lines in git
diffs. Makes life much better. Same thing with leading commas in SQL queries.
Yeah, I think, that's only really JSON which is so pedantic about it...
Yeah...
sweats nervously in C
Python is so great (half-sarcasm) that a trailing comma on its own constitutes a tuple (immutable list):
python
mytuple = 4, assert len(mytuple) == 1 assert mytuple[0] == 4
LOL I made something similar to identify the language of a text.
f
I can't even
Quick! Make this a library, then encourage its widespread use. Nothing could go wrong. Who's that behind me? No, one. No. It's absolutely not node.js.