OpenBB Copilot
OpenBB copilot is your companion to interact with the OpenBB Terminal.
Introduction
To open OpenBB Copilot, click on the purple icon located at the center right of the Terminal screen.
Under most circumstances, you can treat OpenBB Copilot like your very own personal research assistant. OpenBB Copilot has access to the widgets on your dashboard, the OpenBB API and any custom endpoints you have added, as well as your uploaded files. Using all of these sources, OpenBB Copilot can assist you in performing a wide variety of tasks.
We'll be exploring each of these features in the following sections below.
How chats work
OpenBB Copilot is a chat-based assistant that uses the conversation history to help answer your queries. This allows you to ask follow-up questions or guide OpenBB Copilot while performing tasks.
For example, if you ask about the price-to-earnings (P/E) ratio, and then follow up by asking about other important financial ratios, OpenBB Copilot will remember the context and suggest relevant ratios:
If you'd like to clear the history of the current conversation, you can do so by clicking on the trashcan icon in the OpenBB Copilot chatbox in the upper right corner. It is usually a good idea to clear the chat history when you have a new question that is unrelated to your current conversation.
General question answering
OpenBB Copilot is capable of answering general financial questions and answers. For example, you can ask Copilot things like:
- "What's the difference between stocks and bonds?"
- "Explain inflation."
- "Can you explain the concept of dollar-cost averaging?"
For general financial questions, OpenBB Copilot will rely on its underlying model's extensive training data to formulate answers. We encourage users to explore this functionality with in-depth and varied questions.
Interacting with Data using OpenBB Copilot
Adding widgets explicitly as context
Sometimes, you might want OpenBB Copilot to analyze only specific widgets on your dashboard. For example, if you want to deep dive into an earnings transcript without considering other data, you can do that.
To focus on certain widgets, click the "Add widgets as context" button on the widgets you want OpenBB Copilot to use. Once selected, OpenBB Copilot will only access data from those widgets, ignoring all others. This allows you to carry out a more targeted analysis while using OpenBB Copilot.
Automatically using data from the dashboard
OpenBB Copilot is incredibly powerful, as it can access information from all widgets on your current dashboards, the OpenBB API, and your uploaded data. It will begin by scanning your dashboard for relevant information based on your queries. If one is not found, it will move on to the other available sources listed above.
For example, if you ask for a summary of the latest news about Apple, OpenBB Copilot will retrieve the Company News widget data on your dashboard (provided the widget has been added to the dashboard) to provide an answer.
Since OpenBB Copilot can access data from any widget in the active dashboard, we encourage users to experiment with adding different kinds of widgets and experimenting with various queries.
For example, OpenBB Copilot is particularly effective at summarizing earnings call transcripts from the "Earnings Transcripts" widget.
Using your own files
OpenBB Copilot can also analyze and answer questions using files you provide, such as PDF, CSV, and XLSX files.
To add a file to OpenBB Copilot, first add it to the currently-active dashboard or click the paper clip icon.
Once the file widget has been added to your dashboard, you can add it to OpenBB Copilot explicitly by clicking the "add widget to context" button, or you can simply begin querying, and OpenBB Copilot will retrieve the data if it is relevant to your query.
If OpenBB Copilot uses your file widget to answer any part of you query, it will show citations after its answer.
When uploading files directly to OpenBB Copilot, we use filenames to determine if a file is relevant to your query. For best results, use descriptive filenames.
For example, if you have a technical report from Tesla released in 2024, a good filename would be tsla_technical_report_2024.pdf
.
Adding custom data sources
The custom data can either be your own files, API endpoints, custom backends or databases.
See Input Data for more details.
Automatically using data sources available to Terminal
As mentioned earlier, OpenBB Copilot can also access external data sources to provide additional insights. This allows you to ask questions that go beyond the data displayed on your dashboard.
External data can either be the OpenBB API or your own custom endpoints.
Querying the OpenBB API
For example, you can ask OpenBB Copilot to fetch the latest stock price for a specific company, or to provide a summary of the latest news for a particular stock without having to add a widget to your dashboard.
To query a custom endpoint, please explore the Custom Backend documentation.
Searching the Web
The OpenBB Copilot has the ability to search the web for information that is not available in the data sources it has access to. This allows you to ask questions that go beyond the data displayed on your dashboard.
To search the web, the user needs to be explicit in their query by adding the @web
keyword in the query.
Citations, Status Updates, and Artifacts
When querying OpenBB Copilot, it is important to understand which data OpenBB Copilot used to answer your query. As a result, OpenBB Copilot will always cite the data source it referenced when responding to your query.
We go one step further by providing live status updates which notify the user on actions taken by the OpenBB Copilot. For example, if the OpenBB Copilot is querying your uploaded data, it will provide a status update saying "Querying user files".
Artifacts
A special kind of status update is the result artifact which has the final data used to answer the query. It either be a text or a table. The contents of the artifact are produced by the reasoning of the OpenBB Copilot.
To ensure transparency and extend the analysis, OpenBB Copilot will also return intermediate result artifacts that were used as reasoning steps to arrive to the final artifact and thus the answer.
Creating widgets from OpenBB Copilot responses
Each time OpenBB Copilot generates a response, it will have a "Create widget from text" or "Create widget from table" button. Clicking this button will create a new widget on your dashboard based on the response.
Prompting guidelines
The OpenBB Copilot is designed to assist you in your research and analysis. To get the most out of OpenBB Copilot, it is important to have a good understanding of prompting techniques.
We recommend reading through the OpenAI Prompt Engineering Guide to learn more about how to structure your prompts to get the best results.