Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions source/copilot-docs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
.. _vsce-copilot-docs:

==============
/docs Command
==============

.. default-domain:: mongodb

.. contents:: On this page
:local:
:backlinks: none
:depth: 1
:class: singlecol

The ``/docs`` command provides MongoDB specific information to users,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Suggestion]

I think "MongoDB specific" should be hyphenated:

Suggested change
The ``/docs`` command provides MongoDB specific information to users,
The ``/docs`` command provides MongoDB-specific information to users,

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Question]

Do we need to say "to users"? If we omit, this is more minimal and I think becomes slightly clearer that we're talking to the reader.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Omitted!

supplemented by links to MongoDB Documentation. The |copilot| is

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we change the second sentence to something like:

For the docs command, the underlying model of the MongoDB Copilot Extension leverages Retrieval-Augmented Generation (RAG) to ensure responses are based on the latest version of MongoDB Documentation.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

knowledgeable of the latest MongoDB Documentation and uses the
MongoDB Docs Chatbot API to link users to information in addition to
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Nit]

Similar to my previous comment, the use of "users" here feels a little strange to me, since our docs are typically written in the second person. Maybe we can drop "users" here as well?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

the textual response.
Copy link
Collaborator

@jeff-allen-mongo jeff-allen-mongo Oct 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion:

Suggested change
the textual response.
the text response.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!


Example

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to add a second example here where the docs command recommends a DDP product like vector search or search in the context of "how do I improve the searching speed for query" and it responds with search/vector search recommendation? For vector search we might have to ask something like 'semantic search' in the prompt. This way users know that it can also be leveraged for performance-related questions.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a second example that recommends Atlas Vector Search!

~~~~~~~
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Nit]

Since this is an h1 heading, let's use dash underlines -

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!


Consider the following prompt that asks for information on creating an
index in the GitHub Copilot chat:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Nit, minimalism]

Suggested change
Consider the following prompt that asks for information on creating an
index in the GitHub Copilot chat:
The following prompt asks for information on creating an
index in the GitHub Copilot chat:

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!


.. code-block:: javascript
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To avoid the weird syntax highlighting in the code blocks, maybe try .. code-block:: none here. Same comment applies to the response code-block further down.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this suggestion! I also updated the /query page to use the none type to avoid the weird syntax highlighting

:copyable: false

@MongoDB /docs how do I create an index?

The chat first provides the following MongoDB documentation:

- `Create an Index <https://www.mongodb.com/docs/manual/core/indexes/create-index/>`__
- `createIndexes <https://mongodb.com/docs/manual/reference/command/createIndexes/>`__
- `Getting Started with MongoDB and Java - CRUD Operations Tutorial <https://www.mongodb.com/developer/languages/java/java-setup-crud-operations>`__
- `db.collection.createIndex() <https://mongodb.com/docs/manual/reference/method/db.collection.createIndex/>`__

The |copilot| also returns a textual response with information about
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Minor]

To be consistent with the previous patch, let's maybe also edit to "text response" here.

Suggested change
The |copilot| also returns a textual response with information about
The |copilot| also returns a text response with information about

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

creating an index:

.. code-block:: javascript
:copyable: false

To create an index in MongoDB, you can use the createIndex() method
in the MongoDB Shell or the equivalent method for your specific
driver. Here are examples for different programming languages:

MongoDB Shell

db.collection.createIndex({ <key and index type specification> }, { <options> })

C#

collection.CreateIndex(IndexKeys<collection>.<key and index type
specification>, <options>);

...

Indexes support efficient execution of queries in MongoDB. If your
application is repeatedly running queries on the same fields,
creating an index on those fields can significantly improve
performance. However, keep in mind that while indexes improve query

Check failure on line 63 in source/copilot-docs.txt

View workflow job for this annotation

GitHub Actions / TDBX Vale rules

[vale] reported by reviewdog 🐶 [MongoDB.ConciseTerms] 'remember' is preferred over 'keep in mind'. Raw Output: {"message": "[MongoDB.ConciseTerms] 'remember' is preferred over 'keep in mind'.", "location": {"path": "source/copilot-docs.txt", "range": {"start": {"line": 63, "column": 26}}}, "severity": "ERROR"}
performance, they can negatively impact write operations due to the
additional overhead of maintaining the index.

Check failure on line 65 in source/copilot-docs.txt

View workflow job for this annotation

GitHub Actions / TDBX Vale rules

[vale] reported by reviewdog 🐶 [MongoDB.ConciseTerms] 'more' is preferred over 'additional'. Raw Output: {"message": "[MongoDB.ConciseTerms] 'more' is preferred over 'additional'.", "location": {"path": "source/copilot-docs.txt", "range": {"start": {"line": 65, "column": 4}}}, "severity": "ERROR"}

.. figure:: /images/copilot-docs.png
:figwidth: 700px
:alt: Screenshot of copilot providing information on creating an index
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure we need the screenshot here, if it's just showing what we've described above?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll check in with Garaub about this one - he originally asked for screenshots on the /query page to illustrate the UI

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good - happy to leave in if it's a PM request :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GaurabAryal do you have preference here?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah i think since this is such a new product, it is better to have the visuals in the docs. Let's keep it for now.

7 changes: 7 additions & 0 deletions source/copilot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,17 @@ Commands
The ``/query`` command assists in generating queries from a natural
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bit above this, in the paragraph before, we have written:

Through GitHub Copilot's chat feature, users with |vsce| can interact
with their MongoDB clusters and generate code with MongoDB
domain-specific knowledge on top of GitHub Copilot's LLM.

Should we add something about the MongoDB documentation chatbot there as well?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the sake of simplicity, I would recommend only mentioning the documentation chatbot on the /docs page

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did add a mention of learning about MongoDB in this section (referring to the /docs command)

language against a connected MongoDB cluster.

:ref:`/docs <vsce-copilot-docs>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ``/docs`` command provides links to MongoDB documentation to
supplement generated information.

.. toctree::
:titlesonly:

/query </copilot-query>
/docs </copilot-docs>
AI & Data Usage </ai-data-usage>


Binary file added source/images/copilot-docs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading