Microsoft Community Insights

Episode 15 - Jumpstart Azure AI using Python with Marlene Mhangami

Episode 15

Send us a text

Get ready to be captivated by Marlene's remarkable journey from Zimbabwe to Microsoft, as she shares her passion for artificial intelligence and Python on Azure. In this episode, Marlene recounts her beginnings with ZimboPy, a groundbreaking initiative she founded to empower girls through coding in Python. Her deep love for Python's simplicity and versatility shines through as she discusses her extensive involvement in the global Python community and her impactful five-year tenure on the Python Software Foundation Board. Marlene's story is a testament to the power of community and diversity, inspiring listeners to engage and contribute, no matter their technical background.

Ever wondered how PyCon Africa came to life? Marlene walks us through the exciting development of this vibrant event, rooted in the Ghanaian Python community and supported by prominent figures like Daniele Porcita from EuroPython. Transitioning into the world of AI, we delve into how Python developers can effortlessly pivot to AI roles, thanks to Python's dominance in the AI landscape and its seamless integration with the Azure ecosystem. Discover innovative Python libraries and tools like Promptflow and Prompti, designed to revolutionize AI projects and make cutting-edge technology accessible to all.

Interested to hear more contact Marlene below

https://x.com/marlene_zw
https://www.linkedin.com/in/marlenemhangami/
https://github.com/marlenezw

Speaker 1:

Hello, good morning, good afternoon, where you are. Welcome to Microsoft Community Podcast, where we share insights from the community experts to stay updated with Azure. My name is Nicholas and I'll be your host today In this podcast. We'll dive into the theme Azure AI using Python, python. But before we get started, I would remind you to follow us on social media so we never miss an episode and you help us reach more amazing people like yourself. So today in this podcast, we have a special guest called maline marlene. My, my god how are me?

Speaker 1:

yeah, sorry I couldn't pronounce it properly. Uh, can you start by introducing yourself, please?

Speaker 2:

Sure, thanks for having me on, nicholas. Like Nicholas mentioned, my name is Marlene and I am a developer advocate at Microsoft. I am relatively new to this role. I just recently moved to London and my focus in this role is artificial intelligence and Python. It's Python specifically on Azure and really trying to, you know, sort of make samples or code examples for the Python community that use Azure, openai or other sort of Azure Microsoft services. So, yeah, I've been in the role for, I want to say, a couple of months now, I don't know, maybe like four months or so, but yeah, really enjoying it.

Speaker 1:

That's really nice. So before we dive in, what makes you interested in your role, right that?

Speaker 2:

you love.

Speaker 1:

So what makes you passionate about your role?

Speaker 2:

Yeah, so I am someone who has been in the Python community for a number of years now. So I was, you know, volunteering I'm originally from Zimbabwe and was volunteering a couple, you know, volunteering. I'm originally from Zimbabwe and was volunteering, you know, years ago I want to say maybe like six years ago in the community I had an organization teaching girls how to code called ZimboPy. This was in Zimbabwe and the goal was to teach Zimbabwean girls how to code in Python. And yeah, I really at that time, actually at that time, I really fell in love with the Python programming language and also fell in love with the Python community as well. I think there's such a great global Python community and the language itself, I think, is really beautiful.

Speaker 2:

There's lots of people who are like you know, who think Python is super slow, or who have, like, you know, super slow, or who have, like, lots of hate for python.

Speaker 1:

But I think it's such a beautiful language, I think it's so elegant yeah, it's, and it's quite easy to understand and call it like passion, different language yeah, java as well, so it's more readable yeah, I feel like it's.

Speaker 2:

It's very readable.

Speaker 2:

I think that it feels pretty intuitive to me, and Python is one of the main languages that people use as like an introductory language as well.

Speaker 2:

So in my experience it's been one of the better languages to get started learning something new.

Speaker 2:

And I think the range with Python is also quite large, so you can be teaching a beginner how to get started with for loops and all the way up to creating machine learning programs with it or I don't know some really complex AI stuff, and so I think the fact that you can really do a wide range of things with the language makes me specifically passionate about Python. And then I'm also very interested in AI, and I have been interested in AI for a while now and I just started like several years ago, kind of experimenting on my own and just trying to build out. If you actually follow my github, which is like the same it's marlenezw um I share quite a lot of like random ai projects there on github which are just like anything that I think feels creative, anything that I think is interesting, are usually shared there. So all of those things I think have made me really sort of passionate about the role plus, I saw that you part part of the Python foundation board yeah, yeah, yeah, how do?

Speaker 2:

you feel being nominated by someone in the board yeah, so I was actually on the Python software foundation board for almost five years. Um, this was two years ago now. I was actually on the Python Software Foundation board for almost five years. This was two years ago now. I was on the board and I was nominated by someone in the community actually someone. Her name is Lorena Mesa and she was serving on the board.

Speaker 2:

She was running PyLadies Chicago at the time and when I was in Zimbabwe and I was running this nonprofit for teaching girls how to code in Zimbabwe we had done like a collaboration together and the board was just about to elect a new round of directors and really one of the focuses was to move away from just having people in the US the only people that are part of the PSF board because the goal is to actually make Python as globally diverse as possible, so really having good representation from around the world and so she thought I would be a good fit and I ran that year. I didn't think I would make it, to be honest, because there were so many people running from like Google and like Disney or whatever, and I wasn't sure if I would make it. To be honest, because there were so many people running from like Google and it's like Disney or whatever, and I wasn't sure if I would make it.

Speaker 1:

So what kind of community activity you need to do to be nominated in the board? Is it just like open source, like creating programs, sharing it?

Speaker 2:

Yeah, so I think it's a mix of things. I would say the board is less technically focused, so having a technical background is is preferable. I would say it was like a really it's a positive thing and you have really technical people on the board even right now. I think simon will listen, who does like a bunch of stuff I will send, that does like a bunch of stuff around LLM's. I think he has the package LLM, the Python package there and he's on the board right now. But I don't think that you need to have like a super strong technical background necessarily. I think with the board it's mainly about community. So are you part of a strong local Python community? Are you getting involved in like organizing events, things like that, and maybe are you running a podcast, for example?

Speaker 1:

There is another today, you have.

Speaker 2:

I think it's more about are you someone who is interested in community building? Is is more so what I would say the the goal of board people would be, rather, as compared to technical people okay, so it's more about soft skill tech leadership, so it gets to me that's the. That's the.

Speaker 2:

that's what it is more about, for sure, yeah, but you do have to be voted in, and it is Python people that are voting you in. So I think most of the time it helps if you have somewhat of a technical background, just because they know that then you're part of the community. You know what I mean.

Speaker 1:

So, yeah, Okay, that's fine, you're also part of the community. You know what I mean. So yeah, okay, that's fine, and you're also part of python con africa.

Speaker 2:

So what can you tell us about that? Yeah, so I was the first um director, or I was the first um chair for python africa, and this was a couple years ago. So at at that time I had really just started getting involved with the Python community and I had been part of Python Zimbabwe, which is a local event. Oh hello, oh no, hello.

Speaker 1:

Hello, I can hear you.

Speaker 2:

Sorry, you can still hear me. I think Teams just opened for some reason. Let me close Teams. But yeah, at the time I was involved in a local community for PyCon Zimbabwe and I had started helping out with the PSF quite a lot. And something I would notice I would usually go and I would give talks on behalf of the psf at different african pycons, so in different countries.

Speaker 2:

So I think that year I went to south africa and namibia and, like nigeria, and had also done some events in zimbabwe, and in those times I think I kept seeing that, I kept hearing from people that, oh my gosh, why don't we have a PyCon Africa, just like EuroPython is there or just like PyCon US or APAC PyCon APAC is there and a lot of people were thinking that you know, for us to actually collaborate and start to build stuff across the continent that can affect people across Africa, it would be great if we had like a big conference that we can all come together once a year and and meet and discuss ideas and build things together.

Speaker 2:

And so I kept on having those discussions and then at some point talked to a couple of people and decided that I would go ahead and chair it. And there were a couple of other people, a big group of people from the Python Ghana community, the Ghanaian Python community, that really helped with that and really were part of that core organizing committee that started was to someone called Daniele Porcita, who is part of EuroPython. Actually, he was also a big part of getting that off the ground too, and so that was the first sort of Pan-African Python that we had a couple of years ago, and there's going to be another PyCon Africa. Now I'm no longer the chair, but there's a new PyCon Africa that's going to be happening this year, I think in October or November, so that's exciting as well.

Speaker 1:

So is that like a big, massive conference for? Everyone different like community, Python community come together.

Speaker 2:

Is the Python community in Africa large? Is that what you mean? Is the Python community in Africa large?

Speaker 1:

