Tech Hub

@ Solution Architecture Works

Accelerate Application Development Using GitHub Copilot

Examine AI tools from GitHub, OpenAI, and Microsoft

Estimated reading: 11 minutes 47 views

AI tools for developers have become increasingly popular in recent years. Companies like GitHub, OpenAI, and Microsoft offer a range of AI-assisted tools that support software development. These tools use artificial intelligence to automate various aspects of coding, anywhere from brainstorming an idea to updating code security. AI tools for developers can enhance productivity and reduce the likelihood of human error. But with so many tools available, it’s challenging to know which tool is best suited for a particular project or individual.

To help align AI tools with development tasks and projects, this unit examines the following resources:

  • Azure AI services.
  • Azure AI Foundry portal.
  • AI Builder.
  • Copilot Studio.
  • Semantic Kernel SDK.
  • Visual Studio IntelliCode.
  • ChatGPT.
  • GitHub Copilot.

Azure AI services

The Azure AI services are a set of cloud-based services that enable developers to build AI-powered applications without requiring expertise in machine learning. These services cover a wide range of AI capabilities, including speech recognition, natural language processing, computer vision, and decision-making. Azure AI services are designed to be easy to use and integrate with existing applications.

Azure Cognitive Services is a subset of Azure AI services that provide prebuilt AI models for common tasks such as text analysis, image recognition, and language translation. These models can be integrated into applications using REST APIs or SDKs.

The Azure AI services are best suited for projects that require AI capabilities but lack the resources or expertise to build custom models from scratch. These services help developers add AI features to their applications. This results in improved user experiences.

Azure AI services are intended for:

  • Developers who want to add AI capabilities to their applications without needing to build custom models.
  • Organizations that need to quickly deploy AI-powered solutions without investing in specialized AI expertise.
  • Projects that require common AI capabilities like speech recognition, natural language processing, or computer vision.

Azure AI Foundry portal

Azure AI Foundry portal is a web-based platform that allows developers to build, train, and deploy machine learning models using a visual interface. It provides a range of tools and templates to help developers create AI models without needing to write code. Azure AI Foundry portal supports popular machine learning frameworks like TensorFlow and PyTorch, making it easy to work with existing models.

Azure AI Foundry portal also includes features for data preparation, model training, and model evaluation. Developers can use drag-and-drop tools to create data pipelines, experiment with different algorithms, and monitor model performance. Once a model is trained, it can be deployed as a web service or integrated into an existing application.

Azure AI Foundry portal is ideal for developers who want to experiment with machine learning models without needing to write code or manage infrastructure. It provides a user-friendly interface for building and deploying AI models, making it accessible to a wide range of developers.

Azure AI Foundry portal is intended for:

  • Developers who want to experiment with machine learning models without needing to write code.
  • Data scientists who need a platform for building, training, and deploying AI models.
  • Organizations that want to empower developers with AI capabilities without requiring specialized expertise.
  • Projects that require custom machine learning models tailored to specific business needs.

AI Builder

AI Builder is a feature of Microsoft Power Platform that allows users to add AI capabilities to their applications without needing deep data science expertise. It provides prebuilt AI models for common tasks like prediction, form processing, object detection, and text classification. Users can also create custom AI models tailored to their specific business needs using their data.

AI Builder provides the following features:

  • Prebuilt AI Models: Includes models for common tasks like prediction, form processing, object detection, and text classification.
  • Custom Models: Allows you to build custom models tailored to your specific business needs using your data.
  • Easy Integration: Seamlessly integrates AI capabilities into apps built with Power Apps, enhancing user experience and efficiency.

AI Builder is best suited for users who want to add AI capabilities to their applications without needing to write code or have deep data science expertise. It provides a user-friendly interface for creating and deploying AI models, making it accessible to a wide range of users. Business analysts, developers, and citizen developers can leverage AI Builder to enhance their applications with AI capabilities.

