ai
801 TopicsAnnouncing the Microsoft AI Skills Fest: Save the date!
The best way to learn something new is by taking it one step at a time. We know all this talk of AI can be overwhelming, so how about we take it one skill at a time? At Microsoft, our mission has always been to create technology that empowers others to innovate and solve real-world problems. And it’s no different with AI—we want to help you learn to use this powerful technology to make your life easier, especially as it becomes an integral part of our daily lives. Sometimes, starting is the hardest part, so we want to make that part simple for you. This is why we’re excited to announce the Microsoft AI Skills Fest, a global event this April and May, designed to bring learners across the globe together to build their AI skills, from beginner explorers to the technologically gifted. Together, we can learn a new AI skill and maybe even set a groundbreaking record at the same time! Everyone everywhere is invited The AI Skills Fest is designed with you in mind, offering a wide variety of AI training for everyone, regardless of background or expertise. Join us to build your AI skills and unlock new opportunities for productivity, innovation, and growth. Tech professionals. Learn how to quickly build AI-powered solutions using Microsoft's AI apps and services. Gain skills and experience working with agents, AI security, Azure AI Foundry, GitHub Copilot, Microsoft Fabric, and more. Business professionals. Find out how much easier your work life can be when you use Microsoft Copilot to simplify tasks and let your creativity loose! Students. Explore technical skills to bring your ideas to life, with AI learning experiences for all skill levels and interests. Business leaders. Empower your teams with AI skills for future success through curated upskilling opportunities. Let’s earn a GUINNESS WORLD RECORDS™ title together on April 8, 2025! The Microsoft AI Skills Fest will begin with a spectacular Kickoff Celebration on April 8, 2025. Starting in Australia at 9 AM Australian Eastern Standard Time and wrapping up in the United States at 4 PM Pacific Daylight Time, this 24-hour, globe-spanning event will feature a variety of AI learning activities designed to engage and inspire learners of all experience levels. Together, we’ll have a once-in-a-lifetime opportunity to attempt a GUINNESS WORLD RECORDS™ title for most users to take an online multilevel artificial intelligence lesson in 24 hours. Don’t miss this unique chance to learn, compete, and celebrate your achievements—and to be part of these unprecedented and record-setting global festivities. Mark your calendar and save the date for this unparalleled event. Deepen your skills over 50 days of AI learning The celebration doesn't stop there! Following the kickoff, the AI Skills Fest will continue for 50 days— through May 28, 2025—offering a wide array of learning opportunities. Whether you're a tech professional, business leader, business professional, student, or AI enthusiast, there will be engaging and challenging training for you. Participate in hackathons, live in-person and virtual training, self-paced tutorials, on-demand training, community events, Microsoft Learn Challenges, and more. Mark your calendar for 50 days of AI discovery and learning. The countdown to make history together Save the date, attempt a world record, and get ready to unlock the future with 50 days of AI discovery and learning. Stay tuned for all the details on March 24, 2025. Now let’s get learning!7.6KViews24likes6CommentsCreate your own QA RAG Chatbot with LangChain.js + Azure OpenAI Service
Demo: Mpesa for Business Setup QA RAG Application In this tutorial we are going to build a Question-Answering RAG Chat Web App. We utilize Node.js and HTML, CSS, JS. We also incorporate Langchain.js + Azure OpenAI + MongoDB Vector Store (MongoDB Search Index). Get a quick look below. Note: Documents and illustrations shared here are for demo purposes only and Microsoft or its products are not part of Mpesa. The content demonstrated here should be used for educational purposes only. Additionally, all views shared here are solely mine. What you will need: An active Azure subscription, get Azure for Student for free or get started with Azure for 12 months free. VS Code Basic knowledge in JavaScript (not a must) Access to Azure OpenAI, click here if you don't have access. Create a MongoDB account (You can also use Azure Cosmos DB vector store) Setting Up the Project In order to build this project, you will have to fork this repository and clone it. GitHub Repository link: https://github.com/tiprock-network/azure-qa-rag-mpesa . Follow the steps highlighted in the README.md to setup the project under Setting Up the Node.js Application. Create Resources that you Need In order to do this, you will need to have Azure CLI or Azure Developer CLI installed in your computer. Go ahead and follow the steps indicated in the README.md to create Azure resources under Azure Resources Set Up with Azure CLI. You might want to use Azure CLI to login in differently use a code. Here's how you can do this. Instead of using az login. You can do az login --use-code-device OR you would prefer using Azure Developer CLI and execute this command instead azd auth login --use-device-code Remember to update the .env file with the values you have used to name Azure OpenAI instance, Azure models and even the API Keys you have obtained while creating your resources. Setting Up MongoDB After accessing you MongoDB account get the URI link to your database and add it to the .env file along with your database name and vector store collection name you specified while creating your indexes for a vector search. Running the Project In order to run this Node.js project you will need to start the project using the following command. npm run dev The Vector Store The vector store used in this project is MongoDB store where the word embeddings were stored in MongoDB. From the embeddings model instance we created on Azure AI Foundry we are able to create embeddings that can be stored in a vector store. The following code below shows our embeddings model instance. //create new embedding model instance const azOpenEmbedding = new AzureOpenAIEmbeddings({ azureADTokenProvider, azureOpenAIApiInstanceName: process.env.AZURE_OPENAI_API_INSTANCE_NAME, azureOpenAIApiEmbeddingsDeploymentName: process.env.AZURE_OPENAI_API_DEPLOYMENT_EMBEDDING_NAME, azureOpenAIApiVersion: process.env.AZURE_OPENAI_API_VERSION, azureOpenAIBasePath: "https://eastus2.api.cognitive.microsoft.com/openai/deployments" }); The code in uploadDoc.js offers a simple way to do embeddings and store them to MongoDB. In this approach the text from the documents is loaded using the PDFLoader from Langchain community. The following code demonstrates how the embeddings are stored in the vector store. // Call the function and handle the result with await const storeToCosmosVectorStore = async () => { try { const documents = await returnSplittedContent() //create store instance const store = await MongoDBAtlasVectorSearch.fromDocuments( documents, azOpenEmbedding, { collection: vectorCollection, indexName: "myrag_index", textKey: "text", embeddingKey: "embedding", } ) if(!store){ console.log('Something wrong happened while creating store or getting store!') return false } console.log('Done creating/getting and uploading to store.') return true } catch (e) { console.log(`This error occurred: ${e}`) return false } } In this setup, Question Answering (QA) is achieved by integrating Azure OpenAI’s GPT-4o with MongoDB Vector Search through LangChain.js. The system processes user queries via an LLM (Large Language Model), which retrieves relevant information from a vectorized database, ensuring contextual and accurate responses. Azure OpenAI Embeddings convert text into dense vector representations, enabling semantic search within MongoDB. The LangChain RunnableSequence structures the retrieval and response generation workflow, while the StringOutputParser ensures proper text formatting. The most relevant code snippets to include are: AzureChatOpenAI instantiation, MongoDB connection setup, and the API endpoint handling QA queries using vector search and embeddings. There are some code snippets below to explain major parts of the code. Azure AI Chat Completion Model This is the model used in this implementation of RAG, where we use it as the model for chat completion. Below is a code snippet for it. const llm = new AzureChatOpenAI({ azTokenProvider, azureOpenAIApiInstanceName: process.env.AZURE_OPENAI_API_INSTANCE_NAME, azureOpenAIApiDeploymentName: process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME, azureOpenAIApiVersion: process.env.AZURE_OPENAI_API_VERSION }) Using a Runnable Sequence to give out Chat Output This shows how a runnable sequence can be used to give out a response given the particular output format/ output parser added on to the chain. //Stream response app.post(`${process.env.BASE_URL}/az-openai/runnable-sequence/stream/chat`, async (req,res) => { //check for human message const { chatMsg } = req.body if(!chatMsg) return res.status(201).json({ message:'Hey, you didn\'t send anything.' }) //put the code in an error-handler try{ //create a prompt template format template const prompt = ChatPromptTemplate.fromMessages( [ ["system", `You are a French-to-English translator that detects if a message isn't in French. If it's not, you respond, "This is not French." Otherwise, you translate it to English.`], ["human", `${chatMsg}`] ] ) //runnable chain const chain = RunnableSequence.from([prompt, llm, outPutParser]) //chain result let result_stream = await chain.stream() //set response headers res.setHeader('Content-Type','application/json') res.setHeader('Transfer-Encoding','chunked') //create readable stream const readable = Readable.from(result_stream) res.status(201).write(`{"message": "Successful translation.", "response": "`); readable.on('data', (chunk) => { // Convert chunk to string and write it res.write(`${chunk}`); }); readable.on('end', () => { // Close the JSON response properly res.write('" }'); res.end(); }); readable.on('error', (err) => { console.error("Stream error:", err); res.status(500).json({ message: "Translation failed.", error: err.message }); }); }catch(e){ //deliver a 500 error response return res.status(500).json( { message:'Failed to send request.', error:e } ) } }) To run the front end of the code, go to your BASE_URL with the port given. This enables you to run the chatbot above and achieve similar results. The chatbot is basically HTML+CSS+JS. Where JavaScript is mainly used with fetch API to get a response. Thanks for reading. I hope you play around with the code and learn some new things. Additional Reads Introduction to LangChain.js Create an FAQ Bot on Azure Build a basic chat app in Python using Azure AI Foundry SDK20Views0likes0CommentsWhat's New in Microsoft EDU webinar - March 2025
Join us on Wednesday, March 12th, 2025 for our latest "What's New in Microsoft EDU" webinar! These 30 minute webinars are put on by the Microsoft Education Product Management group and happen once per month, this month both 8:00am Pacific Time and 4:00pm Pacific time to cover as many global time zones as possible around the world.1.4KViews2likes1CommentMondays at Microsoft | Episode 44
Busy last few weeks, with the SharePoint Hackathon and planning for the Microsoft 365 Community Conference. Stay in the know with Mondays at Microsoft. Karuana Gatimu and Heather Cook keep you grounded with the latest in #AI, broader Microsoft 365 product awareness, community activities and events, and more. Join live on Monday, March 10th, 8:00am PT. #CommunityLuv 💖 Resource links mentioned during the episode: (Note: Coming soon | We add all links and show notes at the completion of the live episode)369Views0likes26CommentsPartner Blog | Empowering women in tech and AI through partnership
According to the World Economic Forum Global Gender Gap Report 2024, women’s representation in STEM and non-STEM fields has increased since 2016, but significant gender gaps remain—particularly in STEM leadership roles. Women’s representation in AI has more than doubled since 2016, with industries like technology, information, and media seeing notable increases—a promising trend that the report states is important to foster systemic resilience in the changing economic landscape. Closing the global gender gap is essential to create sustainable economic growth and expand access to markets and opportunities. As we observe International Women’s Day in March, we are committed to supporting gender equity and collaborating with Microsoft partners who are driving innovation and contributing to the advancement of the United Nations Sustainable Development Goals. Microsoft actively partners with nonprofit partner-led associations—such as Women in Cloud (WIC) and the WIT Network—to advance these goals through community-driven initiatives, mentorship, and business development programs. We encourage our partners to learn more about these organizations and participate in their upcoming events. Continue reading here61Views0likes0Comments