[{"data":1,"prerenderedAt":391},["ShallowReactive",2],{"project-34400443":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":47,"post_text":49,"what":50,"said":92,"maker_in_thread":218,"shape":225,"grid":228,"attempts":352,"same_week":353,"maker_shows":33,"maker_hidden":383,"reader_version":384,"card":385},"34400443","Sketch","AI code-writing assistant that understands data content","title","Show HN: Sketch – AI code-writing assistant that understands data content","https:\u002F\u002Fgithub.com\u002Fapproximatelabs\u002Fsketch","github.com","bluecoconut",1673876016,2023,252,49,194,3109,7,"legend","ai","code generation assistant","library",[24,25,26,27,28],"pandas","natural language to code","gpt-3","data analysis","jupyter","mixed",-0.024,{"positive":18,"neutral":32,"mixed":33,"critical":34},12,1,9,29,{"idea":37,"pricing":40,"privacy":41,"execution":43,"performance":44,"design":46},{"positive":38,"critical":39},6,0,{"positive":39,"critical":39},{"positive":39,"critical":42},3,{"positive":39,"critical":33},{"positive":39,"critical":45},4,{"positive":33,"critical":33},[39,39,39,48,42,33,39,42,39,48,33,33,33,42,33,33,42,48,33,39,33,33,39,39,42,39,39,39,39,48,39,42,48,39,42,42,42,42,48,48],5,null,{"problem":51,"audience":58,"pricing":49,"motivation":62,"time_to_build":49,"stack":69,"openness":91,"stage":91,"team_size":91},{"value":52,"source":53,"evidence":54},"Answering data questions and writing pandas code quickly from natural language prompts","maker",[55],{"id":56,"by":11,"text":57},"34400493","Hey HN! I’m excited to share sketch: a tool to help anyone who uses python and pandas quickly iterate and get to answers for their data questions. Sketch installs as a pandas…",{"value":59,"source":53,"evidence":60},"Anyone using python and pandas for data work",[61],{"id":56,"by":11,"text":57},{"value":63,"source":53,"evidence":64},"Make data questions faster to answer with data-aware AI context",[65,66],{"id":56,"by":11,"text":57},{"id":67,"by":11,"text":68},"34402133","Thanks! That is definitely a big part of it, getting to use copilot style answers without having to install any plugins to the IDE (so getting to use this in colab or jupyter…",[70,74,77,83],{"value":71,"source":53,"evidence":72},"Python",[73],{"id":56,"by":11,"text":57},{"value":24,"source":53,"evidence":75},[76],{"id":56,"by":11,"text":57},{"value":78,"source":53,"evidence":79},"GPT-3 (text-davinci-003)",[80],{"id":81,"by":11,"text":82},"34401502","Thanks! Right now this is running off of GPT-3 (`text-davinci-003`) and via a small code change can run on codex (`code-davinci-002`) but the quality only improves a little bit…",{"value":84,"source":85,"evidence":86},"lambdaprompt","commenter",[87],{"id":88,"by":89,"text":90},"34401877","swyx","digging thru the code https:\u002F\u002Fgithub.com\u002Fapproximatelabs\u002Fsketch\u002Fblob\u002F9d567ec161015d54107aae5e10f242ab630759b3\u002Fsketch\u002Fpandas_extension.py#L184 this seems to be using their gpt3…","unknown",{"praise":93,"objections":115,"requests":160,"questions":182,"alternatives":198},[94,108],{"value":95,"source":85,"evidence":96},"Useful for pandas and data work, copilot-style answers with data context",[97,101,104],{"id":98,"by":99,"text":100},"34402011","blakeburch","This is fantastic and exactly where our team at Shipyard is expecting the data space to go. Context aware, AI driven. Great work on this! We were just talking last week about how…",{"id":102,"by":89,"text":103},"34402012","This is a great demo, OP. I'm wondering about the UX of this vs Copilot. is this basically just a way to get around the fact that you dont have Copilot inside of notebooks? what…",{"id":105,"by":106,"text":107},"34403065","jamal-kumar","Damn, this looks pretty useful. I was finding that github copilot was really good at reading a CSV file and writing all the imports from that into migrations for DB import, but…",{"value":109,"source":85,"evidence":110},"Interesting application of GPT-3",[111],{"id":112,"by":113,"text":114},"34402356","ibestvina","Great work, and a really interesting application of GPT3. Some time ago I developed Datasloth [1] which might be a nice complementary feature to Sketch. Ping me if you're…",[116,135,145],{"value":117,"source":85,"evidence":118},"Sends data or column info to a remote OpenAI API, a privacy concern",[119,123,127,131],{"id":120,"by":121,"text":122},"34405009","jerpint","Does using this mean sending all of your potentially private data via an api call to openAI?",{"id":124,"by":125,"text":126},"34406437","abrichr","From https:\u002F\u002Fgithub.com\u002Fapproximatelabs\u002Fsketch\u002Fblob\u002Fmain\u002Fsketch\u002Fpandas_extension.py#LL162 it appears that this library is calling a remote API, which obviates the utility of the…",{"id":128,"by":129,"text":130},"34407150","marcosfelt","Right now, it sends the first five rows of the dataframe:…",{"id":132,"by":133,"text":134},"34406994","pklee","If this is using OpenAI which it seems is what it is using, It is only sending column headers \u002F column names. Not the data. If you are concerned about column names, you could…",{"value":136,"source":85,"evidence":137},"PII check gave wrong answers in a test",[138,142],{"id":139,"by":140,"text":141},"34403366","tdebroc","Looks really nice, but I tried it: ``` import sketch import pandas as pd data_pd = pd.read_csv(\"input.csv\", sep=';') print(data_pd) print(data_pd.sketch.ask(\"Is there any PII in…",{"id":143,"by":140,"text":144},"34405036","Ah yes it displayed the string, thanks! But the result looks wrong with this input: ``` age address 0 34 106 DOYERS ST. 8 ARLINGTON DR. 599 NW BAY BLVD 1 34 694 Short Street,…",{"value":146,"source":85,"evidence":147},"Name clashes with Sketch design software",[148,152,156],{"id":149,"by":150,"text":151},"34404421","gcatalfamo","Cool project, although the name kinda clashes with the well-known https:\u002F\u002Fwww.sketch.com\u002F in the UI\u002FUX design space",{"id":153,"by":154,"text":155},"34402708","jonwinstanley","Very cool demo! Regarding the choice of name, presumably you already know about Sketch, the popular image editing software. I wonder if the image editing guys will in the future…",{"id":157,"by":158,"text":159},"34407562","Arelius","That seems to be a presumption... I just googled \"sketch application\" or \"sketch image editing software\" I found sketchpad... alternatively, I found sketch.com, which seems to be…",[161,167,175],{"value":162,"source":85,"evidence":163},"Chaining queries so prior results give context",[164],{"id":165,"by":129,"text":166},"34406998","Just played around with this and I think I'll be using it on some research projects! One cool feature would be some sort of chaining, where you could anchor a new query to a…",{"value":168,"source":85,"evidence":169},"Support for R or other ecosystems beyond pandas",[170,174],{"id":171,"by":172,"text":173},"34402672","sean_the_geek","Really cool and helpful. Is there anything similar for R?",{"id":105,"by":106,"text":107},{"value":176,"source":85,"evidence":177},"Database connection support",[178],{"id":179,"by":180,"text":181},"34401771","allisdust","I don't have any experience with pandas. Can this directly connect to a db and run queries there (video seems to load a csv file).",[183,191],{"value":184,"source":85,"evidence":185},"Does it run locally or send data to a cloud service?",[186,187],{"id":120,"by":121,"text":122},{"id":188,"by":189,"text":190},"34403388","harvey9","Related question: is this done on my machine or do I end up sending possible pii to a cloud service for evaluation?",{"value":192,"source":85,"evidence":193},"Which LLM is used?",[194],{"id":195,"by":196,"text":197},"34401439","pfd1986","Hi, cool stuff! Which LLM is being used in the background? I may have missed that info in the readme. Thanks!",[199,204,211],{"value":200,"source":85,"evidence":201},"Copilot",[202,203],{"id":102,"by":89,"text":103},{"id":67,"by":11,"text":68},{"value":205,"source":85,"evidence":206},"TabNine",[207],{"id":208,"by":209,"text":210},"34405310","drcongo","I use TabNine [0] for local context aware AI suggestions, and I find it spookily good at guessing what I'm half way through typing. Sadly they've left the Sublime plugin to rot…",{"value":212,"source":85,"evidence":213},"AirOps Sidekick",[214],{"id":215,"by":216,"text":217},"34402233","mmaia","Very promising. I believe the uses of OpenAI that will stick in the long term are like this, and other tools should be experimenting with this kind of integration. Otherwise,…",{"comments":48,"answered":45,"key":219},[220,221,224],{"id":67,"text":68},{"id":222,"text":223},"34403728","to get the strings of the results back out, add the kwarg `call_display=False` to the functions. so: ``` print(data_pd.sketch.ask(\"Is there any PII in this dataset ?\",…",{"id":56,"text":57},{"commenters":226,"max_depth":48,"maker_replies":48,"first_comment_mins":38,"lifespan_hours":227},38,162,[229,231,235,236,240,242,246,250,253,256,257,260,262,266,268,271,272,273,275,277,278,280,282,283,286,291,294,297,300,302,305,307,309,312,314,317,319,322,323,325,326,329,330,332,335,336,339,342,343,344,348],[153,39,39,230,154,39],"commenter\u002Fneutral\u002Fdesign",[232,39,39,233,234,39],"34405853","other\u002Fneutral\u002Fnone","Jugglerofworlds",[157,39,39,230,158,39],[237,39,39,238,239,39],"34408353","commenter\u002Fneutral\u002Fnone","ipaddr",[98,33,48,241,99,39],"project\u002Fpositive\u002Fidea",[243,33,42,244,245,39],"34402166","project\u002Fneutral\u002Fpricing","jadbox",[247,33,33,248,249,39],"34405117","project\u002Fcritical\u002Fprivacy","vorpalhex",[251,33,39,233,252,39],"34405142","rafaelmelhem",[102,254,42,255,89,39],2,"project\u002Fneutral\u002Fidea",[67,254,39,241,11,33],[258,254,39,238,259,39],"34486336","SomewhatLikely",[112,42,48,261,113,39],"maker\u002Fpositive\u002Fidea",[263,45,33,264,265,39],"34406314","project\u002Fcritical\u002Fexecution","ethanwillis",[120,48,42,267,121,39],"project\u002Fneutral\u002Fprivacy",[269,48,33,248,270,39],"34405687","teaearlgraycold",[124,48,33,248,125,39],[128,48,42,267,129,39],[139,38,33,274,140,39],"project\u002Fcritical\u002Fperformance",[222,38,39,276,11,33],"maker\u002Fneutral\u002Fdocs",[143,38,33,274,140,39],[165,18,42,279,129,39],"project\u002Fmixed\u002Fidea",[215,281,48,241,216,39],8,[208,34,39,233,209,39],[149,284,33,285,150,39],10,"project\u002Fcritical\u002Fdesign",[287,288,39,289,290,39],"34403018",11,"other\u002Fpositive\u002Fidea","ldh0011",[292,288,33,274,293,39],"34403404","bufferoverflow",[295,288,33,274,296,39],"34412442","epistemer",[298,288,39,233,299,39],"34404285","localhost",[301,288,39,289,216,39],"34404317",[303,288,39,233,304,39],"34405582","davidbressler",[171,32,42,306,172,39],"project\u002Fneutral\u002Fnone",[308,32,39,233,133,39],"34403136",[310,32,39,311,252,39],"34405162","other\u002Fcritical\u002Fperformance",[313,32,39,233,133,39],"34406962",[315,32,39,316,252,39],"34407153","commenter\u002Fpositive\u002Fnone",[56,318,39,241,11,33],13,[320,318,48,241,321,39],"34401213","hgarg",[195,318,42,306,196,39],[81,318,39,324,11,33],"maker\u002Fneutral\u002Fperformance",[88,318,42,306,89,39],[327,318,48,241,328,39],"34401470","javierluraschi",[179,318,42,306,180,39],[331,318,39,233,189,39],"34403317",[333,318,42,267,334,39],"34402392","daveguy",[188,318,42,267,189,39],[337,318,39,338,11,33],"34403787","maker\u002Fneutral\u002Fprivacy",[340,318,42,338,341,39],"34406245","adabyron",[132,318,42,267,133,39],[105,318,48,241,106,39],[345,318,48,346,347,39],"34403430","project\u002Fpositive\u002Fdesign","irthomasthomas",[349,350,39,233,351,39],"34406948",14,"Melting_Harps",[],[354,359,363,368,373,378],{"id":355,"name":356,"points":357,"category":358},"34416386","Plus",307,"web_saas",{"id":360,"name":361,"points":362,"category":20},"34389041","neuralframes.com",247,{"id":364,"name":365,"points":366,"category":367},"34434249","Unblob",240,"dev_tools",{"id":369,"name":370,"points":371,"category":372},"34396026","Terra Firma",229,"games",{"id":374,"name":375,"points":376,"category":377},"34406340","Vento",224,"productivity",{"id":379,"name":380,"points":381,"category":382},"34407924","Otterkit",192,"languages",false,"v2",{"id":386,"name":5,"line":6,"ai":383,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":387,"top":18,"kw":388,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":389,"url":9,"mix":390,"praise":95,"objection":117,"sub":21},34400443,-0.02,[24,25,26,27,28],"0005310305111311351011003000050350333355",[18,32,33,34],1793991058777]