1
0
mirror of synced 2026-01-09 06:03:09 -05:00

Merge pull request #49192 from github/timrogers/copilot-for-docs-ga

Copilot knowledge bases (formerly docsets) [GA]
This commit is contained in:
Tim Rogers
2024-02-21 10:44:37 +00:00
committed by GitHub
18 changed files with 255 additions and 191 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -31,7 +31,7 @@ Using the chat feature, you can ask {% data variables.product.prodname_copilot_s
- **Pull request summaries** _({% data variables.product.prodname_copilot_enterprise_short %} only)_ - Get {% data variables.product.prodname_copilot_short %} to describe the changes in a pull request. For more information, see {% ifversion ghec %}"[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-pull-request-summaries/creating-a-pull-request-summary-with-github-copilot)."{% else %}"[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-pull-request-summaries/about-copilot-pull-request-summaries)."{% endif %}
- **Knowledge bases** _({% data variables.product.prodname_copilot_enterprise_short %} only)_ - Create and manage collections of documentation to use as a context for chatting with {% data variables.product.prodname_copilot_short %}. For more information, see {% ifversion ghec %}"[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-docset-management/creating-private-docsets)."{% else %}"[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-docset-management/about-copilot-docset-management)."{% endif %} TODOCS: NAMES/LINKS OF ARTICLES WILL NEED CHANGED.
- **Knowledge bases** _({% data variables.product.prodname_copilot_enterprise_short %} only)_ - Create and manage collections of documentation to use as a context for chatting with {% data variables.product.prodname_copilot_short %}. For more information, see {% ifversion ghec %}"[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-chat-in-github/managing-copilot-knowledge-bases)."{% else %}"[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/managing-copilot-knowledge-bases)."{% endif %}
For a full list of the features and functionality available on each {% data variables.product.prodname_copilot %} plan, see "[AUTOTITLE](/copilot/copilot-individual/github-copilot-individual-feature-set)", "[AUTOTITLE](/copilot/copilot-business/github-copilot-business-feature-set)", or "[AUTOTITLE](/copilot/github-copilot-enterprise/overview/github-copilot-enterprise-feature-set)."

View File

@@ -1,7 +1,7 @@
---
title: About GitHub Copilot Chat
shortTitle: About Copilot Chat
intro: '{% data variables.product.prodname_copilot_chat %} can help you by providing answers to coding related questions directly within {% data variables.product.prodname_dotcom_the_website %} or a supported IDE.'
title: About GitHub Copilot Chat in GitHub.com
shortTitle: About Copilot Chat in GitHub.com
intro: '{% data variables.product.prodname_copilot_chat_dotcom %} can help you by providing answers to coding related questions directly within {% data variables.product.prodname_dotcom_the_website %}.'
product: 'Owners of organizations {% ifversion ghec %}or enterprises {% endif %}with a {% data variables.product.prodname_copilot_enterprise %} subscription can decide whether to grant access to the {% data variables.product.prodname_copilot_enterprise_short %} functionality for an organization. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/overview/enabling-github-copilot-enterprise)."'
versions:
feature: 'copilot-on-dotcom'
@@ -9,24 +9,34 @@ versions:
topics:
- Copilot
type: rai
redirect_from:
- /copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat
- /copilot/github-copilot-enterprise/copilot-docset-management/about-copilot-docset-management
---
## About {% data variables.product.prodname_copilot_chat %}
## About {% data variables.product.prodname_copilot_chat_dotcom %}
{% data variables.product.prodname_copilot_chat %} is a chat interface that lets you interact with {% data variables.product.prodname_copilot %}, to ask and receive answers to coding-related questions within {% data variables.product.prodname_dotcom_the_website %} and supported IDEs. The chat interface provides access to coding information and support without requiring you to navigate documentation or search online forums. In addition to {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_copilot_chat_short %} is currently supported in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and the JetBrains suite of IDEs. For more information about {% data variables.product.prodname_copilot %}, see "[AUTOTITLE](/copilot/overview-of-github-copilot/about-github-copilot-individual)" and "[AUTOTITLE](/copilot/overview-of-github-copilot/about-github-copilot-business)."
{% data variables.product.prodname_copilot_chat_dotcom %} is a chat interface that lets you interact with {% data variables.product.prodname_copilot %}, to ask and receive answers to coding-related questions within {% data variables.product.prodname_dotcom_the_website %}.
The chat interface provides access to coding information and support without requiring you to navigate documentation or search online forums.
{% note %}
**Note**: {% data variables.product.prodname_copilot_chat_short %} is also avaiable in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and the JetBrains suite of IDEs. However, features available in these IDEs differ from features available on {% data variables.product.prodname_dotcom_the_website %}.
{% endnote %}
{% data variables.product.prodname_copilot_chat %} can answer a wide range of coding-related questions on topics including syntax, programming concepts, test cases, debugging, and more. {% data variables.product.prodname_copilot_chat %} is not designed to answer non-coding questions or provide general information on topics outside of coding.
{% data variables.product.prodname_copilot_chat %} works by using a combination of natural language processing and machine learning to understand your question and provide you with an answer. This process can be broken down into a number of steps.
{% data reusables.rai.copilot.about-copilot-chat %}
{% data reusables.rai.copilot.about-copilot-dotcom-chat %}
## Next steps
For details of how to use {% data variables.product.prodname_copilot_chat %}, see:
For details of how to use {% data variables.product.prodname_copilot_chat_dotcom %}, see:
- "[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)"{% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %}
- "[AUTOTITLE](/copilot/github-copilot-chat/using-github-copilot-chat-in-your-ide)"
## Further reading

View File

@@ -5,6 +5,7 @@ versions:
feature: 'copilot-on-dotcom'
fpt: '*'
children:
- /about-github-copilot-chat
- /about-github-copilot-chat-in-githubcom
- /using-github-copilot-chat-in-githubcom
- /managing-copilot-knowledge-bases
---

View File

@@ -0,0 +1,73 @@
---
title: Managing Copilot knowledge bases
shortTitle: Managing knowledge bases
intro: 'Organization owners can create a knowledge base bringing together Markdown documentation across one or more repositories, and then organization members can use that knowledge base as context for {% data variables.product.prodname_copilot_chat_dotcom_short %}.'
versions:
feature: copilot-private-docsets
topics:
- Copilot
redirect_from:
- /copilot/github-copilot-enterprise/copilot-docset-management/creating-private-docsets
---
## About knowledge bases
Organization owners can create knowledge bases, bringing together Markdown documentation across one or more repositories. Organization members can then specify that knowledge base as the context for {% data variables.product.prodname_copilot_chat_dotcom_short %}.
When you ask a question in {% data variables.product.prodname_copilot_chat_dotcom_short %}, {% data variables.product.prodname_copilot %} will search the knowledge base for relevant information and synthesize a response. For more information on how to use knowledge bases in {% data variables.product.prodname_copilot_chat_dotcom_short %}, see "[Asking a question about a knowledge base](/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom/#asking-a-question-about-a-knowledge-base)."
## Creating a knowledge base
You can create a knowledge base from a single repository or a selection of repositories. You can create a knowledge base using public, private, and/or internal repositories.
Knowledge bases you create will be accessible by all organization members with a {% data variables.product.prodname_copilot_enterprise %} subscription. When an organization member uses a knowledge base as context in {% data variables.product.prodname_copilot_chat_dotcom_short %}, the response will only use data from repositories that the organization member has read access to.
{% data reusables.profile.access_org %}
{% data reusables.profile.org_settings %}
1. In the left sidebar, click **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}** then click **Customize**.
1. To the right of "Knowledge", click **Add knowledge base**.
1. In the "Name" field, enter a unique name for the knowledge base. Optionally, in the "Description" field, you can add a description for the knowledge base.
![Screenshot of the "Add knowledge base" page.](/assets/images/help/copilot/copilot-create-knowledge-base-page.png)
1. Under "Content", to see a full list of available repositories, click **Select repositories**.
![Screenshot of the "Select repositories" page. The "Select repositories" page is highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-select-repositories-button.png)
1. To select a repository or repositories, click the checkbox next to the repository name. When you're finished selecting repositories, click **Apply**.
![Screenshot of the "Select repositories" page.](/assets/images/help/copilot/copilot-select-repositories-page.png)
1. Optionally, you can define which paths within the selected repositories to index.
- Click **Edit file paths**.
![Screenshot of the list of selected repositories. The "Edit file paths" link is highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-select-paths-button.png)
- List the paths you want to include in the knowledge base, one path per line. When you're finished, click **Apply**.
1. Click **Create knowledge base**.
## Updating a knowledge base
Organization owners can delete a knowledge base created in their organization.
{% data reusables.profile.access_org %}
{% data reusables.profile.org_settings %}
1. In the left sidebar, click **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}** then click **Customize**.
1. To the right of the knowledge base you want to edit, click {% octicon "pencil" aria-label="The pencil symbol" %}.
1. Make your desired changes to your knowledge base.
1. Click **Update knowledge base**.
## Deleting a knowledge base
Organization owners can delete a knowledge base created in their organization.
{% data reusables.profile.access_org %}
{% data reusables.profile.org_settings %}
1. In the left sidebar, click **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}** then click **Customize**.
1. To the right of the knowledge base you want to delete, click {% octicon "trash" aria-label="The trash symbol" %}.
1. In the "Confirm deletion" dialog box, review the information and click **Delete**.

View File

@@ -1,7 +1,7 @@
---
title: Using GitHub Copilot Chat in GitHub.com
shortTitle: Using Chat in GitHub.com
intro: 'You can use {% data variables.product.prodname_copilot_chat_short %} to answer general questions about software development, or specific questions about the code in a repository.'
intro: 'You can use {% data variables.product.prodname_copilot_chat_dotcom %} to answer general questions about software development, or specific questions about the code in a repository.'
versions:
feature: 'copilot-on-dotcom'
topics:
@@ -10,14 +10,21 @@ topics:
## Overview
{% data variables.product.prodname_copilot_chat %} is a chat interface that lets you ask and receive answers to coding-related questions either on {% data variables.product.prodname_dotcom_the_website %} or within a supported IDE. For information on using {% data variables.product.prodname_copilot_chat %} in an IDE, see "[AUTOTITLE](/copilot/github-copilot-chat/using-github-copilot-chat-in-your-ide)."
{% data variables.product.prodname_copilot_chat_dotcom %} is a chat interface that lets you ask and receive answers to coding-related questions on {% data variables.product.prodname_dotcom_the_website %}.
{% data variables.product.prodname_copilot_chat_short %} can help you with a variety of coding-related tasks, like offering you code suggestions, providing natural language descriptions of a piece of code's functionality and purpose, generating unit tests for your code, and proposing fixes for bugs in your code. For more information, see "[AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)."
{% note %}
**Note**: {% data variables.product.prodname_copilot_chat_short %} is also available in selected IDEs. For information on using {% data variables.product.prodname_copilot_chat %} in an IDE, see "[AUTOTITLE](/copilot/github-copilot-chat/using-github-copilot-chat-in-your-ide)."
{% endnote %}
{% data variables.product.prodname_copilot_chat_short %} can help you with a variety of coding-related tasks, like offering you code suggestions, providing natural language descriptions of a piece of code's functionality and purpose, generating unit tests for your code, and proposing fixes for bugs in your code. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat-in-githubcom)."
On {% data variables.product.prodname_dotcom_the_website %}, you can use {% data variables.product.prodname_copilot_chat_short %} to ask:
- General software-related questions, without a particular context. For more information, see "[Asking a general question about software development](#asking-a-general-question-about-software-development)."
- Questions asked in the context of your project, or a documentation set. For more information, see "[Asking a question with a specific context](#asking-a-question-with-a-specific-context)."
- Questions asked in the context of a specific repository, file or symbol. For more information, see "[Asking a question about a specific repository, file or symbol](#asking-a-question-about-a-specific-repository-file-or-symbol)."
- Questions asked in the context of a knowledge base (that is, Markdown documentation across one or more repositories). For more information, see "[Asking a question about a knowledge base](#asking-a-question-about-a-knowledge-base)."
- Questions about a specific file or specified lines of code within a file. For more information, see "[Asking questions about specific pieces of code](#asking-questions-about-specific-pieces-of-code)."
- Questions about a pull request diff. For more information, see "[Finding out about the changes in a pull request](#finding-out-about-the-changes-in-a-pull-request)."
@@ -65,9 +72,9 @@ Depending on the question you ask, and your enterprise settings, {% data variabl
{% data reusables.copilot.chat-conversation-buttons %}
## Asking a question with a specific context
## Asking a question about a specific repository, file or symbol
You can choose a specific context for your question. This can be a particular repository, one or more files or symbols from the code, or a predefined knowledge base.
You can choose a particular repository, file or symbol, and then ask a question with that context in mind.
{% note %}
@@ -75,27 +82,24 @@ You can choose a specific context for your question. This can be a particular re
{% endnote %}
Organization owners can create organization-visible knowledge bases from repositories within their organization. Organization members can then choose one of these knowledge bases as the context for a conversation with {% data variables.product.prodname_copilot_short %}. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-docset-management/creating-private-docsets)." TODOCS: THIS WILL NEED REVISED AFTER KNOWLEDGE BASE DOCS ARE UPDATED.
{% data reusables.copilot.go-to-copilot-page %}
1. If the "Ask {% data variables.product.prodname_copilot_short %}" page is not displayed in the panel, click **All topics**.
![Screenshot of the "All topics" link at the top of the chat panel, highlighted with a dark orange outline.](/assets/images/help/copilot/chat-all-topics-button.png)
1. On the "Ask {% data variables.product.prodname_copilot_short %}" page, search for and select a repository to provide a context for your question.
1. Optionally, if you want to set particular files or symbols from the selected repository as your context, click the "Attach files or symbols" button (a paperclip icon) at the bottom of the chat panel, then search for and select one or more files and symbols.
1. On the "Ask {% data variables.product.prodname_copilot_short %}" page, select a repository to provide a context for your question.
For example, you could choose a repository whose code you want to understand better.
You can search for a repository if you don't see one you want to use.
1. Optionally, after selecting a repository, if you want to set particular files or symbols from the selected repository as your context, click the "Attach files or symbols" button (a paperclip icon) at the bottom of the chat panel, then search for and select one or more files and symbols.
![Screenshot of the "Attach files or symbols" button, highlighted with a dark orange outline.](/assets/images/help/copilot/chat-paperclip-icon.png)
1. Optionally, if you want to use a knowledge base as the context for your question, click the "Attach knowledge" button (a book icon) at the bottom of the chat panel, then choose a knowledge base.
![Screenshot of the "Attach knowledge" icon, highlighted with a dark orange outline.](/assets/images/help/copilot/chat-book-icon.png)
Selecting a knowledge base replaces the existing repository context and any attachments.
1. In the "Ask {% data variables.product.prodname_copilot_short %}" box, type a question and press <kbd>Enter</kbd>.
For example, if you chose the repository you are working in as the context, you could ask:
For example, you could ask:
- What is the main purpose of this repo? What problem does it solve or what functionality does it provide?
- What web frameworks are used in this project?
@@ -115,20 +119,54 @@ Organization owners can create organization-visible knowledge bases from reposit
{% endnote %}
If you chose a knowledge base as the context - for example, a knowledge base relating to Azure - you could ask:
- What advantages does Azure have over other types of cloud storage?
- How do I block Azure from accessing locations on my network?
- How can I reduce the cost of a hosted website?
- How do I enable MFA?
1. The response typically contains numbered references to files that {% data variables.product.prodname_copilot_short %} used to generate the answer, from the repository or knowledge base you selected. To list the sources that were used, click **NUMBER references**.
1. The response typically contains numbered references to files that {% data variables.product.prodname_copilot_short %} used to generate the answer, from the repository you selected. To list the sources that were used, click **NUMBER references**.
![Screenshot showing an expanded list of source references.](/assets/images/help/copilot/chat-sources-list.png)
1. To display a source reference in a popup, click its entry in the list.
Alternatively, to navigate to the file, click the ellipsis (**...**), then select **Open**.
Alternatively, to open the complete file, click the ellipsis (**...**), then select **Open**.
{% data reusables.copilot.chat-conversation-buttons %}
## Asking a question about a knowledge base
Organization owners can create knowledge bases, grouping together Markdown documentation across one or more repositories. You can use a knowledge base to ask questions with that context in mind.
When you enter a query, {% data variables.product.prodname_copilot_short %} searches for relevant documentation snippets, synthesizes a summary of the relevant snippets to answer your question, and provides links to the source documentation for additional context.
{% data reusables.copilot.go-to-copilot-page %}
1. Start a conversation with {% data variables.product.prodname_copilot_short %} by either selecting a repository or clicking **General purpose chat**.
1. Click the "Attach knowledge" button (a book icon) at the bottom of the chat panel, to view a list of the knowledge bases that you have access to.
![Screenshot of the "Attach knowledge" icon, highlighted with a dark orange outline.](/assets/images/help/copilot/chat-book-icon.png)
1. Click the knowledge base that you want to use as context.
For example, you could choose a knowledge base containing your organization's internal developer documentation.
You can search for a knowledge base if you don't see one you want to use.
![Screenshot showing the "Attach knowledge" popover with a list of knowledge bases.](/assets/images/help/copilot/attach-knowledge-popover.png)
1. At the bottom of the page, in the "Ask {% data variables.product.prodname_copilot_short %}" box, type a question and press <kbd>Enter</kbd>.
For example, if you chose a knowledge base with your organization's internal developer documentation, you could ask:
- How do I deploy a new application?
- What's the process for creating a new REST API?
- What are our best practices for logging?
1. The response will typically contain numbered references to files that {% data variables.product.prodname_copilot_short %} uses to generate the answer, from the knowledge base you selected. To list the sources that were used, click **NUMBER references**.
![Screenshot showing an expanded list of source references.](/assets/images/help/copilot/chat-sources-list.png)
1. To display information about a source reference, click its entry in the list.
Alternatively, to open the complete file, click the ellipsis (**...**), then select **Open**.
1. Within a conversation thread, you can ask follow-up questions. Follow-up questions will continue to use the selected knowledge base as context until you explicitly detatch the knowledge base or select a different one.
{% data reusables.copilot.chat-conversation-buttons %}

View File

@@ -1,73 +0,0 @@
---
title: About Copilot docset management
shortTitle: About docset management
intro: '{% data variables.product.prodname_copilot_for_docs %} can help you by providing a chat-based interface between you and specific docsets. You can ask questions within the scope of a given docset, and receive answers in synthesized summaries.'
product: '{% data reusables.gated-features.copilot-enterprise-beta %}'
versions:
ghec: '*'
fpt: '*'
---
## About {% data variables.product.prodname_copilot_for_docs %}
{% data variables.product.prodname_copilot_for_docs %} provides a chat-like interface to technical documentation stored in {% data variables.product.prodname_dotcom %} repositories. {% data variables.product.prodname_copilot_for_docs %} creates an index of a project's documentation. When you enter a query, {% data variables.product.prodname_copilot_short %} searches for relevant documentation snippets, synthesizes a summary of the relevant snippets to answer your question, and provides links to the source documentation for additional context.
{% data variables.product.prodname_copilot_for_docs %} uses a combination of natural language processing and machine learning to parse your question and provide you with an answer from the projects technical documentation. This process can be broken down into a number of steps.
### Input processing
The input prompt from the user is processed by {% data variables.product.prodname_copilot_short %} and sent to a large language model to get a response based on the context and prompt. User input mostly takes the form of natural language prompts or questions, but it could also be code snippets.
### Language model analysis
The prompt is then passed through Azure's GPT LLM, which is a neural network that has been trained on a large body of text data. The language model analyzes the input prompt and compares it to text data, which is available from {% data variables.product.prodname_dotcom %} repositories containing a projects documentation, based on embeddings that are pre-generated for indexed repositories.
### Response generation
The language model generates a response based on its analysis of the input prompt and comparison to existing repository embeddings. This response will take the form of a summary of the relevant information and links to the source documentation for further context.
### Output formatting
The response generated by {% data variables.product.prodname_copilot_for_docs %} is formatted and presented to the user. {% data variables.product.prodname_copilot_for_docs %} may use syntax highlighting, indentation, and other formatting features to add clarity to the generated response. It will also provide you with direct links to the source contents.
{% data variables.product.prodname_copilot_for_docs %} is intended to provide you with the most relevant answer to your question. However, it may not always provide the answer you are looking for. Users of {% data variables.product.prodname_copilot_for_docs %} are responsible for reviewing and validating responses generated by the system to ensure they are accurate and appropriate. We encourage you to check the projects technical documentation cited in the response to confirm the suitability of the AI-generated response. {% data variables.product.prodname_copilot_for_docs %} is also designed to learn from your feedback and improve over time.
## Use case for {% data variables.product.prodname_copilot_for_docs %}
{% data variables.product.prodname_copilot_for_docs %} can help you find the answers you are looking for and present them to you succinctly. For example, {% data variables.product.prodname_copilot_for_docs %} can answer specific questions about using a particular library or framework, so that you dont have to search the whole docset. {% data variables.product.prodname_copilot_for_docs %} will also reference existing documentation related to your questions so that you can find additional, contextual information.
{% data variables.product.prodname_copilot_for_docs %} is only intended to answer questions within the scope of a projects existing documentation set.
## Improving performance of {% data variables.product.prodname_copilot_for_docs %}
### Use {% data variables.product.prodname_copilot_for_docs %} as a tool, not a replacement
While {% data variables.product.prodname_copilot_for_docs %} can be a powerful tool for answering specific questions about a project, you should always take advantage of the links to source material provided to validate the answer provided.
### Provide feedback
We are currently in a beta phase with this product. If you encounter any issues or limitations with {% data variables.product.prodname_copilot_for_docs %}, we recommend that you provide feedback through the share feedback buttons at the bottom of each {% data variables.product.prodname_copilot_for_docs %} response within the chat interface in your browser. This can help the developers improve the tool and address any concerns or limitations.
### Limitations of {% data variables.product.prodname_copilot_for_docs %}
Depending on factors such as your input question and the available project technical documentation, you may experience different levels of performance when using {% data variables.product.prodname_copilot_for_docs %}. The following information is designed to help you understand system limitations and key concepts about performance as they apply to {% data variables.product.prodname_copilot_for_docs %}. {% data variables.product.prodname_copilot_for_docs %} has been subject to RAI Red Teaming, and we will continue to monitor the efficacy and safety of the feature over time.
### Limited scope
{% data variables.product.prodname_copilot_for_docs %} is only suitable for asking questions that are answerable across a projects existing technical documentation. It should not be used for general chat. The quality of responses will also be impacted by the way a question is asked and any variables you set on the user interface.
### Potential biases and errors
{% data variables.product.prodname_copilot_for_docs %} data draws from existing project technical documentation, which may contain biases and errors of individuals who created the documentation, that can be perpetuated by the tool.
### Inaccurate responses
One of the limitations of {% data variables.product.prodname_copilot_for_docs %} is that it may generate a response that appears to be valid but may not actually be semantically or syntactically correct or may not answer your question. To mitigate the impact of an inaccurate response, you should review the source documents referenced in the response when dealing with critical or sensitive applications. You should also ensure that any generated code blocks adhere to best practices and design patterns and fit within the overall architecture and style of your project.
### Inaccurate responses
{% data variables.product.prodname_copilot_for_docs %} is not designed to answer questions beyond the scope of the existing project technical documentation. If a user asks {% data variables.product.prodname_copilot_for_docs %} a question that cannot be answered by existing project technical documentation, it may generate an answer that is irrelevant or nonsensical, or it may simply indicate that it is unable to provide a useful response.
### Differing performance based on natural language
{% data variables.product.prodname_copilot_for_docs %} has been trained on natural language content written predominantly in English. As a result, you may notice differing performance when providing {% data variables.product.prodname_copilot_for_docs %} with natural language input prompts in languages other than English.

View File

@@ -1,62 +0,0 @@
---
title: Creating private docsets
shortTitle: Creating private docsets
intro: 'You can generate a private docset from a repository in your organization and then set it as the context for {% data variables.product.prodname_copilot_chat_dotcom_short %}.'
versions:
feature: copilot-private-docsets
topics:
- Copilot
product: '{% data reusables.gated-features.copilot-enterprise-beta %}'
---
## About creating private docsets
Organization owners can create and index a private docset from a repository in their organization. Organization members can then specify that docset as the context for {% data variables.product.prodname_copilot_chat_dotcom_short %}. When you ask a question in {% data variables.product.prodname_copilot_chat_dotcom_short %}, {% data variables.product.prodname_copilot %} will search the docset for relevant information and synthesize a response. For more information on how to use {% data variables.product.prodname_copilot_chat_dotcom_short %}, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github)."
To learn more about {% data variables.product.prodname_copilot_for_docs %} and how to use the feature most effectively, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-docset-management/about-copilot-docset-management)."
## Creating a private docset
You can create a private docset from a single repository or a selection of repositories in your organization. You can create a docset from public, private, or internal repositories. Organization users will only have access to results from repositories they have read access to.
{% data reusables.copilot.click-copilot-icon %}
{% data reusables.copilot.copilot-immersive-mode %}
1. At the bottom of the "Chat with {% data variables.product.prodname_copilot_short %}" page, click **Create a new docset**.
![Screenshot of the "Create a new docset" button at the bottom of the "Chat with Copilot" page. The button is highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-create-docset-button.png)
1. In the "Owner" dropdown menu, select the organization that owns the repository or repositories you want to index, and in the "Docset name" field, enter a unique name for the docset. Optionally, in the "Description" field, you can add a description for the docset.
![Screenshot of the "Create a new docset" page. The "Owner" dropdown menu and "Docset name" field are highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-create-docset-page.png)
1. Under "Docset scope", to see a full list of available repositories, click **Select repositories**.
![Screenshot of the "Select repositories" page. The "Select repositories" page is highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-select-repositories-button.png)
1. To select a repository or repositories, click the checkbox next to the repository name. When you're finished selecting repositories, click **Apply**.
![Screenshot of the "Select repositories" page.](/assets/images/help/copilot/copilot-select-repositories-page.png)
1. Optionally, you can define which paths within the selected repositories to index.
- Click **Edit file paths**.
![Screenshot of the list of selected repositories. The "Edit file paths" link is highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-select-paths-button.png)
- List the paths you want to include in the docset, one path per line. When you're finished, click **Apply**.
1. Click **Save**.
## Deleting a private docset
Organization owners can delete a docset created from a repository in their organization.
{% data reusables.copilot.click-copilot-icon %}
{% data reusables.copilot.copilot-immersive-mode %}
1. On the "Chat with {% data variables.product.prodname_copilot_short %}" page, select the docset you want to delete.
1. In the top right corner of the docset, click {% octicon "trash" aria-label="The trash symbol" %}.
1. Review the information in the "Confirm deletion" dialog box, and click **Delete docset**.
## Searching private docsets
You can use {% data variables.product.prodname_copilot_chat_dotcom_short %} to search private docsets created from repositories in your organization. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom#asking-a-question-with-a-specific-context)."

View File

@@ -1,12 +0,0 @@
---
title: Copilot docset management
shortTitle: Copilot docset management
intro: "With {% data variables.product.prodname_copilot_short %} docset management, you can create private docsets from repositories in your organization. Members of your organization can then set your organization's private docsets as the context for {% data variables.product.prodname_copilot_chat_dotcom_short %}."
topics:
- Copilot
versions:
feature: copilot
children:
- /about-copilot-docset-management
- /creating-private-docsets
---

View File

@@ -10,5 +10,4 @@ children:
- /overview
- /copilot-chat-in-github
- /copilot-pull-request-summaries
- /copilot-docset-management
---

View File

@@ -14,7 +14,7 @@ topics:
If {% data variables.product.prodname_copilot_enterprise_short %} is enabled for an enterprise, members get access to the following {% data variables.product.prodname_copilot_short %} features on {% data variables.product.prodname_dotcom_the_website %}.
- {% data variables.product.prodname_copilot_chat_short %} (see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat)")
- {% data variables.product.prodname_copilot_chat_short %} (see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat-in-githubcom)")
- {% data variables.product.prodname_copilot_for_prs %} (see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-pull-request-summaries/about-copilot-pull-request-summaries)")
- {% data variables.product.prodname_copilot_for_docs %} (see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-docset-management/about-copilot-docset-management)")

