data-cleaning-env / transcript_utf8.txt
Sumanth2377's picture
fix: resolve openenv validation errors (app.py, project.scripts, openenv-core)
7d59636
Raw
History Blame Contribute Delete
20.5 kB
[[{'duration': 5.679,
'start': 4.0,
'text': 'Or moving on, we can run the Docker'},
{'duration': 5.92,
'start': 7.04,
'text': 'container and use the same example.'},
{'duration': 5.441,
'start': 9.679,
'text': 'We can um pull the container and then or'},
{'duration': 4.159,
'start': 12.96,
'text': 'sorry, we can clone the repo and then'},
{'duration': 4.56,
'start': 15.12,
'text': 'make changes to it and then build the'},
{'duration': 4.641,
'start': 17.119,
'text': 'Docker container as well. And inside the'},
{'duration': 4.64,
'start': 19.68,
'text': "OpenM CLI, we've got like a convenience"},
{'duration': 5.92,
'start': 21.76,
'text': 'tool OpenM build that that does that for'},
{'duration': 5.359,
'start': 24.32,
'text': "us. But it's essentially just wrapping"},
{'duration': 3.679,
'start': 27.68,
'text': 'Docker build. So, so we can also do the'},
{'duration': 4.4, 'start': 29.679, 'text': 'same there'},
{'duration': 5.921,
'start': 31.359,
'text': 'and then we can run these containers and'},
{'duration': 7.441,
'start': 34.079,
'text': 'as I said before connect with them uh'},
{'duration': 7.68,
'start': 37.28,
'text': 'from Python in the same kind of way.'},
{'duration': 5.84,
'start': 41.52,
'text': 'So what does it look like from the CLI?'},
{'duration': 4.16,
'start': 44.96,
'text': 'So as we showed before, you can do this'},
{'duration': 3.519,
'start': 47.36,
'text': 'open end in it and you can create the'},
{'duration': 3.52,
'start': 49.12,
'text': 'skeleton and then you can push that'},
{'duration': 5.761,
'start': 50.879,
'text': "straight to the hub which I'll come back"},
{'duration': 5.655,
'start': 52.64,
'text': 'to in a second uh as a little demo.'},
{'duration': 3.12, 'start': 56.64, 'text': 'And then you can configure'},
{'duration': 3.385,
'start': 58.295,
'text': '[clears throat] that environment um'},
{'duration': 4.56,
'start': 59.76,
'text': 'mainly with environment variables to say'},
{'duration': 5.36,
'start': 61.68,
'text': 'like how many workers do you want to use'},
{'duration': 4.479,
'start': 64.32,
'text': 'uh and um whether you want to use'},
{'duration': 5.119,
'start': 67.04,
'text': "concurrent environments which I'll come"},
{'duration': 6.401, 'start': 68.799, 'text': 'to in the next section.'},
{'duration': 5.761,
'start': 72.159,
'text': 'So feel free to kind of drop in any uh'},
{'duration': 3.919,
'start': 75.2,
'text': "interruptions if you like. Uh I'm just"},
{'duration': 3.839,
'start': 77.92,
'text': "going to set this up so it's a little"},
{'duration': 5.121,
'start': 79.119,
'text': 'bit easier to see. Yes. I I had a couple'},
{'duration': 3.921,
'start': 81.759,
'text': 'of questions like like basically um so I'},
{'duration': 2.8,
'start': 84.24,
'text': 'know you mentioned at some point like oh'},
{'duration': 3.439,
'start': 85.68,
'text': "if you don't have like Docker you can"},
{'duration': 3.6,
'start': 87.04,
'text': 'use UV but like how does this work? Like'},
{'duration': 3.201,
'start': 89.119,
'text': 'I mean presumably most environments'},
{'duration': 3.04,
'start': 90.64,
'text': "aren't written in Python like if you're"},
{'duration': 3.28,
'start': 92.32,
'text': "a Pokemon you're written in like"},
{'duration': 4.56,
'start': 93.68,
'text': 'whatever that was written in. Then you'},
{'duration': 5.04,
'start': 95.6,
'text': 'have like some shim in Python. So could'},
{'duration': 4.4,
'start': 98.24,
'text': 'you speak to how like basically native'},
{'duration': 3.76,
'start': 100.64,
'text': 'code gets deployed in environments on'},
{'duration': 4.799, 'start': 102.64, 'text': 'the hub?'},
{'duration': 5.759,
'start': 104.4,
'text': '>> Yeah. So when when the environment is'},
{'duration': 4.801,
'start': 107.439,
'text': 'outside of Python, you need to use a'},
{'duration': 4.081,
'start': 110.159,
'text': 'container to define the code outside of'},
{'duration': 4.32,
'start': 112.24,
'text': 'of Python and do dependency management'},
{'duration': 4.72,
'start': 114.24,
'text': 'basically. So if you say like if you'},
{'duration': 4.64,
'start': 116.56,
'text': 'want to run the Uicorn application,'},
{'duration': 4.08,
'start': 118.96,
'text': 'sorry, the Python application, uh yeah,'},
{'duration': 3.519,
'start': 121.2,
'text': "you can't you need to manage the"},
{'duration': 4.48,
'start': 123.04,
'text': "dependencies outside of Python and we'll"},
{'duration': 3.68,
'start': 124.719,
'text': "do that with Docker. That's basically"},
{'duration': 2.719, 'start': 127.52, 'text': 'Yeah.'},
{'duration': 3.2,
'start': 128.399,
'text': '>> I see just and I know this is maybe a'},
{'duration': 3.36,
'start': 130.239,
'text': 'pedantic question but just because you'},
{'duration': 3.28,
'start': 131.599,
'text': 'have cost there. So the cost basically'},
{'duration': 3.041, 'start': 133.599, 'text': "it's like"},
{'duration': 3.36,
'start': 134.879,
'text': '>> is it like paid for by the people'},
{'duration': 3.28,
'start': 136.64,
'text': 'hosting the environment or is it paid'},
{'duration': 3.841,
'start': 138.239,
'text': 'for by the people that are pulling the'},
{'duration': 3.84,
'start': 139.92,
'text': 'environment? Uh how does this work if'},
{'duration': 2.96,
'start': 142.08,
'text': 'people are having like multiple rollouts'},
{'duration': 2.559,
'start': 143.76,
'text': "where they're doing multiple parallel"},
{'duration': 4.16, 'start': 145.04, 'text': 'evals?'},
{'duration': 6.64,
'start': 146.319,
'text': '>> Yeah. So in the example I showed you'},
{'duration': 5.52,
'start': 149.2,
'text': 'where like this kind of example where'},
{'duration': 5.28,
'start': 152.959,
'text': 'you interact with the like the space'},
{'duration': 5.44,
'start': 154.72,
'text': 'itself, right? Like the spa the'},
{'duration': 5.761,
'start': 158.239,
'text': 'environment host would would pay for'},
{'duration': 5.12,
'start': 160.16,
'text': 'that compute. Um, and so in most cases,'},
{'duration': 2.879, 'start': 164.0, 'text': "like if you're publishing an"},
{'duration': 3.2,
'start': 165.28,
'text': 'environment, you would probably want to'},
{'duration': 2.881,
'start': 166.879,
'text': 'do that for free and just let people try'},
{'duration': 2.88,
'start': 168.48,
'text': 'it out and kind of understand the'},
{'duration': 4.559,
'start': 169.76,
'text': 'environment that you use to maybe learn'},
{'duration': 6.08,
'start': 171.36,
'text': 'from it and then they could pull that'},
{'duration': 6.961,
'start': 174.319,
'text': 'environment and and run it for free. Um,'},
{'duration': 6.32,
'start': 177.44,
'text': 'because of how spaces works like uh let'},
{'duration': 4.319,
'start': 181.28,
'text': 'me just maybe show you like you you can'},
{'duration': 3.92,
'start': 183.76,
'text': "just duplicate spaces so they're kind of"},
{'duration': 4.72,
'start': 185.599,
'text': 'like super easy to just pull over to'},
{'duration': 4.72,
'start': 187.68,
'text': '>> Oh, I see. like like running locally is'},
{'duration': 5.121,
'start': 190.319,
'text': 'something you want people to do like you'},
{'duration': 5.6,
'start': 192.4,
'text': 'want discover things and then like I see'},
{'duration': 4.32,
'start': 195.44,
'text': '>> totally so yeah I expect most people'},
{'duration': 3.92,
'start': 198.0,
'text': 'will like come here and like try it out'},
{'duration': 3.92,
'start': 199.76,
'text': 'and learn from it maybe duplicate it if'},
{'duration': 3.92,
'start': 201.92,
'text': 'they want to make changes and share it'},
{'duration': 6.577,
'start': 203.68,
'text': 'but in most cases we expect people to'},
{'duration': 4.479,
'start': 205.84,
'text': 'kind of um to run this this locally.'},
{'duration': 2.143, 'start': 210.257, 'text': '[laughter]'},
{'duration': 5.361, 'start': 210.319, 'text': '>> Got it. Okay,'},
{'duration': 5.28,
'start': 212.4,
'text': '>> cool. Um so yeah. Okay. So I I shared'},
{'duration': 3.76,
'start': 215.68,
'text': "this little demo. Um, we we've kind of"},
{'duration': 3.6,
'start': 217.68,
'text': 'seen this a little bit already, but let'},
{'duration': 4.56,
'start': 219.44,
'text': 'me just work through it. So, you'},
{'duration': 6.239,
'start': 221.28,
'text': 'basically just do openm in it, which'},
{'duration': 5.84,
'start': 224.0,
'text': "looks like this. And it's um a simple"},
{'duration': 4.0,
'start': 227.519,
'text': 'command line. It just needs to know what'},
{'duration': 5.52,
'start': 229.84,
'text': 'the name of your environment is going to'},
{'duration': 7.8,
'start': 231.519,
'text': "be. So, let's call it GPU mode. Um, and"},
{'duration': 3.959, 'start': 235.36, 'text': 'so we basically'},
{'duration': 5.72,
'start': 240.799,
'text': "I'm in the right place. Okay. Sorry."},
{'duration': 4.961,
'start': 246.799,
'text': 'Sorry, I I just had a quick add to what'},
{'duration': 4.64,
'start': 249.2,
'text': "uh Ben answered about Mark's question."},
{'duration': 3.52, 'start': 251.76, 'text': 'Um for like most of these game'},
{'duration': 2.959,
'start': 253.84,
'text': 'environments and things like that, you'},
{'duration': 4.079,
'start': 255.28,
'text': 'can imagine you sort of building'},
{'duration': 5.28,
'start': 256.799,
'text': 'adapters or rappers just like add on to'},
{'duration': 4.721,
'start': 259.359,
'text': 'the spec. But our goal for like'},
{'duration': 3.761,
'start': 262.079,
'text': "hopefully this year is we'll bring like"},
{'duration': 4.48,
'start': 264.08,
'text': "environments on the ground up. So you'll"},
{'duration': 4.24,
'start': 265.84,
'text': 'see them like being less clunky. And the'},
{'duration': 3.199,
'start': 268.56,
'text': 'other thing I want to call out is like'},
{'duration': 4.24,
'start': 270.08,
'text': 'most of these are for reinforcement'},
{'duration': 5.041,
'start': 271.759,
'text': 'learning training. So that will go in a'},
{'duration': 4.319,
'start': 274.32,
'text': 'lot more depth, but the CPU cost of'},
{'duration': 3.76,
'start': 276.8,
'text': 'running an environment compared to like'},
{'duration': 4.081,
'start': 278.639,
'text': 'the GPU involved in training is like'},
{'duration': 4.32,
'start': 280.56,
'text': 'really fractional. So you can imagine'},
{'duration': 5.84,
'start': 282.72,
'text': 'like you probably would not mind hosting'},
{'duration': 5.599, 'start': 284.88, 'text': 'these on your server.'},
{'duration': 3.68,
'start': 288.56,
'text': '>> Sorry to interrupt your flow, Ben. No'},
{'duration': 3.681,
'start': 290.479,
'text': "worries. It's actually extremely"},
{'duration': 3.6, 'start': 292.24, 'text': 'helpful.'},
{'duration': 5.12,
'start': 294.16,
'text': 'Gave me a chance to get this back in'},
{'duration': 5.2,
'start': 295.84,
'text': 'line. So yeah. Okay. Um, as I was'},
{'duration': 4.0,
'start': 299.28,
'text': 'showing you, this is just how you'},
{'duration': 3.439,
'start': 301.04,
'text': 'initialize an environment. So, and I'},
{'duration': 2.96,
'start': 303.28,
'text': 'just want to kind of work through that.'},
{'duration': 3.761,
'start': 304.479,
'text': "So, let's say I'm going to create a new"},
{'duration': 5.36,
'start': 306.24,
'text': 'environment called GPU mode. So, I just'},
{'duration': 5.28,
'start': 308.24,
'text': 'say open in GPU mode, and it creates'},
{'duration': 3.52,
'start': 311.6,
'text': 'that for me. And it tells me that'},
{'duration': 4.16,
'start': 313.52,
'text': "there's this new file called openend"},
{'duration': 3.919,
'start': 315.12,
'text': "mode. Let's go and have a look at that."},
{'duration': 3.519,
'start': 317.68,
'text': 'And if you look over here in like the'},
{'duration': 4.561,
'start': 319.039,
'text': 'file explorer, this is what it looks'},
{'duration': 4.481,
'start': 321.199,
'text': 'like. And this is a skeleton. So, it'},
{'duration': 4.319,
'start': 323.6,
'text': "comes out the box. So if you're look"},
{'duration': 3.92,
'start': 325.68,
'text': "you're looking on the right pane here uh"},
{'duration': 4.161,
'start': 327.919,
'text': 'and it comes out the box with this read'},
{'duration': 5.28,
'start': 329.6,
'text': 'me that has some metadata which makes it'},
{'duration': 4.559,
'start': 332.08,
'text': 'discoverable on the hub basically uh but'},
{'duration': 4.319,
'start': 334.88,
'text': 'also gives you like the templates and'},
{'duration': 5.12,
'start': 336.639,
'text': "you'll notice that we've like said uh"},
{'duration': 4.321,
'start': 339.199,
'text': "the entire skeleton so that it's already"},
{'duration': 3.761,
'start': 341.759,
'text': 'preconstructed for you with the name'},
{'duration': 4.239,
'start': 343.52,
'text': 'that you chose which in my case was GP'},
{'duration': 4.72,
'start': 345.52,
'text': 'mode and it gives you all of these'},
{'duration': 5.521,
'start': 347.759,
'text': 'examples of how you do it. So out of the'},
{'duration': 5.519,
'start': 350.24,
'text': 'box you have like a self-contained fully'},
{'duration': 5.52, 'start': 353.28, 'text': 'documented end that is also'},
{'duration': 5.361,
'start': 355.759,
'text': 'interoperable and and standardized and'},
{'duration': 5.839,
'start': 358.8,
'text': 'uses open m. It comes with this pi'},
{'duration': 5.44,
'start': 361.12,
'text': 'project toml which installs um all the'},
{'duration': 4.0,
'start': 364.639,
'text': 'like the base dependencies that you need'},
{'duration': 4.72,
'start': 366.56,
'text': 'and then gives some like recommendations'},
{'duration': 4.801, 'start': 368.639, 'text': 'and gets that running.'},
{'duration': 4.96,
'start': 371.28,
'text': 'Uh and then it has the the client code'},
{'duration': 7.0,
'start': 373.44,
'text': 'itself which Sanam already kind of'},
{'duration': 4.2,
'start': 376.24,
'text': 'unpacked and went into detail on.'},
{'duration': 6.479,
'start': 381.44,
'text': "And that's uh that's all there. Right."},
{'duration': 6.72,
'start': 383.759,
'text': "So then um let's just uh change into"},
{'duration': 4.241,
'start': 387.919,
'text': "that. Probably don't want to go too far"},
{'duration': 5.44,
'start': 390.479,
'text': 'into this because we want to go into the'},
{'duration': 5.52,
'start': 392.16,
'text': 'um some other things after that. But we'},
{'duration': 5.521,
'start': 395.919,
'text': 'can then basically just like run this'},
{'duration': 6.959,
'start': 397.68,
'text': 'end like this locally. Uhhuh. H sorry'},
{'duration': 5.52, 'start': 401.44, 'text': "that port's ready in use."},
{'duration': 5.361,
'start': 404.639,
'text': "So yeah, okay, that's it running locally"},
{'duration': 5.519,
'start': 406.96,
'text': 'now. And then if we go to our like'},
{'duration': 7.36,
'start': 410.0,
'text': 'Python interpreter, I think I have that'},
{'duration': 8.081,
'start': 412.479,
'text': 'here. So okay, if I did that, I think it'},
{'duration': 7.119,
'start': 417.36,
'text': "wouldn't work. That's not deployed. But"},
{'duration': 8.8, 'start': 420.56, 'text': 'if I copy the URL out of here,'},
{'duration': 6.641,
'start': 424.479,
'text': 'then I can just say, okay, run on here.'},
{'duration': 3.2,
'start': 429.36,
'text': "Uh yeah. Okay. And then it's like step"},
{'duration': 4.56,
'start': 431.12,
'text': "through and that's the reward and then"},
{'duration': 6.4,
'start': 432.56,
'text': "another reward. Uh and that's this um"},
{'duration': 7.28,
'start': 435.68,
'text': 'openend environment running here. Uh and'},
{'duration': 7.44,
'start': 438.96,
'text': 'then let me um just now go back to my'},
{'duration': 5.519,
'start': 442.96,
'text': 'terminal. Close that down. Uh and do'},
{'duration': 4.239, 'start': 446.4, 'text': 'open m'},
{'duration': 3.761, 'start': 448.479, 'text': 'push'},
{'duration': 4.881,
'start': 450.639,
'text': 'open in the right directory. I was.'},
{'duration': 6.0,
'start': 452.24,
'text': "Yeah. Cool. So then that's now pushed it"},
{'duration': 5.44,
'start': 455.52,
'text': 'to the hub. And if I go over here, I'},
{'duration': 6.48,
'start': 458.24,
'text': "open a browser, you see that I've got"},
{'duration': 8.72,
'start': 460.96,
'text': 'this uh space running here, open m. And'},
{'duration': 7.599,
'start': 464.72,
'text': 'then I can uh just like test out the end'},
{'duration': 4.56,
'start': 469.68,
'text': 'here. And this is just a skeleton. It'},
{'duration': 4.32,
'start': 472.319,
'text': 'just like echoes back whatever you you'},
{'duration': 4.16,
'start': 474.24,
'text': "ask it. So it's just echoed back hello."},
{'duration': 3.761,
'start': 476.639,
'text': 'Um, but if the end was like more'},
{'duration': 4.72,
'start': 478.4,
'text': "complicated or let's say it was like"},
{'duration': 4.799,
'start': 480.4,
'text': 'Sudoku or te text arena or even browser'},
{'duration': 3.84,
'start': 483.12,
'text': 'control, you could try that out and kind'},
{'duration': 3.68, 'start': 485.199, 'text': 'of get a sense of of how that'},
{'duration': 4.72,
'start': 486.96,
'text': 'environment works and what the model was'},
{'duration': 7.121,
'start': 488.879,
'text': 'was doing um for this use case like in'},
{'duration': 5.84,
'start': 491.68,
'text': 'the space and then you would be able to'},
{'duration': 4.319,
'start': 496.0,
'text': 'as I show you go here and kind of'},
{'duration': 5.44,
'start': 497.52,
'text': 'duplicate it embed this space but you'},
{'duration': 6.241,
'start': 500.319,
'text': "could also run locally and then you'll"},
{'duration': 6.239,
'start': 502.96,
'text': 'see this docker run command which is the'},
{'duration': 5.44,
'start': 506.56,
'text': 'same docker run command from the docs. I'},
{'duration': 4.32,
'start': 509.199,
'text': 'think this should just drop in. Yeah.'},
{'duration': 4.719,
'start': 512.0,
'text': "And so then now what you'll see it's"},
{'duration': 7.52,
'start': 513.519,
'text': "doing is that it's running the same"},
{'duration': 6.401,
'start': 516.719,
'text': 'container image from the space uh inside'},
{'duration': 6.8,
'start': 521.039,
'text': 'like locally but this time via docker'},
{'duration': 8.0,
'start': 523.12,
'text': 'instead of the um instead of the uh'},
{'duration': 5.361,
'start': 527.839,
'text': 'python server the fast application.'},
{'duration': 3.92,
'start': 531.12,
'text': "So that's it. Uh let me see if I can"},
{'duration': 4.4, 'start': 533.2, 'text': 'also'},
{'duration': 5.12,
'start': 535.04,
'text': 'just interact with that like that just'},
{'duration': 5.359, 'start': 537.6, 'text': 'to kind of complete the loop.'},
{'duration': 4.48,
'start': 540.16,
'text': 'I think that one should work. Yeah. So'},
{'duration': 3.281,
'start': 542.959,
'text': "now you've got like the same application"},
{'duration': 4.08,
'start': 544.64,
'text': 'running in the space which you which you'},
{'duration': 2.48, 'start': 546.24, 'text': 'can also'}]]