Kennisbank De code
Code draaien op een server
Wanneer code meer nodig heeft dan uw apparaat kan geven - een andere taal, pakketten van het internet, meer tijd - kan Nymbot het uitvoeren op een eigen server, in een container gemaakt voor die ene run.
Deze pagina is voor het gemak automatisch vertaald. Het Engelse origineel is de versie die van toepassing is.
Wat is een server run
Een server run start een nieuwe container, plaatst uw code erin, voert het uit, stuurt terug wat het heeft afgedrukt en vernietigt de container. Voor de balans Voor de tijd dat het eigenlijk liep.
Er zijn twee manieren in: Run op de server op een codeblok, en de server loopt dat Nymbot vraagt terwijl het werkt in een opslagplaats.
Voor snelle Python of JavaScript die niets van het internet nodig heeft, de gratis Sandbox op uw apparaat Meestal is dat genoeg.
Het uitvoeren van een code block
Python, JavaScript, TypeScript, shell, Go, Rust, Java en Dart codeblokken in een reactie hebben een Run op de server de knop, wanneer serverlopen beschikbaar zijn. Het opent een blad met:
- De afbeelding De code loopt op,
- een tijdslimiet om uit te kiezen: 1, 5 of 15 minuten,
- de meeste run kan kosten, in Pro-credits, voor die tijdslimiet,
- en, als de chat heeft bestanden bijgevoegd, een vak om ze op te nemen. ze gaan alleen als je het controleert.
De pers Rennen en de output stroomt in onder het codeblok als het arriveert: wat het afgedrukt, de exitcode, hoe lang het duurde, welke bestanden het schreef (elk met een redden knop), en wat er werd opgelegd.
stoppen De server wordt onmiddellijk afgesloten en u betaalt alleen voor de tijd dat het is uitgevoerd.
In een Anonieme mode Chat de run wordt betaald uit de Pro-credits van de gowaway-sleutel en bijgevoegde bestanden worden nooit opgenomen.
Taal en beelden
Elke taal draait op een afbeelding, een klaar systeem met de tools die de taal nodig heeft.
| afbeelding | Gebruikt voor | Wat het bevat | De server |
|---|---|---|---|
| Python | Python | Python 3.12 met pip, venv, build tools en git; numpy, pandas en pytest al geïnstalleerd | 0,5 CPU, 4 GB geheugen |
| Node.js | JavaScript en TypeScript | Node.js 22 met npm, pnpm en yarn, plus Python 3, make en een C++ compiler | 0,5 CPU, 4 GB geheugen |
| Polyglot | Shell, Go, Rust en Java | bash, C en C++ build tools, Python 3, Node.js, Go, Rust with cargo en Java 17 | 1 CPU, 6 GB geheugen |
| Vliegen | Dart | Flutter 3.32 en Dart | 2 CPU's en 8 GB geheugen |
Wat kost het
De servertijd wordt in stappen van 10 seconden in rekening gebracht, van het vragen om de server om het te sluiten, met 10 seconden als de minste een run kan kosten.
- De prijs wordt aan de voorkant weergegeven, maximaal. Je wordt nooit meer in rekening gebracht, en een run die vroeg eindigt kost minder.
- Het maximum wordt vastgehouden terwijl de race aan de gang is. Wanneer het eindigt, wordt de werkelijke lading genomen en wordt de rest vrijgegeven.
- Een run die niet begint is gratis.
- Uitgaven caps zijn van toepassing. Een run die een chat zou kunnen overtreffen Uitgaven Cap Vraag eerst, net zoals een antwoord doet.
Omdat de prijs de Bitcoin-prijs volgt, kan deze verschillen tussen het moment dat je het ziet en het moment dat je op Run drukt.
Server draait in een repository
In een chat met een opslagplaats verbonden zijn, de De server loopt De chip stelt Nymbot in staat om opdrachten tegen uw code uit te voeren, zoals het installeren van de afhankelijkheden en het uitvoeren van de tests na een verandering.
Elke keer dat het model iets wil uitvoeren, stopt het antwoord en toont een kaart met het beeld, de volledige opdracht, de tijdslimiet en het maximum dat het kan kosten, plus welk repository wanneer de chat meerdere heeft.
- Eenmaal toestaan Het draait tegen het repository met de bewerkingen die het antwoord tot nu toe heeft gemaakt, en het model krijgt de exitcode, het einde van de output en de lijst met bestanden die het commando heeft gewijzigd terug.
- afname Het kost niets en het antwoord loopt zonder.
Elke run vraagt. elk wordt afzonderlijk in rekening gebracht van het antwoord, en het antwoord vermeldt de runs die het heeft gemaakt en wat elk kost. Uitgaven CapHet wordt geweigerd voordat je gevraagd wordt.
Bestanden met een commando wijzigingen op de server blijven daar en worden weggegooid met de container. Ze worden niet geschreven in uw repository. wijzigingen in het repository komen alleen uit de eigen bewerkingen van het antwoord.
Wat is geïsoleerd
- Een frisse container voor elke run. Niets wordt gedeeld met een andere run of een andere persoon, en de container wordt vernietigd wanneer de run eindigt, of het nu geslaagd of mislukt is.
- Geen internet behalve pakketregisters. De container kan worden gedownload van de plaatsen waar de pakketten komen van: PyPI, npm en yarn, pub.dev en Google's opslag voor Flutter en Dart, de Go-module proxy, crates.io, Maven Central en GitHub voor git-afhankelijkheden en release downloads.
- Alleen wat je kiest komt binnen. De code, de bestanden die je hebt opgenomen, of de bestanden van het repository.Je sleutels, je git token en je chats komen nooit in de container.
- De output wordt behandeld als onbetrouwbaar. In een repository, wat een run afdrukken wordt getoond aan het model gemarkeerd als externe gegevens, en het wordt verteld om nooit instructies in het model te volgen.
Limieten
- Eén server loopt tegelijk voor elke sleutel. Het starten van een tweede terwijl de eerste nog loopt wordt geweigerd.
- Tijdslimieten van 1, 5 of 15 minuten voor een codeblok.Een repository run kan tot 15 minuten vragen, of 20 op de Flutter-afbeelding.
- Tot 1 MB code en tot 200 bijgevoegde bestanden met een totaal van 20 MB.
- Een repository van maximaal 60 MB, verpakt.
- Tot 256 KB van de output. alles voorbij dat wordt weggelopen, en de run zegt dat.
- Tot 200 bestanden, in totaal 8 MB, worden teruggegeven om op te slaan.
Servers kunnen worden uitgeschakeld voor onderhoud, als een geheel of één afbeelding tegelijk. Run op de server De knop en de chip worden niet weergegeven.
De taak pane
In een repository-chat opent de checklistknop bovenaan de chat de taak pane. Het geeft een lijst van wat elke draai deed, de nieuwste eerst: de bestanden die het leest en bewerkt, commits, wijzigingen geplaatst voor uw beoordeling, en elke server draait met zijn opdracht, afbeelding, tijd, kosten en exit status. Een server draait wachtend op uw goedkeuring kan worden toegestaan of geweigerd van het pane, hetzelfde als van zijn kaart, en een lopende reactie kan daar worden gestopt.