Home Technische gadgets voor thuis Kan de nieuwe AI van Google uw datasheets voor u lezen?

Kan de nieuwe AI van Google uw datasheets voor u lezen?

0
Kan de nieuwe AI van Google uw datasheets voor u lezen?


We hebben de laatste tijd veel AI-tools gezien en we weten natuurlijk dat ze niet echt slim zijn, maar ze houden mensen zeker voor de gek door te denken dat ze eigenlijk clever zijn. Natuurlijk kunnen deze programma’s alleen maar hun opleiding volgen, en veel hangt af van waar ze op zijn getraind. Als je bijvoorbeeld iets als ChatGPT gebruikt, ga je ervan uit dat ze het op redelijke gegevens hebben getraind. Zeker, het kan hoe dan ook fout gaan, maar er bestaat ook het gevaar dat het gewoon niet weet waar je het over hebt. Het zou hetzelfde zijn als de helpdesk van uw bedrijf bellen en vragen waar u uw sokken hebt gelaten; ze weten het gewoon niet.

We hebben pogingen gezien om AI webpagina’s of documenten van uw keuze te laten ‘lezen’ en vervolgens vragen daarover te kunnen beantwoorden. De nieuwste is van Google met NotebookLM. Het integreert een werkruimte waar u aantekeningen kunt maken, vragen kunt stellen en bronnen kunt verstrekken. De bronnen kunnen tekstfragmenten, documenten uit Google Drive of pdf-bestanden zijn die u uploadt.

Je kunt geen vragen stellen totdat je iets hebt geüpload, en we gaan ervan uit dat de AI zijn antwoorden beperkt tot wat er in de documenten staat die je verstrekt. Het zal nog steeds niet excellent zijn, maar het zal je in ieder geval niet alleen maar slechte informatie uit een onbekende bron opleveren.

De Hackaday-badge

Om het uit te proberen, hebben we besloten om te zien hoe goed het zou werken als je te lui was om het te lezen programmeerhandleiding voor de Hackaday-badge van 2023. Zodra u bent aangemeld bij NotebookLM, maakt u notitieboekjes. Elk notitieboekje heeft zijn eigen set referenties en aantekeningen. In dit geval hebben we slechts één bron: de pdf-handleiding.

We hebben AI gebeld “de slechtste zomerstagiaire ooit”, en dit is hier ook niet ver weg. Mijn eerste vraag was hoe ik elke twee seconden code kon laten uitvoeren. De eerste twee antwoorden adviseerden mij om te gebruiken asyncio.sleep(2) , wat technisch gezien niet verkeerd is, maar het veronderstelt dat ik om te beginnen controle heb over de CPU. Natuurlijk weet ik het antwoord waarnaar ik op zoek ben, dus het is gemakkelijk om het terzijde te schuiven, maar als dit iets was waar ik echt hulp bij nodig had, zou het enige tijd kunnen duren voordat ik besefte dat dit een doodlopende weg is.

Een meer specifieke vraag hielp:

Hoe kan ik VectorOS mijn code periodiek laten uitvoeren?

U kunt gebruik maken van de Timer class om te plannen dat een functie periodiek wordt uitgevoerd. Het basisbedrag van de timer is ingesteld vos_launch (timer_base_rate in milliseconden). Alle time-outs worden berekend op foundation van dat basistarief. De basissnelheid magazine niet te snel zijn (bijvoorbeeld 10 milliseconden is waarschijnlijk te snel en u krijgt recursiefouten als de lus van de timer zichzelf overschrijdt). De standaardwaarde is 100 milliseconden.

Hier is een voorbeeld van hoe u de klasse Timer kunt gebruiken om elke seconde een functie uit te voeren:

import timer

def my_function():
  # Do one thing

timer.add_timer(1000, my_function)
Het volledige transcript van mijn badgevragen.

Interessant genoeg stelde ik in essentie twee keer dezelfde vraag en kreeg beide keren de juiste, maar subtiel verschillende antwoorden. De eerste keer gebruikte ik “Hoe kan ik…” in plaats van “Hoe kan ik…” en het programma gaf meer particulars. Het suggereerde ook tien verwijzingen in het doc voor de eerste vraag, maar slechts één voor de tweede vraag, wat vreemd lijkt gezien het enige verschil in de zoekopdracht het gebruik van do was in plaats van can.

Aan de andere kant: het is er wel gekomen. Toen vroeg ik wat een slot was. Ik denk dat dit een goed voorbeeld was, omdat een slot in de echte wereld van alles kan betekenen, maar voor VectorOS heeft het een heel specifieke betekenis. Dit is wat de AI daarover te zeggen had:

Een slot is een functie waaraan één enkel argument moet doorgegeven worden: een Vectorscope-object. Het Vectorscope-object wordt gebruikt om analoge spanningen te produceren voor weergave op het oscilloscoopscherm. Wanneer u een slot aanmaakt, registreert u deze bij VectorOS door het bestand vos_launch.py ​​te bewerken. De vermelding moet in het vectorscope_slots-woordenboek voorkomen. Slots met de naam slotA, slotB, slotC en slotD worden uitgevoerd wanneer u op de knop A, B, C of D drukt in het menuscherm.

Slots kunnen ook vanuit andere programma’s worden gestart. Roep hiervoor vectoros.launch_vecslot aan met de naam van het slot.

Uiteraard staat dit allemaal in de handleiding. Maar het is fijn om het gewoon te kunnen vragen en het doc van bijna 50 pagina’s te laten doornemen. In dit geval hebben we maar één bron, maar het programma geeft je wel een korte samenvatting van de bron en laat je bepaalde bronnen in- of uitschakelen wanneer je maar wilt.