Is that what you mean? Yeah, so is there a conference in Africa where people come together?

Speaker 2:

Yeah, that's right. Yeah, so it's a large Python conference in Africa. This year it's going to be in Ghana, I think as well. I'm not sure where it's going to be next year, but I think they're going to move next year and, yeah, it's supposed to be people from all over africa that are coming together to build stuff with python.

Speaker 1:

Um, so I think it should be pretty exciting, yeah okay, you can probably go back and visit if you want to that will be a good excuse for me to go back and get out of the london winter on holiday, to be honest, yeah, it's probably. It's.

Speaker 2:

It's a lot hotter over there, I think, than here, yeah oh yeah, I mean right now it's boiling, like today is so hot, but I mean, when it's not hot, yes, I will probably go, yeah it's like 26, okay.

Speaker 1:

So when we go to ai because I know we, you love python and you kind of you kind of you love AI as well, so you like working both of them together. So how, in your opinion, how does Python contribute with helps AI, like, in particular, with Azure?

Speaker 2:

I think a lot of the AI APIs that we have available. Python is one of the major languages that's supported, for example, some people may be listening to this and you've never heard of what Azure OpenAI is. Azure OpenAI is like the Azure flavored version of the OpenAI API, and so anything that you can do with the OpenAI API you can do with Azure OpenAI, but with the added advantage of these, like some security stuff that you can do with Azure OpenAI. There's a bunch of other things that you can do that come with having using something, a platform like Azure, to be able to sort of deploy a model. But all of the models that are available and I will say that it's not just open AI stuff that Microsoft has on with Azure. It will serve like lots of different other, lots of different other large language models are available, like five, three, and and I think specifically how it all connects with Python is that, yeah, the language is supported and you have a lot of samples that we are creating.

Speaker 2:

My team is creating a bunch of different samples and actually I think in this call, I'm going to just show you a demo of some of the things you can do with Azure, openai and Python to build out. You know, whatever it is, that is the more cutting edge stuff that's being built with AI. You should be able to do it with Python. So for I think, particularly for Python developers switching and becoming an AI first developer is easy, or like relatively easy, compared to other languages, just because most of the things in AI are being built with Python, or Python is the language of choice when you're trying to support an API. So I would say that's how I see the two connecting.

Speaker 1:

Okay.

Speaker 2:

so if someone wants to be like an AI engineer or someone, if you want to go into AI, they can first learn Python and scale up, because yeah, I would say that if someone wants to be an AI engineer there's so many other things you should probably learn, to be honest, but I would say knowing Python is definitely something you should know, because I think that's used in almost every AI space at the moment. It's good to know some of the lower level languages, maybe have some C++, but I would say Python is probably the language you'll be using most of the time to actively build applications or build things that interact with other LLM models.

Speaker 1:

I would say yeah, yeah. So for those who's listening, python is not that hard to learn like C++, because it's more of a, because Python is more readable than C sharp and because there's more resources available for help learning from Microsoft, because they support it more.

Speaker 2:

Yeah.

Speaker 1:

Okay, so what? In your experience, what other like Python libraries or tools would you would people be interested in using to develop an AI project? Angela?

Speaker 2:

Yeah, I mean. So right now I have been okay. I mean today I'm gonna show you a project that we have been working on this, a library called Promptflow yes that we have been developing here at Microsoft internally, and it goes along as well with something called Prompti, which is almost like. Prompti is more a file type that we are developing to help people with prompt engineering. So if you're someone that keeps a lot of prompts or wants to iterate on your prompts to make sure that your model, that you're working, you're developing the prompts and you're saving the prompts and you can cross, collaborate with other people and share prompts effectively, promptee is probably a good choice for that. It's kind of like a mockdown file, except instead of ind you'll be using prompti, and so I think it's really interesting.

Speaker 1:

I think that's quite nice because it's the same. It's just quite nice. It's just a good GUI. Better GUI than Playground. But you just pass the instruction and give it a context and it'll just do what it is.

Speaker 2:

Exactly, yes, exactly. At the end of the day, what we're trying to do is we're trying to make task automation better. This creative process of, if you just want to write an article to be written for you, this example even has you're able to reference products. In that example that I had, you're able to reference products. So, in that example that I had, you're able to reference products that were stored in the Azure AI Victor store and those will be referenced in the article that's generated for you. So it's a way that you know people who are wanting to sort of automate these sorts of things can do that quite nicely.

Speaker 1:

What kind of view case would people use that for a project?

Speaker 2:

I think that for creative teams if there's a creative team that or a team that wants to, a startup or something like that, that needs to generate a lot of content around their, around their product and they want to make sure that the product is written about in a good way, so we, actually you can, and because of Prompti, the researcher can use, for example, the researcher can use GPT 3.5, but the writer can use GPT 4.

Speaker 2:

And so you're kind of saving money and you know that writing, you want the writing to be really good and so you want to use the latest model. But access to the latest model is usually more expensive. But you know, for some parts of this you don't need to be using gpt4 end-to-end and so, because it's kind of modular, you can separate those two things out and also, like, if there's popular topics, you can then quickly iterate and like generate content that kind of picks up on a trend and pump out like articles for that that also talk about your product okay, so you can use more than one module in an agent you can.

Speaker 1:

You can use more than one, yeah yeah, it's just save on cost and stuff. Exactly.

Speaker 2:

Yeah.

Speaker 1:

Okay, so from your going back to AI, so from your experience, what are some of the best practice when using Python for AI?

Speaker 2:

Is it just a good practice from like writing Python. In general, yeah, I think one thing that we talk about quite often is keeping your code as modular as possible. You want your code to be legible. You want people to be able to jump into your code and understand it right away, and if people are struggling to understand what's going on with your code, I think that's a problem. So you want to be able to kind of make your code as clear as possible. Try to break it up into as many sections as you can or the function. I do. I think, yeah, I'm more for like, for example, how the code was structured in what I saw. You we had the one file for researching, you had another file for editing, and that to me, me just makes it easier for someone to be able to jump into the project. So I would say, like, modularity is really big.

Speaker 2:

And then, specifically in AI, with Azure OpenAI which is one of the reasons why I would encourage someone to use Azure OpenAI over like pure OpenAI is because we're really pushing keyless authentication. There've been a bunch of examples recently where people have checked in keys to GitHub or something. You're using API keys in your code and you forget that the API keys are there and people can hard code them in. I actually think Rabbit did that recently the Rabbit project, the hardware one Then they checked in their API keys. That puts your project in so much risk. People can easily hack you. Maybe someone finds the API key and is running the project and it's just using up your token and you get this large bill at the end of the day as well. So for us, I think at Microsoft we were really talking about security-based practices recently and keyless authentication with Azure OpenAI, I think, is the best way to go about that.

Speaker 1:

So yeah, okay, so it's not because I know you can store your agile open ar key in key vault, but you mean, as in key with key clean list, that you wouldn't need a key you don't even need a key with key at this point, it's even.

Speaker 2:

It's one step better than key vaults. Key vault is amazing, but it's one step up if you don't even want to have keys at all, which is what we are aiming for to have all of our samples to be completely keyless is our goal at the moment.

Speaker 1:

Okay, because that will be quite hard to secure it then.

Speaker 2:

Yeah, I would mean, like it's difficult to, like you know, really get into an application which is is really good, which is best practice for security, for sure, yeah I guess you just have to understand and put in your best practice that doing the all back security stuff. If you secure your resource in azure, then if you, I think if it's, I mean, do you mean like securing OpenAI, the pure API, or what do you mean by that?

Speaker 1:

Sorry, no, like. If you secure the endpoints, secure the resources, so get the permission. Who need access to access?

Speaker 2:

to those things yeah those things, yeah, that's exactly will be safer then it's much safer exactly if you just focus on best practices all the way through. Even to be able to just do key list authentication, I think you need to have the permissions that in azure, so you do need to have the permissions there in Azure, so you do need to have, like, the correct permissions and things already set. So, yeah, try. I think security. Best practices are really big right now because there's been a lot of hacks and things like that around, so trying to make sure that doesn't happen.

Speaker 1:

Is there any other trend you see that's evolving coming in the near future with Python and Azure, OpenAI. You don't have to say this secret.

Speaker 2:

No, I mean right now.

Speaker 1:

I am very excited, but I think you mentioned one the keyless authentication.

Speaker 2:

Keyless authentication for sure. Sure is a big one. I also am very excited about autonomous agents. I think that's very exciting, and I don't know if you've heard of Autogen before. Have you heard of Autogen?

Speaker 1:

Yeah, I've heard of it.

Speaker 2:

Yeah, and that's coming out of Microsoft Research and I think they're doing some really cool stuff around it. There's a bunch of I think they're actually planning. I'm not sure. Okay, let me not say that. Yeah.

Speaker 1:

From what I know, Autogen is like an agent that you can use with Azure.

Speaker 2:

OpenAI. Yeah, it's agentic, you can use Azure Open AI. Yeah, it's agentic, you can use Azure Open AI with it. It's really exciting the things I have seen being created with it, and I think it's one step to moving us towards more autonomous agents, which I think is the future that we are trying to get closer and closer towards. I think when we get to agents acting completely autonomously, then we will. Then I think then we would have achieved something with AI, something really significant.

Speaker 1:

Oh, okay, autonomously, like without any manually, without any manual code stuff.

Speaker 2:

Yeah, Like, right now we're still having to do a bunch of stuff manually, but I think in the future we're actually moving closer towards some things where we don't even we probably won't even need to do anything manually, and I think that's quite cool. I think there's a lot that can be, done.

Speaker 1:

Yeah, yeah. A lot can probably be said about the financial impact that would have if someone, if you switch your code from private public, not just from private to public. Yeah, yeah, yeah, definitely so. So, since you're quite active in Python and AR, how do you stay up to date with it? Is it just be more involved in the community?

Speaker 2:

Yeah, I mean for me, I try my best to keep up to date with what conversations are happening. I'm really active on Twitter. If people want to follow me on Twitter, I'm pretty active there and I think Twitter is probably the best place to get the information the fastest. I also think it's good to do deep dives every now and then into topics and I think the ACM, the Association for Computing Machinery, they have like a great page for research that is coming out, page for research that is coming out, and sometimes I'll sift through the research that's coming out there and try and stay up to date with what are the latest techniques. I'm also really a big fan of Langchain and have been, you know, sort of contributing to that recently quite a lot and I think Langchain I usually read their documentation because I think their documentation is really good and it's a great way for learning about some of the latest approaches to things. So I would also recommend that as well.

Speaker 1:

For those who don't know what LandChain is, landchain is like a service that hook into multiple services with different, with Agile, openai or a different kind of AI.

Speaker 2:

Yeah, you can use Azure OpenAI with it. It's kind of like an abstraction for any other large language model that you want to use. I've created a bunch of samples with Langchain and Azure OpenAI, created a bunch of samples with LanChain and Azure OpenAI. I'm trying to get part of helping maintain the Azure OpenAI side of things in LanChain. I think there's lots of exciting things that you can build. It's something that you can use to try and if you need to create an app really quickly, I would suggest using that for sure.

Speaker 1:

Yeah, I would probably advise don't overuse it. If it's like, if you're thinking of a project, don't always assume that long chain is the best option. Yeah, you want to be the best option for your use case. If there's no need for using long chain, don't use that don't use it exactly yeah exactly. You're so right okay so, as these episodes come to end, we love to hear about people, so are you planning on going to any tech events or private events or anything in?

Speaker 2:

general, yeah, that could be going to Ignite. Yeah, yeah, I'm not going to be at Ignite this year. Hopefully next year I will be at PyCon Estonia. This year I'm giving a keynote at the conference in. September, which is exciting, and I'm also going to be involved in the AI tour, and Microsoft has a couple of stops around the world for the AI tour coming up for this next year, and I do think London has a stop for that, which I'm excited about.

Speaker 1:

So, yeah, keep an eye out for that. I think they did it this year already. The first one was, I think it was London, then it goes to Paris, and then will it restart again London, and then it'll go to Paris.

Speaker 2:

It's going to do the same thing? I think I think so. So I'm excited to be actually officially in the team, um, and we'll be very involved in that, for sure yeah, so you'll probably be traveling quite a lot yes, maybe we'll see that's quite cool.

Speaker 1:

Yeah, so how can, before we close up, how can other people get in touch with you to learn more about python or ai, or does any questions?

Speaker 2:

uh, feel free to reach out to me on twitter. I'm pretty active there. I'm marlene underscore, dw. Um. So, yeah, if you want to chat, feel free to dm me on twitter and also on linkedin. So feel free to reach out to molly mangami on linkedin and connect with me there and just send me a message. And I try to reply and sometimes late and slow to reply, but I will reply at some point.

Speaker 1:

Yeah, yeah, okay, no worries. Uh, thanks for joining this episode, mali. So in a few weeks're going to try to put it on some podcasts and Spotify for Music and stuff, along with YouTube. So thanks for joining. Bye.

Speaker 2:

Bye.

People on this episode