AI Builder is intended for:

  • Users who want to add AI capabilities to their applications without needing to write code.
  • Business analysts who need to build AI models to automate business processes.
  • Citizen developers who want to experiment with AI models and add them to their applications.
  • Projects that require AI capabilities like prediction, form processing, or object detection.
  • Organizations that want to empower users with AI capabilities without requiring specialized expertise.

Copilot Studio

Copilot Studio is a copilot authoring tool that enables user to create and manage AI-powered chatbots. It provides a visual interface for designing conversational flows, training chatbots, and monitoring their performance. Copilot Studio supports natural language understanding (NLU) and natural language generation (NLG) capabilities, allowing users to build chatbots that can understand and respond to user queries.

Note

A copilot is an AI-powered conversational interface based on large language models (LLMs) and additional sources of knowledge. It’s a powerful AI companion that can handle a range of requests, from providing simple responses to common questions to resolving issues requiring complex conversations. Copilots can engage with customers and employees in multiple languages across websites, mobile apps, Facebook, Microsoft Teams, or any channel supported by the Azure Bot Service.

You can easily create copilots in Copilot Studio without the need for data scientists or developers. The platform provides a range of templates and tools to help you design and train chatbots, making it easy to get started. Copilot Studio also includes features for monitoring chatbot performance, analyzing user interactions, and improving conversational flows over time.

Some of the ways you might use copilots include:

  • Sales help and support issues.
  • Opening hours and store information.
  • Employee health and vacation benefits.
  • Public health tracking information.
  • Common employee questions for businesses.

Copilot Studio is available as a standalone web app, and as a discrete app within Teams. Most of the functionality between the two is the same. However, there might be different reasons to choose one version or the other based on the ways you want to use Copilot Studio.

Copilot Studio is intended for:

  • Users who want to create and manage AI-powered chatbots without needing to write code.
  • Business analysts who need to build chatbots to automate customer interactions.
  • Organizations that want to empower users with chatbot capabilities without requiring specialized expertise.
  • Projects that require chatbots to handle customer inquiries, provide support, or automate business processes.

Semantic Kernel SDK

The Semantic Kernel SDK enables developers to implement AI model interactions within their existing code project.

Today’s AI models can easily generate text responses and images based on user supplied prompts. While this capability is helpful when building a simple chat app, it’s not enough to build fully automated AI agents that can automate business processes and empower users to achieve more. To do so, you need a framework that can take the responses from these models and use them to influence and support actions within existing code. The Semantic Kernel SDK provides the framework needed to create these types of projects.

Semantic Kernel is an open-source SDK that lets you easily build agents that can interact with AI models and use responses to enhance your existing code. As a highly extensible SDK, you can use Semantic Kernel with models from OpenAI, Azure OpenAI, Hugging Face, and others. By combining your existing C#, Python, and Java code with these models, you can build agents that extend your applications in ways that were previously impossible.

Semantic Kernel SDK is intended for:

  • Developers who want to integrate AI models into their existing code projects.
  • Organizations that want to build AI-powered agents to automate business processes.
  • Projects that require AI models to interact with existing code and influence actions.

Visual Studio IntelliCode

Visual Studio IntelliCode is an extension for Visual Studio that enhances the coding experience by providing AI-powered recommendations. IntelliCode uses machine learning models trained on thousands of open-source projects to suggest context-appropriate code completions. It supports multiple programming languages and helps developers write more reliable and maintainable code.

Visual Studio IntelliCode features:

  • AI-Powered Code Completions: Offers intelligent suggestions that go beyond simple alphabetical lists, understanding coding patterns and practices.
  • Refactoring Assistance: Recommends where code refactoring could be beneficial and provides assistance in making changes.
  • Code Style Inference: Learns your code style preferences and applies them as you enter code, ensuring consistent code style across your project.

Visual Studio IntelliCode is intended for:

  • Developers who want to improve their coding productivity and efficiency.
  • Teams that want to maintain consistent coding practices and code quality.
  • Projects that require code completions, refactoring assistance, and code style inference.

ChatGPT

ChatGPT is a conversational AI model developed by OpenAI that can engage in human-like conversations on a wide range of topics. It’s designed to generate coherent and contextually relevant responses to user queries. ChatGPT can be used in chatbots, virtual assistants, and other conversational applications to provide engaging and informative interactions.

ChatGPT can be used to generate code snippets, provide explanations of programming concepts, and assist with debugging tasks. However, it’s important to note that ChatGPT is not designed for programming tasks and may not always provide accurate or relevant code suggestions. Developers should use ChatGPT as a general-purpose conversational AI model and verify the accuracy of its responses before incorporating them into their code.

Since ChatGPT isn’t integrated into a development environment, it may be better for generating ideas or explanations rather than directly writing code. Developers can use ChatGPT to brainstorm solutions, clarify concepts, or explore new ideas before implementing them in their codebase.

ChatGPT is intended for:

  • Developers or teams who want to brainstorm solutions, clarify concepts, or explore new ideas outside of the development environment.
  • Projects that require conversational AI capabilities for chatbots, virtual assistants, or other applications.
  • Organizations that want to experiment with AI models for conversational interactions.
  • Citizen developers who want to build an application or web site for personal use.

GitHub Copilot tools

GitHub provides a suite of AI-assisted programming tools, including GitHub Copilot and GitHub Copilot Chat. GitHub Copilot, powered by OpenAI’s Codex, is an AI pair programmer that helps you write code faster and with less effort. Copilot works alongside you directly in your code editor, seamlessly integrating AI into your workflow. It provides intelligent code suggestions and completions based on the context of your code, helping you write code more efficiently and accurately. GitHub Copilot Chat is a chat interface that lets you interact with GitHub Copilot, to ask and receive answers to coding-related questions within GitHub.com and supported IDEs.

General support features:

  • Language support: Supports multiple programming languages and frameworks, adapting to the code you’re working on.
  • IDE integration: Works directly in your code editor, providing suggestions and completions as you write code.

GitHub Copilot’s autocomplete features:

  • Code line completions and suggestions are based on the context of your code.
  • Suggestions can be single lines of code, entire functions, or even entire classes.

Copilot suggestions can help you write code faster and with fewer errors, improving your productivity and efficiency.

GitHub Copilot Chat’s AI assistance features:

  • Chat interface: Provides a chat interface for interacting with GitHub Copilot, asking and receiving answers to coding-related questions.
  • Code explanation: Provides explanations for selected code snippets, helping you understand syntax, programming concepts, test cases, debugging, and more, without requiring you to navigate documentation or search online forums.
  • Documentation generation: Generates explanations or documentation for selected code or entire workspaces, helping you understand and document your codebase.
  • Test case generation: Helps in generating test cases for your code, saving time, and improving code quality.
  • Code fixes: Provides suggestions for refactoring code and fixing common issues, improving code quality and maintainability.

By using AI to assist with coding tasks, GitHub Copilot can help you focus on higher-level design and problem-solving, rather than getting bogged down in syntax and implementation details.

GitHub Copilot and GitHub Copilot Chat are intended for:

  • Developers who want to write code faster and with fewer errors.
  • Teams that want to improve code quality and consistency across projects.
  • Projects that require code completions, refactoring assistance, and code explanations.
  • Organizations that want to empower developers with AI-powered coding tools.

Summary

AI-assisted programming tools cater to a wide range of development needs, from writing and refactoring code to building and deploying machine learning models. AI tools make software development more efficient, accessible, and enjoyable. Whether you’re a seasoned developer or just starting out, AI tools can help you take your coding to the next level.

Share this Doc

Examine AI tools from GitHub, OpenAI, and Microsoft

Or copy link

CONTENTS