I’d just finished a morning round of tinkering with the ham radio Extra Class tutor when the question hit me: how do I actually get the entire exam question pool into GPT without burning through tokens every time? With GPT Projects, I can just drop in a file and it remembers. But on the API side, things always felt a little more ephemeral — every call a blank slate. So I sat down with GPT-5 to dig into whether there’s a smarter, more cost-effective way. What followed was one of those back-and-forths where the clouds part: GPT Projects’ quiet little “remembered files” have a direct analogue in the API world — vector stores — and they might just be the key to making this whole tutor run leaner and meaner.
Me: In GPT projects, I can upload files that the project remembers. Is there a way to do the same thing with the API?
GPT-5: Great question. With the raw chat/completions
endpoint, no — it’s stateless. You’d have to re-inject your files each time. But the newer OpenAI Responses API supports File Search with vector stores. That’s the direct analogue of GPT Projects’ file storage.
Me: So the Responses API is better suited than chat/completions?
GPT-5: Exactly. With Responses, you can:
-
Upload files once into a vector store,
-
Reuse the store ID (
vs_…
) across calls, -
Let the model retrieve the right chunks automatically.
That’s much closer to GPT Projects.
Me: Do I have to upload the file each time my app starts?
GPT-5: Nope. The store lives in your account. Upload once → keep the vector_store_id
→ reuse it in every call, for every user of your app. You only re-upload if you want to update the knowledge base.
Me: Can I create the vector store in the OpenAI web UI, or is it API-only?
GPT-5: You can do it in the web UI! Head to platform.openai.com → Storage → Vector stores. Click + Create, upload your files, and copy the generated ID. That ID is what you pass into your API calls.
Me: OK, so how do I actually use the ID?
GPT-5: Example:
Same idea in Python/JS SDKs — just plug in your vs_...
string.
Me: That makes sense. So in short — GPT Projects’ file storage = Responses API vector stores?
GPT-5: Exactly. Same concept, just exposed via IDs for devs.
In the end, the takeaway is pretty simple: if you’re building an app that needs a stable knowledge base — like my ham radio exam tutor — the Responses API with vector stores is the closest thing to GPT Projects’ file memory. Upload once, keep the ID handy, and let GPT retrieve what it needs without re-sending the entire file every time. It’s not just a convenience; it’s the difference between an experiment that drains tokens and one that can scale sustainably.
Comments
Post a Comment
Please leave your comments on this topic: