[{"data":1,"prerenderedAt":847},["ShallowReactive",2],{"project-48111896":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":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":49,"post_text":51,"what":52,"said":92,"maker_in_thread":220,"shape":231,"grid":236,"attempts":808,"same_week":809,"maker_shows":42,"maker_hidden":839,"reader_version":840,"card":841},"48111896","Needle","We Distilled Gemini Tool Calling into a 26M Model","title","Show HN: Needle: We Distilled Gemini Tool Calling into a 26M Model","https:\u002F\u002Fgithub.com\u002Fcactus-compute\u002Fneedle","github.com","HenryNdubuaku",1778608991,2026,776,211,19,4366,1,"legend","ai","function calling model","library",[24,25,26,27,28],"function calling","tool use","on-device model","distillation","small language model","mixed",0.189,{"positive":32,"neutral":33,"mixed":18,"critical":34},29,45,16,91,{"performance":37,"execution":40,"idea":43,"docs":45,"design":47,"privacy":48},{"positive":38,"critical":39},2,6,{"positive":41,"critical":42},4,5,{"positive":44,"critical":41},17,{"positive":18,"critical":46},0,{"positive":46,"critical":46},{"positive":46,"critical":18},[50,18,41,42,46,50,50,42,50,42,50,50,46,42,46,42,41,50,46,50,50,42,18,50,50,50,18,18,41,46,50,50,50,50,42,42,41,42,50,46],3,"Hey HN, Henry here from Cactus. We open-sourced Needle, a 26M parameter function-calling (tool use) model. It runs at 6000 tok\u002Fs prefill and 1200 tok\u002Fs decode on consumer devices.\n\nWe were always frustrated by the little effort made towards building agentic models that run on budget phones, so we conducted investigations that led to an observation: agentic experiences are built upon tool calling, and massive models are overkill for it. Tool calling is fundamentally retrieval-and-assembly (match query to tool name, extract argument values, emit JSON), not reasoning. Cross-attention is the right",{"problem":53,"audience":59,"pricing":67,"motivation":68,"time_to_build":72,"stack":76,"openness":89,"stage":90,"team_size":91},{"value":54,"source":55,"evidence":56},"Running tool calling for agentic experiences on budget phones and wearables with a tiny model","maker",[57],{"id":58},"post",{"value":60,"source":61,"evidence":62},"Developers building agentic features for phones, watches and glasses","inferred",[63,64],{"id":58},{"id":65,"by":11,"text":66},"48115283","It is for building agentic capabilities into very small devices like phones, glasses, watches and more. Does that make sense?",null,{"value":69,"source":55,"evidence":70},"Make agentic experiences possible on budget phones by replacing massive models with a small tool-calling model",[71],{"id":58},{"value":73,"source":55,"evidence":74},"Pretraining 27 hours on 16 TPU v6e; post-training 45 minutes",[75],{"id":58},[77,81,85],{"value":78,"source":55,"evidence":79},"Simple Attention Networks (attention and gating only, no MLP)",[80],{"id":58},{"value":82,"source":55,"evidence":83},"Trained on TPU v6e",[84],{"id":58},{"value":86,"source":55,"evidence":87},"Cactus inference engine",[88],{"id":58},"open_source","prototype","unknown",{"praise":93,"objections":106,"requests":139,"questions":184,"alternatives":203},[94],{"value":95,"source":96,"evidence":97},"Useful for on-device uses like Home Assistant and Siri-like assistants","commenter",[98,102],{"id":99,"by":100,"text":101},"48115524","syntaxing","This would be amazing for home assistant.",{"id":103,"by":104,"text":105},"48113615","murkt","Can this be a Siri-like core? Set me a timer, tell me what’s the weather, etc. Here is transcribed text and available list of tools for the model to call, and voice the output.",[107,118,128],{"value":108,"source":96,"evidence":109},"Failed on chained timer request and gave wrong output for some queries",[110,114],{"id":111,"by":112,"text":113},"48117879","casey2","Query: set a timer for 1 hour Result: [{\"name\":\"set_timer\",\"arguments\":{\"time_human\":\"1 hour\"}}] Query: in 1 hour set a timer for 1 hour Result:…",{"id":115,"by":116,"text":117},"48132122","tim-projects","This sounds like it could be really powerful, but I don't understand how to use it. I tried 'git add commit and push' which is something I might ask an llm to do but is a waste…",{"value":119,"source":96,"evidence":120},"Unclear use case versus existing assistants like Siri",[121,125],{"id":122,"by":123,"text":124},"48115763","jcgrillo","I'm having trouble understanding why someone would want that? Like, what are the product use-cases of such a thing? I understand why people want that for coding agents--although…",{"id":126,"by":123,"text":127},"48115846","I mean.. Siri basically works? When I'm driving I say \"Hey Siri, find me a gas station along my route\", and it does. Or I say \"Hey Siri, call Joe Bob mobile\" and it does. Or I…",{"value":129,"source":96,"evidence":130},"Possible ToS conflict from distilling Gemini",[131,135],{"id":132,"by":133,"text":134},"48113596","ac29","FYI, distilling Gemini is explicitly against the ToS: \"You may not use the Services to develop models that compete with the Services (e.g., Gemini API or Google AI Studio). You…",{"id":136,"by":137,"text":138},"48117983","varenc","Are you worried about Google's response to this? They don't like people distilling their models:…",[140,151,162,173],{"value":141,"source":96,"evidence":142},"Live demo or video of the playground",[143,147],{"id":144,"by":145,"text":146},"48113387","simonw","Suggestion: publish a live demo of the \"needle playground\". It's small enough that it should be pretty cheap to run this on a little VPS somewhere!",{"id":148,"by":149,"text":150},"48113494","giancarlostoro","Alternatively, record a video that showcases it.",{"value":152,"source":96,"evidence":153},"Release the dataset",[154,158],{"id":155,"by":156,"text":157},"48114163","deepsquirrelnet","This is really cool. Any plans to release the dataset?",{"id":159,"by":160,"text":161},"48115928","theykk","hey nice work, is it possible to release the datasets?",{"value":163,"source":96,"evidence":164},"Browser or WebGPU\u002FONNX version",[165,169],{"id":166,"by":167,"text":168},"48113555","quantumleaper","Should be quick and easy with WebGPU, too.",{"id":170,"by":171,"text":172},"48116171","sroussey","Can this be converted to onnx or otherwise be used in a browser?",{"value":174,"source":96,"evidence":175},"Support for multi-step tool chaining and in-context learning",[176,180],{"id":177,"by":178,"text":179},"48119554","Liam_Simpkin","How could you use this for composability? I.e. chaining together multiple tools. For example web_search → summarize_url → send_email",{"id":181,"by":182,"text":183},"48114445","quadrature","Does the model have capacity for in context learning ?, if we give it examples of patterns can it follow them ?.",[185,196],{"value":186,"source":96,"evidence":187},"How does it handle ambiguity and multi-turn state",[188,192],{"id":189,"by":190,"text":191},"48116333","nl","Do you have any examples or data on the discriminatory power of the model for tool use? The examples are things like \"What is the weather in San Francisco\", where you are only…",{"id":193,"by":194,"text":195},"48118236","binyang_qiu","A lot of agent workflows really are just tool selection + argument extraction + structured output. How does this behave once workflows become multi-step and state starts…",{"value":197,"source":96,"evidence":198},"Why structure time as human-readable strings",[199],{"id":200,"by":201,"text":202},"48114350","gpm","This tool in the training data and playground surprised me: ``` { \"name\": \"set_timer\", \"description\": \"Set a timer for the specified duration or end time.\", \"parameters\": {…",[204,208,212,216],{"value":205,"source":55,"evidence":206},"FunctionGemma-270M",[207],{"id":58},{"value":209,"source":55,"evidence":210},"Qwen-0.6B",[211],{"id":58},{"value":213,"source":55,"evidence":214},"Granite-350M",[215],{"id":58},{"value":217,"source":55,"evidence":218},"LFM2.5-350M",[219],{"id":58},{"comments":33,"answered":34,"key":221},[222,225,228],{"id":223,"text":224},"48113207","So Needle is trained for INT4, what you see in the playground is INT4, only 14MB, same challenge though.",{"id":226,"text":227},"48119421","Yeah, but we wanted Gemini",{"id":229,"text":230},"48113469","thanks, yeah, the problem is just handling scale, we don't have the infra ready to go, but anyone can do that. Its easy for people to run on their laptops straight up. Will try…",{"commenters":232,"max_depth":233,"maker_replies":33,"first_comment_mins":234,"lifespan_hours":235},119,8,66,139,[237,239,243,247,250,254,257,261,264,266,269,272,276,280,282,284,287,290,293,296,297,300,303,306,309,312,315,317,321,322,324,325,327,329,331,333,336,338,341,344,348,351,354,358,359,361,364,368,370,373,376,378,381,384,386,388,390,393,396,399,402,404,406,408,412,414,417,419,422,425,427,429,432,435,438,440,444,446,449,451,453,456,458,460,463,467,469,471,475,477,480,482,484,486,490,492,495,498,501,504,506,508,510,512,516,520,524,527,529,530,533,534,537,539,541,545,547,550,553,556,558,561,563,566,570,572,575,577,579,583,585,589,591,594,597,601,603,607,609,613,614,616,618,619,622,624,627,629,632,634,637,639,643,645,649,652,654,657,659,662,665,668,671,672,676,678,682,684,688,691,693,695,699,701,703,705,709,713,716,718,720,724,726,730,732,734,736,740,742,746,748,752,754,756,759,762,763,765,769,771,775,777,779,783,786,789,792,795,798,800,803,806],[189,46,50,238,190,46],"project\u002Fneutral\u002Fperformance",[240,46,18,241,242,46],"48117114","project\u002Fcritical\u002Fperformance","michelsedgh",[244,46,46,245,246,46],"48117248","commenter\u002Fneutral\u002Fnone","HnUser12",[248,46,46,245,249,46],"48118635","kennywinker",[251,46,42,252,253,46],"48117340","project\u002Fpositive\u002Fperformance","mahmoudimus",[255,46,18,241,256,46],"48118808","hirako2000",[258,46,50,259,260,46],"48119215","project\u002Fneutral\u002Fnone","athrowaway3z",[262,46,46,245,263,46],"48119654","fennecfoxy",[265,46,18,241,242,46],"48118826",[267,46,18,241,268,46],"48130283","fwip",[270,46,50,271,263,46],"48119704","project\u002Fmixed\u002Fperformance",[273,46,50,274,275,46],"48128956","project\u002Fneutral\u002Fexecution","m00x",[277,18,42,278,279,46],"48113166","project\u002Fpositive\u002Fidea","ilaksh",[223,18,46,281,11,18],"maker\u002Fneutral\u002Fnone",[283,18,46,245,279,46],"48113274",[285,18,42,278,286,46],"48121420","matchaonmuffins",[288,18,46,289,279,46],"48125773","other\u002Fneutral\u002Fnone",[291,18,46,289,292,46],"48129622","ainch",[294,18,46,289,295,46],"48144978","sellmesoap",[136,38,46,289,137,46],[298,38,46,289,299,46],"48118011","madduci",[301,38,46,289,302,46],"48118087","tommica",[304,38,46,289,305,46],"48118335","incrudible",[307,38,46,289,308,46],"48118423","worthless-trash",[310,38,46,289,311,46],"48123656","andai",[313,38,46,289,314,46],"48124619","wordsarelies",[316,38,46,289,137,46],"48131483",[318,38,50,319,320,46],"48119249","project\u002Fneutral\u002Fidea","janalsncm",[226,38,46,281,11,18],[144,50,50,323,145,46],"project\u002Fneutral\u002Fdocs",[229,50,46,281,11,18],[148,50,50,326,149,46],"maker\u002Fneutral\u002Fdocs",[328,50,46,326,11,18],"48113514",[330,50,50,326,149,46],"48114555",[332,50,46,326,11,18],"48114698",[334,50,50,326,335,46],"48114717","bityard",[337,50,46,245,149,46],"48114816",[339,50,46,289,340,46],"48120965","TobTobXX",[342,50,50,326,343,46],"48117645","Barbing",[345,50,42,346,347,46],"48114151","maker\u002Fpositive\u002Fdocs","benob",[349,50,42,350,145,46],"48114524","project\u002Fpositive\u002Fexecution",[352,50,46,353,11,18],"48114680","maker\u002Fpositive\u002Fnone",[355,50,50,356,357,46],"48119216","maker\u002Fneutral\u002Fperformance","imhoguy",[166,50,50,356,167,46],[360,50,50,281,279,46],"48113735",[362,50,46,245,363,46],"48116517","bijowo1676",[365,50,46,366,367,46],"48118100","other\u002Fcritical\u002Fnone","utopiah",[369,50,50,281,145,46],"48113945",[371,50,50,323,372,46],"48125872","shreyask",[374,50,46,289,375,46],"48117204","bilalba",[377,50,46,281,11,18],"48125122",[379,41,42,278,380,46],"48116454","kgeist",[382,41,42,278,383,46],"48119134","mlperson",[385,41,50,319,253,46],"48123617",[387,41,46,289,311,46],"48123691",[389,41,50,319,311,46],"48123680",[391,41,50,238,392,46],"48124520","cheekygeeky",[394,41,46,395,11,18],"48125128","maker\u002Fpositive\u002Fidea",[397,41,50,326,398,46],"48137498","lostmsu",[400,42,50,323,401,46],"48113889","kristopolous",[403,42,46,281,11,18],"48114143",[405,42,46,245,401,46],"48117230",[407,42,46,281,11,18],"48125137",[409,42,46,410,411,46],"48115401","commenter\u002Fneutral\u002Fdocs","dymk",[413,42,46,245,401,46],"48115734",[415,42,46,410,416,46],"48116163","osrec",[418,42,46,410,401,46],"48116660",[420,42,46,410,421,46],"48115740","f33d5173",[423,42,46,245,424,46],"48116909","dang",[426,42,46,245,411,46],"48117240",[428,42,46,245,424,46],"48117807",[430,42,46,245,431,46],"48116301","bigyabai",[433,42,46,410,434,46],"48116911","DrammBA",[436,39,42,350,437,46],"48115385","tomaskafka",[439,39,46,353,11,18],"48115506",[441,442,46,245,443,46],"48115978",7,"brainless",[445,442,46,281,11,18],"48116156",[447,442,46,245,448,46],"48118518","deivid",[450,442,46,245,443,46],"48118674",[452,233,42,350,372,46],"48125737",[454,233,46,455,11,18],"48133642","commenter\u002Fpositive\u002Fnone",[457,233,46,455,372,46],"48136343",[103,459,42,278,104,46],9,[461,459,46,462,11,18],"48114157","maker\u002Fneutral\u002Fidea",[464,465,18,466,145,46],"48112914",10,"project\u002Fcritical\u002Fexecution",[468,465,46,281,11,18],"48113041",[470,465,42,350,145,46],"48113343",[472,473,42,278,474,46],"48113360",11,"cmrdporcupine",[476,473,46,245,11,18],"48113478",[478,473,46,289,479,46],"48114053","Balinares",[481,473,46,289,474,46],"48114834",[483,473,46,289,479,46],"48118445",[485,473,46,289,474,46],"48119640",[487,488,50,319,489,46],"48115552",12,"exabrial",[491,488,46,319,11,18],"48115572",[493,488,46,289,494,46],"48115651","tintor",[496,488,46,289,497,46],"48118257","jmalicki",[499,488,46,289,500,46],"48118429","NitpickLawyer",[502,488,46,289,503,46],"48135584","PhunkyPhil",[505,488,46,289,497,46],"48155804",[111,507,18,466,112,46],13,[509,507,46,274,11,18],"48133669",[193,511,50,319,194,46],14,[513,511,50,514,515,46],"48131179","project\u002Fneutral\u002Fdesign","bckr",[517,518,42,278,519,46],"48116373",15,"efskap",[521,518,46,522,523,46],"48116900","other\u002Fneutral\u002Fidea","krackers",[525,518,46,522,526,46],"48117346","Majromax",[528,518,46,522,523,46],"48117821",[115,34,18,466,116,46],[531,34,46,532,11,18],"48137976","maker\u002Fneutral\u002Fexecution",[99,44,42,278,100,46],[535,44,50,259,536,46],"48115743","synesthesiam",[538,44,46,245,11,18],"48115799",[540,44,42,353,100,46],"48116770",[542,543,42,252,544,46],"48118253",18,"meander_water",[546,543,46,289,340,46],"48121020",[548,16,18,466,549,46],"48114111","Havoc",[551,16,46,245,552,46],"48114176","dakolli",[554,555,50,319,335,46],"48114828",20,[557,555,46,245,11,18],"48115252",[559,555,46,245,560,46],"48115731","0cf8612b2e1e",[562,555,46,289,249,46],"48116209",[564,555,50,259,565,46],"48117446","xrd",[567,568,50,319,569,46],"48114709",21,"rsolva",[571,568,46,353,11,18],"48114807",[573,568,46,289,574,46],"48116203","NordStreamYacht",[576,568,46,289,569,46],"48119240",[578,568,18,466,398,46],"48137822",[580,581,42,278,582,46],"48114927",22,"BoredPositron",[584,581,46,281,11,18],"48115271",[586,587,50,259,588,46],"48115290",23,"alex7o",[590,587,46,259,11,18],"48115307",[592,587,50,356,593,46],"48116232","BuyG1n",[595,587,18,241,596,46],"48117506","pylotlight",[598,599,42,278,600,46],"48114180",24,"logdahl",[602,599,46,281,11,18],"48114275",[604,605,50,319,606,46],"48114414",25,"zamalek",[608,605,46,319,11,18],"48114705",[610,611,50,319,612,46],"48115220",26,"z3ugma",[65,611,46,281,11,18],[122,611,18,615,123,46],"project\u002Fcritical\u002Fidea",[617,611,46,319,11,18],"48115798",[126,611,18,615,123,46],[620,611,46,621,279,46],"48115948","commenter\u002Fneutral\u002Fidea",[623,611,18,615,123,46],"48116087",[625,611,46,245,626,46],"48116651","jasonjmcghee",[628,611,46,621,123,46],"48116860",[630,611,46,245,631,46],"48117027","digdugdirk",[633,611,18,615,123,46],"48117093",[635,611,42,278,636,46],"48117403","hosh",[638,611,46,245,123,46],"48117775",[640,641,42,278,642,46],"48131437",27,"insumanth",[644,641,46,281,11,18],"48133643",[646,647,46,289,648,46],"48117970",28,"jumploops",[650,647,46,289,651,46],"48118139","ai_fry_ur_brain",[653,647,46,245,305,46],"48118318",[655,647,46,245,656,46],"48118791","jvdongen",[658,647,46,289,651,46],"48123328",[660,647,46,289,661,46],"48120099","_flux",[663,647,46,245,664,46],"48160969","ayushranjan99",[666,647,46,289,667,46],"48118629","hansmayer",[669,647,46,522,670,46],"48123146","tempoponet",[200,32,50,319,201,46],[673,674,50,319,675,46],"48133248",30,"ElenaDaibunny",[677,674,46,281,11,18],"48137942",[679,680,50,319,681,46],"48128602",31,"twobitshifter",[683,680,46,353,11,18],"48133626",[685,686,50,319,687,46],"48117417",32,"halyconWays",[689,686,46,690,11,18],"48137951","project\u002Fpositive\u002Fnone",[177,692,50,319,178,46],33,[694,692,50,319,178,46],"48119652",[696,697,50,319,698,46],"48123144",34,"ctas",[700,697,46,462,11,18],"48125149",[181,702,50,319,182,46],35,[704,702,46,281,11,18],"48114712",[706,707,42,690,708,46],"48179510",36,"yong1024",[710,711,18,241,712,46],"48115116",37,"dangoodmanUT",[714,711,46,715,11,18],"48115202","maker\u002Fneutral\u002Fpricing",[170,717,50,274,171,46],38,[719,717,50,259,372,46],"48126887",[721,722,42,353,723,46],"48115334",39,"roggenbuck",[725,722,46,281,11,18],"48115381",[727,728,42,278,729,46],"48126882",40,"pokebear",[731,728,46,245,11,18],"48133631",[155,733,50,323,156,46],41,[735,733,46,326,11,18],"48114288",[737,738,42,278,739,46],"48137173",42,"taylorhou",[741,738,46,281,11,18],"48137968",[743,744,42,278,745,46],"48118182",43,"isaisabella",[747,744,46,245,11,18],"48133633",[749,750,50,319,751,46],"48115161",44,"varispeed",[753,750,46,319,11,18],"48115263",[755,750,50,319,751,46],"48115839",[757,750,42,278,758,46],"48115942","chris_money202",[760,750,42,278,761,46],"48117573","masafej536",[159,33,50,323,160,46],[764,33,46,326,11,18],"48116165",[766,767,42,353,768,46],"48123148",46,"Corbenic",[770,767,46,245,11,18],"48133652",[772,773,46,289,774,46],"48127269",47,"eddy-sekorti",[776,773,46,289,11,18],"48133660",[778,773,42,353,774,46],"48162378",[780,781,50,319,782,46],"48118696",48,"fizza_pizza",[132,784,18,785,133,46],49,"project\u002Fcritical\u002Fprivacy",[787,784,46,289,788,46],"48113633","vablings",[790,784,46,791,279,46],"48113707","commenter\u002Fcritical\u002Fidea",[793,784,46,289,794,46],"48113900","ForHackernews",[796,784,46,289,797,46],"48114000","xgulfie",[799,784,46,289,549,46],"48114065",[801,784,46,802,11,18],"48114187","maker\u002Fneutral\u002Fprivacy",[804,784,46,289,805,46],"48114488","iAMkenough",[807,784,46,289,392,46],"48127588",[],[810,815,820,825,829,834],{"id":811,"name":812,"points":813,"category":814},"48080587","ymawky",430,"infrastructure",{"id":816,"name":817,"points":818,"category":819},"48076815","let-go",292,"languages",{"id":821,"name":822,"points":823,"category":824},"48123359","Number Gacha",268,"games",{"id":826,"name":827,"points":828,"category":819},"48078575","Rust but Lisp",218,{"id":830,"name":831,"points":832,"category":833},"48096842","website",200,"productivity",{"id":835,"name":836,"points":837,"category":838},"48045939","TRUST",178,"dev_tools",false,"v2",{"id":842,"name":5,"line":6,"ai":839,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":843,"top":18,"kw":844,"maker":11,"domain":10,"tier":19,"attempts":46,"strip":845,"url":9,"mix":846,"praise":95,"objection":108,"sub":21},48111896,0.19,[24,25,26,27,28],"3145033535330505430335133311403333554530",[32,33,18,34],1794036700913]