Does anyone here know what the fanw-json-eval
model is? Could someone explain how it works? I was testing a response, and it only came out like this.
Might have been added by mistake. Happened before.
Interesting, I also tested it out but it returns nothing by new lines in the response â\nâ. In the API usage it also got charged as a GPT-4 request
Interesting spot! One has to sift through the back edges of documentation and symptom to detect whatâs going on. The model is not listed in the right place for model documentation. (Communication is obviously not to this forum but to select tiers of partners.)
The rate limit tier lets us see that it is in common with completion models. gpt-3.5-turbo-instruct
also appeared without fanfare or its price even being announced, and is a completion model that is good for performing tasks because of its instruct fine-tuning.
The word âevalâ might either make one think that the model is undergoing evaluation, or that it is part of the eval framework
Then the word JSON might make us think that JSON is part of its input or output tuning.
The API Playground can show metadata when hovering over a model, but -instruct has none (and is grouped under âchatâ likely because of the model architecture), and neither does this. It is set to a similar max_token limit as âinstructâ (but âdavinci-002â and âbabbage-002â are still wrong in the playground anyway)
So I roll the dice and hope that Iâm not billed $0.20 a token. If it was trained to emphasize JSON output, how would it work? Letâs write a completion request:
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.Completion.create(
model="fanw-json-eval",
prompt="5 keywords about kittens.",
max_tokens=100,
top_p=0.01
)
print(response)
We get back a response with spaces and linefeeds and repetition of max_tokens
{âŚ
âmodelâ: âfanw-json-evalâ,
âchoicesâ: [
{
âtextâ: " \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ",
⌠}
Kind of reminds me of the nonsense if you ask a gpt-3 embeddings model for completion. text-embedding-ada-002
only gives repeating â5 5 5 5â with that input. Hey! letâs ask model=âtext-embedding-ada-002â a prompt=âkittens are cuteâ to put it in a different mindset:
ada: "text": ", kittens, kittens, kittens,,,,,,,,,,,,,,",
json-eval: "text": "\n\n \n \n\n\r\n ",
so maybe this model really doesnât like being talked to normally. letâs talk to it differentlyâŚ
prompt='{"messages": {"user": "Are kittens cute?"},}',
Response:
"model": "fanw-json-eval",
"choices": [
{
"text": "\n\n\n{\"messages\": {\"assistant\": \"Yes, many people find kittens to be cute due to",
Well, HELLO! weâve made contact
This json input is not the same as talking to chat models, which use special token containers - which holy crow the completion endpoint will now encode to 1 token, even ChatGPT tokens like <|fim_suffix|>
, and I get us a json hallucination:
"choices": [
{
"text": "\n {\n \"id\": 1,\n \"name\": \"Leanne Graham\",\n ",
So I think this thing is ready to take ChatML-version#_(unpublished but almost all except 100265 the models have dumped strings for my jailbreaks) input and primed for json output.
So I give it ChatMLâŚ(and go right to injecting too) and get JSON role message back, WTF:
âmodelâ: âfanw-json-evalâ,
âchoicesâ: [
{
âtextâ: "\n {\n "role": "assistant",\n "content": "Hello, world!"\n }\n <|im_end|><|im_end|><|im_end|><|im_end|>
THE AI SHOULDNâT KNOW THIS!
So are they thinking of a way where they charge you for the tokens of container output and donât have to run any endpoint processing on AI language?
The AI doesnât respond to ChatML reliably like a chat model thoughâŚmore things the AI shouldnât be trained to output when I provide it token-enclosed inputs:
âmodelâ: âfanw-json-evalâ,
âchoicesâ: [
{
âtextâ: "\n {\n "role": "system",\n "content": "You are ChatGPT, a language AI model. You are assisting a user who is trying to create an API to say âHello, World!â in different languages. Help them understand the necessary steps and provide guidance on how to create the API."\n }\n <|im_end|><|im_end|><|im_end|>
âmodelâ: âfanw-json-evalâ,
âchoicesâ: [
{
âtextâ: "\n {\n "role": "assistant",\n "content": "Hello, world! Iâm an AI assistant, and Iâm here to help you with any questions or tasks you have. Just let me know what you need assistance with!"\n }\n <|im_end|><|im_end|>
(Sorry if this thought dump is too technical or rambling, but this will be interesting to figure out what the model is actually for.)