This repo is put together to help me document, practice and show examples of how to use Copilot. Along the way, if I find authoritative content on the topic of Generative AI, I will list them here. All content is credited to its respective authors.
Now, remember folks! "Copilot still needs a Pilot" (C) 2023
AI > ML > DL > GI
- 1956 Artificial Intelligence (AI) - field of computer science that seeks to create intelligent machines that can replicate or exceed human intelligence
- 1997 Machine Learning (ML) - subset of AI that enables machines to learn from existing data and improve upon that data to make decisions or predictions
- 2017 Deep Learning (DL) - machine learning technique in which layers of neural networks are used to process data and make decisions
- 2021 Generative AI (GI) - a new class of AI that can generate new content, such as text, images, and code
Predictive models based on data and statistics
- Anomaly Detection: Systems that detect unusual patterns or events, enabling pre-emptive action
- Computer Vision: Applications that interpret visual input from cameras, images or videos
- Matural Language Processing: Applications that can interpret and draw insights from written or spoken language
- Conversational AI: AI agents or bots that can engage in dialogs with human users
- 1950 - 1980's Symbolic AI
- 1990's Machine Learning
- 2010's Deep Learning
- Spam and fraud detection
- Decision engines: approval or disapproval
- Recommendation engines: which one to choose
- Predictive maintenance: when will it break
- Image analysis: classification and object detection
- Text analysis: term and document comprehension
- Natural language processing and machine translation
- Fairness
- Reliable
- Safe
- Private
- Secure
- Inclusivness
- Transparent
- Accountable
- Generative pre-trained transformer (GPT): GPT (generate and understand text)
- Codex: (based off of GPT and are optimized to generate and understand code)
- Dall-E: (generate images from text prompts)
- Embeddings: (a special format of data representation that can be easily utilized by machine learning models and algorithms)
Copilot is a new AI-powered coding assistant that helps you write code faster and with fewer bugs. It comes with a plugin or extension and a Chat feature called GitHub Copilot Chat.
"When using GitHub Copilot Chat, we recommend that you think of yourself as a lead developer who is working with a more junior developer (GitHub Copilot Chat). As the lead developer, it is your responsibility to verify information that is provided by GitHub Copilot Chat and ensure it meets all of your requirements." [Prompting GitHub Copilot Chat to become your personal AI assistant for accessibility] (https://github.blog/developer-skills/github/prompting-github-copilot-chat-to-become-your-personal-ai-assistant-for-accessibility/#foundational-accessibility-prompt)
You can receive suggestions from GitHub Copilot either by starting to write the code you want to use, or by writing a natural language comment describing what you want the code to do.
Trained on billions of lines of public code, GitHub Copilot puts the knowledge customers need at their fingertips, saving time and maintaining focus.
Although it supports most programming languages, it currently works the best with
- Python
- JavaScript
- TypeScript
- Ruby
- Go
GitHub Copilot helps developers code faster, focus on solving bigger problems.
- 96% faster with repetitive tasks
- 88% feel more productive
- 74% focus on more satisfying work
- Find new solutions - Cycle through suggestions and discover a different path.
- Solve big problems - Spend less time on boilerplate and repetitive code patterns and more time on building great software.
- Explore new frameworks - Navigate unfamiliar languages, frameworks, and libraries with ease
- I want to write code faster so that I can focus on solving bigger problems
- I want to write code with fewer bugs so that I can focus on solving bigger problems
- I want to write code with fewer errors so that I can focus on solving bigger problems
- ... LOL. The above was written by my Copilot. I am not sure if I should be happy or sad.
- You are asked to create a new App
- You are asked to create a new API
- You are asked to modify an existing application
- You are asked to fix a bug
Your next steps might be to gather requriements, work on a high level design, produce a POC or MVP. And when you start to write code, you may copy/paste, you may search and query for best results and code samples, etc. Copilot can help you do it all in one place.
Let's say the scenario is: "I want to build a web app that connects to a sql database and has an todo item api and then I want to deploy this app to Azure". Imagine now, with [Copilot, Copilot Labs, Copilot-X, Copilot CLI] or which ever combination or product term we may end up with I can do all of that from one IDE.
- Context. Context. Context.
- Well written natural language comments (in a code file) or prompts.
- Multiple tabs open in the IDE with code files related to the work you are doing.
Copilot supports the following IDEs:
- Visual Studio
- Visual Studio Code
- JetBrains
- NeoVim
- GitHub Codespaces
- GitHub Copilot Workspace
GitHub Copilot is powered by OpenAI Codex from https://openai.com/
- GitHub Copilot can be managed through personal accounts with GitHub Copilot for Individuals
- Or through organization accounts with GitHub Copilot for Business
- You can get it for Free if you are a verified Student, Teacher, or Maintainer of a popular open source project
- Sign up with a GitHub account
- Purchase a Copilot license
- Active on a GitHub repo
- Install the extensions (Copilot and Copilot Labs)
- Sign up for Copilot-X
- Create your first code file and enter a comment. Use natural language
-
Prompt Engine - The Prompt Engine is a library for building natural language prompts for code generation. It is used by Copilot to generate prompts for code completion.
-
Prompt Engineering - The Prompt Engineering website is a collection of resources for building natural language prompts for code generation. It is used by Copilot to generate prompts for code completion.
-
Semantic Kernel - Semantic Kernel is an open-source SDK that lets you easily combine AI services like OpenAI, Azure OpenAI, and Hugging Face with conventional programming languages like C# and Python. In other words, it is an AI orchestration layer that allows us to combine AI models and plugins together to create brand new experiences for users.
-
Language Model - A language model is a probabilistic model of a natural language.
-
Introducing GPT-4o: OpenAI new flagship multimodal model now in preview on Azure
-
Microsoft Fabric and Copilot in Microsoft Power BI announcement in May 2023
-
Announcing Copilot Chat. Shannon Monroe. May 1st, 2023. Accessed on 5/23/2023
- A Beginner’s Guide to Language Models
- What is a large language model (LLM)?
- A Comprehensive Guide to Build your own Language Model in Python!
- Introduction to Large Language Models
- Language model
- What are large language models?
- Using Copilot Chat to fix vulnerability discovered by GitHub Advanced Security
- Writing Tests with Copilot
- Copilot : Build a new features in few minutes
- Copilot: code faster with contextual suggestions
- Fun with copilot
-
OpenAI. Can I sell images I create with DALL-E? Accessed on 4/27/2023
-
Code of conduct for Azure OpenAI Service. Accessed on 4/27/2023
-
GitHub Copilot Product Specific Terms. Accessed on 6/28/2023
-
GitHub Privacy Statement. Effective date: December 15, 2022. Accessed on 6/28/2023
-
GitHub Copilot for Business Privacy Statement. Effective Date: December 7, 2022
-
Prompting GitHub Copilot Chat to become your personal AI assistant for accessibility
-
Oops: Samsung Employees Leaked Confidential Data to ChatGPT. Gizmodo. Accessed 4/14/2023.
-
Augmenting In-House Innovation with Startups: Generative AI. ShiSh S. Accessed on 4/14/2023.
-
GitHub Copilot X: The AI-powered developer experience. Accessed on 4/17/2023
-
Github Copilot for Swift iOS Developers. Rudolf Farkas May 22, 2022. Accessed on 4/19/2023
-
GitHub Copilot for CLI for PowerShell. Scott Hanselman April 25, 2023. Accessed on 4/26/2023
- The state of AI in 2022—and a half decade in review. December 6, 2022 | Survey. Accessed on 6/2/2023
-
"OpenAI CEO, CTO on risks and how AI will reshape society". ABC News. Accessed on 4/14/2023.
-
"OpenAI CEO Sam Altman | AI for the Next Era". Greylock. Accessed on 4/14/2023.
-
"Bill Gates on AI and the rapidly evolving future of computing". Microsoft. Accessed on 4/14/2023.
-
Sam Altman: OpenAI CEO on GPT-4, ChatGPT, and the Future of AI | Lex Fridman Podcast #367
Introduction to large language models
A few code files will include how to run comments inline.
."C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\Roslyn\csc.exe" .\main.cs
.\main.exe
- The Coldfusion language may not supported by Copilot. It did take me some time to get it to work with it. It did finally do write me some code.
- I'm having a bit of a challenge to write VB. VBScript was straight forward.
- Copilot not much of a help yet when it comes to .bicep files.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Microsoft and any contributors grant you a license to the Microsoft documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License, see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the LICENSE-CODE file.
Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at https://go.microsoft.com/fwlink/?LinkID=254653.
Privacy information can be found at https://privacy.microsoft.com/en-us/
Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel or otherwise.