Gold Retriever: Let ChatGPT talk to your data

With Gold Retriever, you can easily enable ChatGPT to store, retrieve, and reason with your data in just a few steps

Cartoon of a cheerful golden retriever wearing a construction helmet on an orange, technology-themed background

In the realm of AI, language models like ChatGPT have revolutionized how we interact with machines. However, as efficient as these models are, they encounter certain limitations. One key hurdle is their inability to seamlessly integrate and reason with new, personalized, or up-to-date data, which is often critical for users.

Out-of-date data

Language models have a knowledge cut-off, beyond which they aren't informed about new world events, scientific discoveries, or technological breakthroughs. They may also lack depth in specific knowledge domains, struggle with real-time data, and produce outputs that might need fact-checking for accuracy. Additionally, users desire AI interactions tailored to their profiles and control over their data, which requires the AI to access user-specific data.

Enter "Gold Retriever", a powerful open-source tool powered by Jina and DocArray, that addresses these very needs.

GitHub - jina-ai/GoldRetriever: Create and host retrieval plugins for ChatGPT in one click
Create and host retrieval plugins for ChatGPT in one click - GitHub - jina-ai/GoldRetriever: Create and host retrieval plugins for ChatGPT in one click

It equips users to create custom plugins that enable ChatGPT to interact with their data, overcoming inherent limitations. Gold Retriever acts as a bridge linking ChatGPT with the vast and dynamic world of data, making AI interactions more meaningful, accurate, and personal.

Gold Retriever in Action: Study Assistant

To better illustrate how Gold Retriever works, let's consider a practical scenario. Imagine you're a student seeking assistance from ChatGPT with your coursework. However, your course materials exceed ChatGPT's prompt limit, preventing you from getting the help you need. That's exactly where Gold Retriever comes in handy.

In this example, we'll use resources from MIT's open course - Ecology I: The Earth System.

Ecology I: The Earth System | Civil and Environmental Engineering | MIT OpenCourseWare
We will cover fundamentals of ecology, considering Earth as an integrated dynamic system. Topics include coevolution of the biosphere, geosphere, atmosphere and oceans; photosynthesis and respiration; the hydrologic, carbon and nitrogen cycles. We will examine the flow of energy and materials throug…

The first step is to gather all relevant text files in one directory, which will serve as your data source. Next, you'll need to create a Gold Retriever plugin. Here's how:

Install Gold Retriever via pip with the command:

pip install goldretriever

Now, deploy a plugin providing your OpenAI key:

goldretriever deploy --key <your openai key>

After deployment, make a note of the "Gateway (HTTP)" URL and the Bearer token, as you'll need them to incorporate the plugin into ChatGPT.

╭──────────────────────── 🎉 Flow is available! ────────────────────────╮
│                                                                       │
│   ID               retrieval-plugin-<plugin id>                       │
│   Gateway (Http)   https://retrieval-plugin-<plugin id>.wolf.jina.ai  │
│   Dashboard        https://dashboard.wolf.jina.ai/flow/<plugin id>    │
│                                                                       │
╰───────────────────────────────────────────────────────────────────────╯
Bearer token: <your bearer token>

Next, let's index the data we've gathered:

goldretriever index --data <dir_name>

With the data indexed successfully, the plugin can now be integrated into ChatGPT. Navigate to plugins, choose "Develop your own plugin", and provide the "Gateway (HTTP)" URL and Bearer token from the deployment phase. Voila! Your plugin is now installed and ready for a test run!

With Gold Retriever at your disposal, there are numerous ways to use ChatGPT to assist with coursework. A fun and effective studying strategy is to create flashcards from course materials, and you can enlist ChatGPT's help for this task:

0:00
/

ChatGPT looks into your notes, extracts relevant material about the chosen topic (Thermodynamics, in this instance), and creates comprehensive flashcards based on the information. It can also provide further clarification on certain concepts:

0:00
/

ChatGPT first identifies the example you're seeking and then responds with a detailed explanation.

This case study showcases just one of the countless applications for Gold Retriever. If you have textual data that you'd like ChatGPT to remember and use, Gold Retriever is your go-to tool.

Be sure to watch the video for the full tutorial:

For more information, head over to the Gold Retriever repository and join the discussion on Discord. Happy coding!