View File

@@ -1,11 +1,7 @@
### {% data variables.product.prodname_copilot_chat %} in {% data variables.product.prodname_dotcom_the_website %}
{% data variables.product.prodname_copilot_chat %} in {% data variables.product.prodname_dotcom_the_website %} is a chat interface that lets you ask and receive answers to coding-related questions within {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat)."
{% data variables.product.prodname_copilot_chat %} in {% data variables.product.prodname_dotcom_the_website %} is a chat interface that lets you ask and receive answers to coding-related questions within {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat-in-githubcom)."
### {% data variables.product.prodname_copilot_for_prs %}
{% data variables.product.prodname_copilot_for_prs %} is an AI-powered feature that allows you to create a summary of the changes that were made in a pull request, which files they impact, and what a reviewer should focus on when they conduct their review. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-pull-request-summaries/about-copilot-pull-request-summaries)."
### {% data variables.product.prodname_copilot_for_docs %}
{% data variables.product.prodname_copilot_for_docs %} provides a chat-like interface to knowledge bases stored in {% data variables.product.prodname_dotcom %} repositories. For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/copilot-docset-management/about-copilot-docset-management)."

View File

@@ -1 +0,0 @@
This feature is part of the {% data variables.product.prodname_copilot_enterprise %} beta. Functionality and documentation are subject to change. You can nominate an organization or enterprise for the beta using the [{% data variables.product.prodname_copilot_enterprise %} waitlist form](https://github.com/github-copilot/copilot_enterprise_waitlist_signup/join). For more information, see "[AUTOTITLE](/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise)."

View File

@@ -0,0 +1,95 @@
### Input processing
The input prompt from the user is pre-processed by the {% data variables.product.prodname_copilot_chat_short %} system and sent to a large language model to get a response based on the context and prompt. User input can take the form of code snippets or plain language. The system is only intended to respond to coding-related questions.
### Language model analysis
The pre-processed prompt is then passed through the {% data variables.product.prodname_copilot_chat_short %} language model, which is a neural network that has been trained on a large body of text data. The language model analyzes the input prompt.
### Response generation
The language model generates a response based on its analysis of the input prompt and the context provided to it. This response can take the form of generated code, code suggestions, or explanations of existing code.
### Output formatting
The response generated by {% data variables.product.prodname_copilot_chat_short %} is formatted and presented to the user. {% data variables.product.prodname_copilot_chat_short %} may use syntax highlighting, indentation, and other formatting features to add clarity to the generated response. Depending upon the type of question from the user, links to context that the model used when generating a response, such as source code files or documentation, may also be provided.
{% data variables.product.prodname_copilot_chat_short %} is intended to provide you with the most relevant answer to your question. However, it may not always provide the answer you are looking for. Users of {% data variables.product.prodname_copilot_chat_short %} are responsible for reviewing and validating responses generated by the system to ensure they are accurate and appropriate. {% data variables.product.prodname_copilot_chat_short %} is also designed to learn from your feedback and improve over time. For more information on improving the performance of {% data variables.product.prodname_copilot_chat_short %}, see "[Improving performance for {% data variables.product.prodname_copilot_chat_short %}](#improving-performance-for-copilot-chat)."
## Use cases for {% data variables.product.prodname_copilot_chat_short %}
{% data variables.product.prodname_copilot_chat_short %} can provide coding assistance in a variety of scenarios.
### Answering coding questions
You can ask {% data variables.product.prodname_copilot_chat_short %} for help or clarification on specific coding problems and receive responses in natural language format or in code snippet format.
The response generated by {% data variables.product.prodname_copilot_chat_short %} may use the model's training data set, code in your repositories and Markdown documentation in your knowledge bases to answer your questions.
This can be a useful tool for programmers, as it can provide guidance and support for common coding tasks and challenges.
### Explaining code and suggesting improvements
{% data variables.product.prodname_copilot_chat_short %} can help explain selected code by generating natural language descriptions of the code's functionality and purpose. This can be useful if you want to understand the code's behavior or for non-technical stakeholders who need to understand how the code works. For example, if you select a function or code block in the code editor, {% data variables.product.prodname_copilot_chat_short %} can generate a natural language description of what the code does and how it fits into the overall system. This can include information such as the function's input and output parameters, its dependencies, and its purpose in the larger application.
{% data variables.product.prodname_copilot_chat_short %} can also suggest potential improvements to selected code, such as improved handling of errors and edge cases, or changes to the logical flow to make the code more readable.
By generating explanations and suggesting related documentation, {% data variables.product.prodname_copilot_chat_short %} may help you to understand the selected code, leading to improved collaboration and more effective software development. However, it's important to note that the generated explanations and documentation may not always be accurate or complete, so you'll need to review, and occasionally correct, {% data variables.product.prodname_copilot_chat_short %}'s output.
### Proposing code fixes
{% data variables.product.prodname_copilot_chat_short %} can propose a fix for bugs in your code by suggesting code snippets and solutions based on the context of the error or issue. This can be useful if you are struggling to identify the root cause of a bug or you need guidance on the best way to fix it. For example, if your code produces an error message or warning, {% data variables.product.prodname_copilot_chat_short %} can suggest possible fixes based on the error message, the code's syntax, and the surrounding code.
{% data variables.product.prodname_copilot_chat_short %} can suggest changes to variables, control structures, or function calls that might resolve the issue and generate code snippets that can be incorporated into the codebase. However, it's important to note that the suggested fixes may not always be optimal or complete, so you'll need to review and test the suggestions.
## Improving performance for {% data variables.product.prodname_copilot_chat_short %}
{% data variables.product.prodname_copilot_chat_short %} can support a wide range of practical applications like Q&A, code generation, code analysis, and code fixes, each with different performance metrics and mitigation strategies. To enhance performance and address some of the the limitations of {% data variables.product.prodname_copilot_chat_short %}, there are various measures that you can adopt. For more information on the limitations of {% data variables.product.prodname_copilot_chat_short %}, see "[Limitations of {% data variables.product.prodname_copilot_chat %}](#limitations-of-github-copilot-chat)."
### Keep your prompts on topic
{% data variables.product.prodname_copilot_chat_short %} is intended to address queries related to coding exclusively. Therefore, limiting the prompt to coding questions or tasks can enhance the model's output quality.
### Use {% data variables.product.prodname_copilot_chat_short %} as a tool, not a replacement
While {% data variables.product.prodname_copilot_chat_short %} can be a powerful tool for generating code, it is important to use it as a tool rather than a replacement for human programming. You should always review and test the code generated by {% data variables.product.prodname_copilot_chat_short %} to ensure that it meets your requirements and is free of errors or security concerns.
### Use secure coding and code review practices
While {% data variables.product.prodname_copilot_chat_short %} can generate syntactically correct code, it may not always be secure. You should always follow best practices for secure coding, such as avoiding hard-coded passwords or SQL injection vulnerabilities, as well as following code review best practices, to address {% data variables.product.prodname_copilot_chat_short %}'s limitations.
### Provide feedback
If you encounter any issues or limitations with {% data variables.product.prodname_copilot_chat_short %}, we recommend that you provide feedback through the **share feedback** link in the {% data variables.product.prodname_copilot_chat_short %} interface. This can help the developers to improve the tool and address any concerns or limitations.
### Stay up to date
{% data variables.product.prodname_copilot_chat_short %} is a new technology and is likely to evolve over time For {% data variables.product.prodname_copilot_chat_dotcom %} you will always have access to the latest product experience. You should stay up to date with any new security risks or best practices that may emerge.
## Limitations of {% data variables.product.prodname_copilot_chat %}
Depending on factors such as your codebase and input data, you may experience different levels of performance when using {% data variables.product.prodname_copilot_chat_short %}. The following information is designed to help you understand system limitations and key concepts about performance as they apply to {% data variables.product.prodname_copilot_chat_short %}.
### Limited scope
{% data variables.product.prodname_copilot_chat_short %} has been trained on a large body of code but still has a limited scope and may not be able to handle more complex code structures or obscure programming languages. For each language, the quality of suggestions you receive may depend on the volume and diversity of training data for that language. For example, JavaScript is well-represented in public repositories and is one of {% data variables.product.prodname_copilot %}'s best supported languages. Languages with less representation in public repositories may be more challenging for {% data variables.product.prodname_copilot_chat_short %} to provide assistance with. Additionally, {% data variables.product.prodname_copilot_chat_short %} can only suggest code based on the context of the code being written, so it may not be able to identify larger design or architectural issues.
### Potential biases
{% data variables.product.prodname_copilot_short %}'s training data is drawn from existing code repositories, which may contain biases and errors that can be perpetuated by the tool. Additionally, {% data variables.product.prodname_copilot_chat_short %} may be biased towards certain programming languages or coding styles, which can lead to suboptimal or incomplete code suggestions.
### Security risks
{% data variables.product.prodname_copilot_chat_short %} generates code based on the context of the code being written, which can potentially expose sensitive information or vulnerabilities if not used carefully. You should be careful when using {% data variables.product.prodname_copilot_chat_short %} to generate code for security-sensitive applications and always review and test the generated code thoroughly.
### Matches with public code
{% data variables.product.prodname_copilot_chat_short %} is capable of generating new code, which it does in a probabilistic way. While the probability that it may produce code that matches code in the training set is low, a {% data variables.product.prodname_copilot_chat_short %} suggestion may contain some code snippets that match code in the training set. {% data variables.product.prodname_copilot_chat_short %} utilizes filters that block matches with public code on {% data variables.product.prodname_dotcom %} repositories, but you should always take the same precautions as you would with any code you write that uses material you did not independently originate, including precautions to ensure its suitability. These include rigorous testing, IP scanning, and checking for security vulnerabilities.
### Inaccurate code
One of the limitations of {% data variables.product.prodname_copilot_chat_short %} is that it may generate code that appears to be valid but may not actually be semantically or syntactically correct or may not accurately reflect the intent of the developer. To mitigate the risk of inaccurate code, you should carefully review and test the generated code, particularly when dealing with critical or sensitive applications. You should also ensure that the generated code adheres to best practices and design patterns and fits within the overall architecture and style of the codebase.
### Inaccurate responses to non-coding topics
{% data variables.product.prodname_copilot_chat_short %} is not designed to answer non-coding questions, and therefore its responses may not always be accurate or helpful in these contexts. If a user asks {% data variables.product.prodname_copilot_chat_short %} a non-coding question, it may generate an answer that is irrelevant or nonsensical, or it may simply indicate that it is unable to provide a useful response.