Printers upgraden

Afgelopen zomer heb ik een cursus 3D-printen gegeven voor groep 8. Om dat te ondersteunen kocht ik een “geretourneerde” Ender 3 V2 Neo-printer en verfraaide deze zodat ik een additional goedkope printer voor de kinderen had om te gebruiken. Maar nu denk ik aan upgrades ervoor. Het zou cool zijn als de pocket book op web zou kunnen zoeken; hij is tenslotte van Google. Maar dat kan niet.

Ik heb een paar verschillende benaderingen gevolgd bij het laden van bronnen. Eerst vond ik de Ender 3-handleiding en uploadde deze als pdf. Ik heb ook een paar web sites gepakt en er tekst in geplakt of ze afgedrukt als pdf’s om te laden. In de meeste gevallen gebruikte ik de leesweergave om alle additional dingen weg te halen voordat ik de pdf’s afdrukte, in de veronderstelling dat dat zou helpen.

Uiteindelijk had ik zeven verschillende bronnen. Een daarvan was een Reddit-thread die niet erg mooi werd afgedrukt, maar wel goede informatie bevatte.

Ik vroeg de pocket book om mij te vertellen over enkele eenvoudige upgrades die ik aan de printer kon uitvoeren. Het kwam met een redelijke lijst, inclusief het gebruik van betere slangen, een stillere ventilator en enkele andere. Het bevatte ook drie hyperlinks die related waren. Maak echter niet de fout door te denken dat hij echt begreep wat er aan de hand was. Als suggestie werd bijvoorbeeld automatische bednivellering aangeboden. De V2 Neo beschikt echter al over bednivellering. Er werd ook voorgesteld om de Bowden-buizen te vervangen en een extruder met directe aandrijving te gebruiken. Er is niets mis met deze suggesties, maar je zou ze niet samen doen. Het suggereerde ook verschillende modificaties voor een hot-end die niet op de printer aanwezig is, zonder te verduidelijken dat deze alleen van toepassing zouden zijn als je de hot-end al had geüpgraded.

Om eerlijk te zijn, dit is het ‘slechte zomerstagiair’-effect. De AI weet niets over dit onderwerp, behalve wat we hem by way of de bronnen vertellen. Ik weet zeker dat de bronnen over al deze dingen spraken. Dus als je tegen een nieuweling zegt al die documenten te lezen en vervolgens vragen stelt, krijg je misschien hetzelfde soort antwoorden.

De Pi Pico

Er zijn veel PDF-bestanden gerelateerd aan de Raspberry Pi Pico, dus dat leek me een goed notitieboekje om te maken. Ik probeer echter de belangrijkste toe te voegen RP2040-gegevensblad sterft zonder foutmelding. Ik vermoed dat het te lang is, zo’n 700 pagina’s. Ik kon echter verschillende andere documenten toevoegen, waaronder de PDF-versie van de Arduino-pakketdocumentatie. Ten slotte heb ik de datasheet in vier delen opgesplitst en dat leek te volstaan. Helaas kun je niet meerdere bestanden uploaden, dus er waren vier afzonderlijke uploads nodig om het op gang te krijgen.

Uiteindelijk moest ik tien verschillende documenten doorzoeken (hoewel vier daarvan de grote datasheet waren). De pocket book kon basisvragen beantwoorden, zoals hoeveel DMA-kanalen beschikbaar waren, wat de kleinst mogelijke DMA-overdracht was en of de pinnen TTL-compatibel waren.

Het kon ook een aantal moeilijkere vragen beantwoorden, zoals welke Arduino-functies het PIO-systeem gebruiken. Voordat je echter erg onder de indruk raakte, liet het me later weten dat de RP2040 geen I2C-slavemodus heeft, alleen een mastermodus. Vervolgens vertelde het me in het volgende antwoord dat de I2C-slavemodus op 100 kHz werkt en dat de chip geen I2C-mastermodus heeft. Die antwoorden waren een reactie op het feit dat ik vertelde over de beperkingen van de SPI-klok toen ik vroeg naar de hoofdklok. Niet het mooiste uur.

Toegegeven, je kunt in ieder geval op de verwijzingen klikken om te zien welk deel van het doc verkeerd wordt geïnterpreteerd. Maar als je zoveel werk moet doen en – nog belangrijker – er in het start zoveel van moet weten, heeft de device misschien wat werk nodig. Toegegeven, dit is een vroege launch, dus het zal waarschijnlijk beter worden.

Afval erin, afval eruit

Het lijdt geen twijfel dat een device als deze slechts zo succesvol kan zijn als de gegevens die u erin stopt. De fouten die we hier zagen, waren echter meer verkeerde interpretaties van de verstrekte gegevens dan een mens waarschijnlijker zou hebben gemaakt.

Indrukwekkend? Zeker. Maar denk eens na over de use case. Als je bijvoorbeeld al veel weet over de RP2040, heb je misschien web op web naar die vragen gezocht. Of zelfs gezocht naar trefwoorden in de PDF. Het zou waarschijnlijk web zo snel zijn gegaan als je de tijd had afgetrokken om te beslissen of het antwoord legitiem lijkt of niet. De echte kracht van dit soort instruments zou liggen bij mensen die het onderwerp niet kennen en niet de achtergrond hebben om na te denken over hoe ze dit soort dingen kunnen vinden. Stel je een schip op zee voor zonder dokter, een AI-versie van de Merck-handleiding. Je hoopt dat het beter zou zijn dan dit.

LEAVE A REPLY

Please enter your comment!
Please enter your name here