[{"data":1,"prerenderedAt":344},["ShallowReactive",2],{"project-36750083":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":43,"post_text":46,"what":47,"said":80,"maker_in_thread":160,"shape":173,"grid":177,"attempts":303,"same_week":309,"maker_shows":31,"maker_hidden":337,"reader_version":338,"card":339},"36750083","Automorphic","Structured output from LLMs without reprompting","title","Show HN: Structured output from LLMs without reprompting","https:\u002F\u002Fautomorphic.ai\u002Fplayground","automorphic.ai","sandkoan",1689532218,2023,174,54,342,3109,12,"notable","ai","structured output from llms","web_app",[24,25,26,27],"structured output","llm json schema","constrained generation","grammar sampling","curious",-0.14,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,11,1,4,18,{"idea":37,"docs":38,"pricing":40,"design":41,"execution":42},{"positive":31,"critical":31},{"positive":39,"critical":33},0,{"positive":39,"critical":39},{"positive":39,"critical":39},{"positive":39,"critical":33},[44,39,39,39,39,39,39,39,39,33,45,45,39,45,39,39,39,39,39,39,45,45,39,45,45,45,45,39,45,44,33,45,39,39,39,33,39,45,39,33],5,3,null,{"problem":48,"audience":46,"pricing":58,"motivation":66,"time_to_build":46,"stack":70,"openness":78,"stage":79,"team_size":78},{"value":49,"source":50,"evidence":51},"LLMs don't reliably output valid JSON or schema-conforming data","maker",[52,55],{"id":53,"by":11,"text":54},"36750084","Built a tool for transforming unstructured data into structured outputs using language models (with 100% adherence). If you're facing problems getting GPT to adhere to a schema…",{"id":56,"by":11,"text":57},"36752991","Problems with OpenAI: 1) You're wasting GPT tokens on outputting JSON instead of meaningful information. 2) GPT functions won't, with absolute, 100% certainty, return JSON in the…",{"value":59,"source":60,"evidence":61},"API offered free for now; self-hosting free for first few users, may charge later","commenter",[62],{"id":63,"by":64,"text":65},"36763376","ycmg","We're offering the API for free, and have the playground available for anyone to use as well. As for self-hosting, we haven't quite decided on the business model, and were trying…",{"value":67,"source":50,"evidence":68},"Avoid wasted tokens and unreliable schema adherence in OpenAI function calling",[69],{"id":56,"by":11,"text":57},[71],{"value":72,"source":50,"evidence":73},"Custom self-hostable tuned LLM",[74,77],{"id":75,"by":11,"text":76},"36753547","Custom LLM—hence the self-hostability.",{"id":53,"by":11,"text":54},"unknown","beta",{"praise":81,"objections":89,"requests":111,"questions":123,"alternatives":131},[82],{"value":83,"source":60,"evidence":84},"Constrained token generation approach is a sound technique",[85],{"id":86,"by":87,"text":88},"36753232","behnamoh","the more it goes, the more I realize that the true power of LLMs is not in unstructured text that they can generate, but in structured output. but there are two approaches to…",[90,97,104],{"value":91,"source":60,"evidence":92},"Playground model got a simple height conversion wrong",[93],{"id":94,"by":95,"text":96},"36751839","beefnugs","oh its 100% predictable alright, predictable to be garbage : the default example chooses height as the wrong \"number\" whatever that might assume to be, then if you try to change…",{"value":98,"source":60,"evidence":99},"Self-hosting framing was misleading; primarily a SaaS",[100],{"id":101,"by":102,"text":103},"36760176","foundry27","I think the references to this being a “tool” that you can “self-host if you want” are a little disingenuous, especially after seeing that the linked GitHub project doesn’t…",{"value":105,"source":60,"evidence":106},"Token savings argument is weak for small JSON outputs",[107],{"id":108,"by":109,"text":110},"36753268","jacky2wong","Point 1 doesn't feel like a good enough reason. The number of tokens outputted as a JSON is so small if you tell GPT to output it properly.",[112],{"value":113,"source":60,"evidence":114},"Explain differences from guidance and OpenAI functions",[115,119],{"id":116,"by":117,"text":118},"36752369","sunshadow","What are the benefits over https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fguidance\u002F ?",{"id":120,"by":121,"text":122},"36752851","darkteflon","Could you contextualise this against OpenAI’s native functions?",[124],{"value":125,"source":60,"evidence":126},"Is the model available on HuggingFace",[127],{"id":128,"by":129,"text":130},"36753551","easygenes","You mention self hosting the model. Do you have the model weights up on HuggingFace?",[132,139,146,153],{"value":133,"source":60,"evidence":134},"Guidance (Microsoft)",[135,136],{"id":116,"by":117,"text":118},{"id":137,"by":87,"text":138},"36753203","guidance is a dead project. it worked well as a hobby side project by MS researchers, but it clearly isn't a long-term solution as new LLMs are introduced.",{"value":140,"source":60,"evidence":141},"LMQL",[142],{"id":143,"by":144,"text":145},"36754201","amkkma","What about LMQL?",{"value":147,"source":60,"evidence":148},"OpenAI function calling",[149],{"id":150,"by":151,"text":152},"36756996","marban","Can easily be done with OAI's new function calling.",{"value":154,"source":60,"evidence":155},"parserllm",[156],{"id":157,"by":158,"text":159},"36759576","Janymos","What's the difference between self hosting this and manually running https:\u002F\u002Fgithub.com\u002Fr2d4\u002Fparserllm ?",{"comments":161,"answered":162,"key":163},16,8,[164,167,170],{"id":165,"text":166},"36755083","You wouldn't actually want to, because you'd be losing generalizability, and it's a lot of unnecessary work. I think approach #1 outlined above is the better (more cost- and…",{"id":168,"text":169},"36769426","Yeah, then it seems we agree. I was just pointing out that it's not necessary to finetune OSS models to behave like OpenAI functions if you're able to do something similar to…",{"id":171,"text":172},"36752420","* * *",{"commenters":174,"max_depth":175,"maker_replies":161,"first_comment_mins":39,"lifespan_hours":176},27,6,38,[178,180,184,187,189,192,195,198,201,204,205,207,208,210,212,216,218,220,223,226,227,228,230,232,235,237,240,242,246,248,250,251,252,255,258,260,262,264,266,267,268,270,272,274,278,280,282,284,286,288,290,295,297,298,300],[86,39,44,179,87,39],"project\u002Fpositive\u002Fidea",[181,39,39,182,183,39],"36753611","other\u002Fneutral\u002Fnone","brucethemoose2",[185,39,39,182,186,39],"36758970","kelseyfrog",[188,39,39,182,121,39],"36754313",[190,39,39,182,191,39],"36755122","theblazehen",[193,39,39,194,121,39],"36756959","commenter\u002Fneutral\u002Fnone",[196,39,39,182,197,39],"36754509","sebmellen",[199,39,39,182,200,39],"36754911","lbeurerkellner",[202,39,39,182,203,39],"36755037","sandGorgon",[165,39,39,179,11,33],[206,39,39,194,203,39],"36768977",[168,39,39,194,11,33],[101,33,33,209,102,39],"project\u002Fcritical\u002Fdocs",[63,33,45,211,64,39],"project\u002Fneutral\u002Fpricing",[213,31,39,214,215,39],"36755669","commenter\u002Fneutral\u002Fidea","jensneuse",[116,45,45,217,117,39],"project\u002Fneutral\u002Fidea",[171,45,39,219,11,33],"maker\u002Fneutral\u002Fnone",[221,45,45,219,222,39],"36752890","swyx",[224,45,39,225,11,33],"36753073","project\u002Fneutral\u002Fnone",[137,45,39,182,87,39],[143,45,39,182,144,39],[229,45,39,182,121,39],"36754350",[231,45,39,182,121,39],"36754214",[233,45,39,182,234,39],"36754382","nestorD",[236,45,39,182,121,39],"36754719",[238,45,39,182,239,39],"36755220","IanCal",[241,45,39,182,121,39],"36756966",[243,34,45,244,245,39],"36753155","project\u002Fneutral\u002Fdesign","roseway4",[247,34,39,217,11,33],"36753254",[249,34,45,225,245,39],"36753423",[75,34,39,225,11,33],[157,44,45,217,158,39],[253,175,39,182,254,39],"36757238","minzi",[256,175,45,217,257,39],"36758076","StackOverlord",[128,259,45,225,129,39],7,[261,259,39,225,11,33],"36753634",[263,259,45,225,129,39],"36756026",[265,259,39,217,11,33],"36766808",[120,162,45,217,121,39],[56,162,39,179,11,33],[269,162,44,179,121,39],"36753170",[108,162,33,271,109,39],"project\u002Fcritical\u002Fidea",[273,162,39,211,11,33],"36753292",[275,162,45,276,277,39],"36755725","project\u002Fmixed\u002Fpricing","agroot12",[279,162,39,217,11,33],"36753284",[281,162,39,182,121,39],"36754295",[283,162,39,182,11,33],"36754333",[285,162,39,182,121,39],"36754368",[150,287,33,271,151,39],9,[289,287,39,217,11,33],"36763259",[291,292,45,293,294,39],"36754222",10,"project\u002Fneutral\u002Fdocs","dkjaudyeqooe",[296,292,39,293,11,33],"36754259",[53,32,39,179,11,33],[94,18,33,299,95,39],"project\u002Fcritical\u002Fexecution",[301,18,39,302,11,33],"36752333","project\u002Fneutral\u002Fexecution",[304,308],{"id":305,"t":306,"points":307,"comments":259},"36511852",1687982768,17,{"id":4,"t":12,"points":14,"comments":15},[310,315,320,324,329,333],{"id":311,"name":312,"points":313,"category":314},"36707877","Free Music Demixer",190,"creative",{"id":316,"name":317,"points":318,"category":319},"36754366","youpay",143,"infrastructure",{"id":321,"name":322,"points":323,"category":319},"36788210","Infisical",131,{"id":325,"name":326,"points":327,"category":328},"36786239","gmi100",91,"dev_tools",{"id":330,"name":331,"points":332,"category":319},"36758292","Peeng",84,{"id":334,"name":335,"points":336,"category":328},"36738295","PikaTorrent",65,false,"v2",{"id":340,"name":5,"line":6,"ai":337,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":341,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":342,"url":9,"mix":343,"praise":83,"objection":91,"sub":21},36750083,[24,25,26,27],"5000000001330300000033033330351300010301",[31,32,33,34],1794036638513]