About Copilot docset management
Copilot docset management provides a chat-like interface to technical documentation stored in GitHub repositories. Copilot docset management creates an index of a project's documentation. When you enter a query, Copilot 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.
Copilot docset management uses a combination of natural language processing and machine learning to parse your question and provide you with an answer from the project’s technical documentation. This process can be broken down into a number of steps.
Input processing
The input prompt from the user is processed by Copilot 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/questions, but 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 GitHub repositories containing a project’s documentation, based on embeddings which 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 Copilot docset management is formatted and presented to the user. Copilot docset management 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.
Copilot docset management 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 Copilot docset management are responsible for reviewing and validating responses generated by the system to ensure they are accurate and appropriate. We encourage you to check the project’s technical documentation cited in the response to confirm the suitability of the AI-generated response. Copilot docset management is also designed to learn from your feedback and improve over time.
Use case for Copilot docset management
Copilot docset management can help you find the answers you are looking for, and present them to you succinctly. For example, Copilot docset management can answer specific questions about using a particular library or framework, so that you don’t have to search the whole docset. Copilot docset management will also reference existing documentation related to your questions, so that you can find additional, contextual information.
Copilot docset management is only intended to answer questions within the scope of a project’s existing documentation set.
Improving performance of Copilot docset management
Use Copilot docset management as a tool, not a replacement
While Copilot docset management 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 Copilot docset management, we recommend that you provide feedback through the share feedback buttons at the bottom of each Copilot docset management response within the chat interface in your browser. This can help the developers to improve the tool and address any concerns or limitations.
Limitations of Copilot docset management
Depending on factors such as your input question and the available project technical documentation, you may experience different levels of performance when using Copilot docset management. The following information is designed to help you understand system limitations and key concepts about performance as they apply to Copilot docset management. Copilot docset management has been subject to RAI Red Teaming and we will continue to monitor the efficacy and safety of the feature over time.
Limited scope
Copilot docset management is only suitable for asking questions that are answerable across a project’s 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
Copilot docset management 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 Copilot docset management 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
Copilot docset management is not designed to answer questions beyond the scope of the existing project technical documentation. If a user asks Copilot docset management 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
Copilot docset management has been trained on natural language content written predominantly in English. As a result, you may notice differing performance when providing Copilot docset management with natural language input prompts in languages other than English.