Official ChatGPT Plugin / "GPT"
Lukas Gabriel
The new "GPTs" feature of ChatGPT allows users to create their own "assistants" with custom prompts and API integrations. You provide the system prompt and a json OpenAPI spec, and the chatbot automatically interfaces with the API for you.
I've created a proof of concept - it works pretty well, although I'm still tuning it. But it is a great help for combing through my library of 3000+ raindrops.
However, there's no doubt that an official plugin would do a much better job! Even an official OpenAPI spec would be a great start. I have put one together from the Swagger and Markdown files in the docs GitHub repo, but it's not complete or particularly robust.
Also, I'm having trouble with the OAuth flow configuration.
N
NZ
Maybe i just lack the technical knowledge but not sure what it's doing or what is the point- is it tagging\noting for you, streamlining a bulk edit process, or..? With the first, can't imagine the cleanup if it makes a mistake and you don't know.. a problem with ai in general.
With the latter, that would be indeed be useful. Awaiting more info.. even if it already 2024, it wasn't years ago that you posted!
Lukas Gabriel
NZ: The point of the GPT would be to assist you in searching for bookmarks, like an AI-enhanced version of the search that constructs the query for you and evaluates the results. It can also open the links and browse them, providing more info than just looking over the raindrop-generated page summaries.
N
NZ
Lukas Gabriel: dont think they're generated summaries- aren't they scraped from headers or something, like how all bookmark managers or search engines do it? Though not sure why they stopped "generating" summaries for certain sites eg wikipedia..
So ai-help like suggested\related keywords to append to search for more relevance etc..?
Wdym by "evaluates search results"?
Not sure if personally want ai to open links for me.. but can see how it might be useful eg alike 10min ai-powered news feed readers\summarisers\authenticators.
Lukas Gabriel
NZ: First, the AI retrieves a list of your tags and collections. The AI then constructs multiple search queries based on your natural-language prompt and visits the URLs if necessary to retrieve more information. It then compiles those results into a list that most optimally answers/satisfies your prompt. It basically works exactly like search-enabled ChatGPT, but with read-only access to your Raindrop collection in addition to the internet.
See the GPT's 'source' for more detail: https://gist.github.com/lukasgabriel/acf863d0dfa4be872feefd954d2ba7ae
K
Kevin Merlini
love this, please let me know when it exists
Lukas Gabriel
Kevin Merlini:
Since the OAuth flow does not work, I can't make the GPT public. 😕 However, I can plug in my own API token and it works pretty well, for personal use. But for public use, the dev either needs to fix/investigate the OAuth flow (maybe it's an OpenAI problem - no way for me to know), or provide an official "GPT" with a more native integration. In that case, I'd be happy to provide my OpenAPI spec, actions, and prompts, if that would help! 😸
K
Kevin Merlini
Lukas Gabriel: yeah would love to see the spec/action/prompts you used to create the GPT, I could then use my API key. That would be very nice, thanks!
Lukas Gabriel
Kevin Merlini: Hi Kevin, I compiled the metadata (prompt etc.) and OpenAPI spec into a GitHub gist: https://gist.github.com/lukasgabriel/acf863d0dfa4be872feefd954d2ba7ae
K
Kevin Merlini
Lukas Gabriel: awesome, thanks! can't wait to test out
K
Kevin Merlini
Lukas Gabriel: sorry for bugging you, but what values did you need to enter in the Authentication Settings? I generated a test token via the raindrop developer portal/settings, and then I added that to the "API Key" field. I tested it with "Auth Type" set to "Basic" and "Bearer". I also tried "Custom" with bearer_access_token as the custom header name trying to follow the instructions in the Raindrop API documentation, but I have a feeling that I might be missing something by not providing the client_id or client_secret, or there is something I'm missing on the custom header name field.
Lukas Gabriel
Kevin Merlini: I used the following settings:
Authenticaton Type: 'API Key'
API Key: [KEY]
Auth Type: 'Bearer'
I obtained the key by clicking 'Create new App' in the Raindrop 'Integrations' Settings and then clicking 'Generate Test Token' and copying that value. I just tested it and it works for me, at least the auth.
Don't forget to save your GPT in the top-right after every change.
Also, remember to never set this GPT to anything but "Just for me" because it stores the API key and exposes your Raindrop account indirectly through the GPT.
For API Key/Token Auth, you shouldn't need the other stuff like client_id at all, since that's only needed for the OAuth flow.
Lukas Gabriel
This is why an official integration would be so useful - users wouldn't have to fiddle with this stuff and the devs could provide a middleware between the regular API and the GPT. This middleware could perform caching/pagination operations that are formatted in a way that's optimized for Language Models to process and are tailored towards the limitations of ChatGPT and others.
Another alternative would be a "Chat with Raindrop" native integration, in which users could provide their OpenAI API key to Raindrop and chat inside of Raindrop, instead of the other way 'round.
K
Kevin Merlini
Lukas Gabriel: beautiful - that worked! I wasn't hitting save on the top right after making changes, so it was always using whatever I had configured on the first time rather than the changes. Working for me now.
Also, I totally agree that raindrop should just add some functionality like this to the app. Even just semantic/vector based searching. I have > 7k bookmarks and I find that the current search capabilities aren't useful for me at all. So much opportunity to improve search/discoverability, AI generated metadata, etc.
Lukas Gabriel
Kevin Merlini: Nice, glad it worked 😸
I also have about 5k bookmarks, but growing by ~5 per day since I tend to save EVERYTHING.
I spend a LOT of time tagging and categorizing just to stay on top of my collection, I'm definitely a power user in that sense. But at some point with a large collection like this, it becomes necessary to do daily/weekly tagging sessions to keep a collection organized.
AI just seems like the perfect solution for this, it could either help with the tagging itself by learning to apply tags based on the content and my existing bookmarks, or it could help me search my library more effectively which would reduce the need for granular tagging in the first place. I hope they integrate one or both of these features soon 🙏
K
Kevin Merlini
Lukas Gabriel: exactly - I don't even bother with tagging anymore because of those same issues. It became too much of a burden to worry about keeping up with curation, now AI can solve all of these problems.
Lukas Gabriel
P.S.: OpenAI is rolling out a "Store/Marketplace" for these GPTs later this month, which could be a good place to release an official version of the assistant.