Render raises $100M at a $1.5B valuation
Read the announcementWhy deploy ChatGPT Retrieval Plugin on Render?
ChatGPT Retrieval Plugin is an open-source plugin that enables ChatGPT to search and retrieve information from custom document collections using vector embeddings. It solves the problem of giving ChatGPT access to private, up-to-date, or domain-specific knowledge that isn't part of its training data.
This template wires together the ChatGPT Retrieval Plugin FastAPI server with a self-hosted Weaviate vector database, complete with persistent storage and auto-generated bearer tokens—no manual service orchestration or environment variable juggling required. You skip the complexity of configuring Weaviate's disk persistence, connecting it to the FastAPI server, and setting up authentication, which would typically take hours of documentation diving. Render's Blueprint handles the multi-service deployment in one click, and you can scale the FastAPI server horizontally or upgrade plans directly from the dashboard as your retrieval needs grow.
Architecture
What you can build
After deploying, you'll have a self-hosted ChatGPT Retrieval Plugin server paired with a Weaviate vector database, ready to accept document uploads and serve semantic search queries via API. This lets you connect ChatGPT to your own documents so it can answer questions using your private data. The setup runs at approximately $15/month on Render's Starter plan.
Key features
- One-Click Render Deployment: Deploy the FastAPI retrieval server and Weaviate vector database together using a Render Blueprint with automatic bearer token generation.
- Self-Hosted Weaviate Database: Includes a pre-configured Weaviate vector database with persistent disk storage running alongside the retrieval API.
- Multi-Provider Datastore Support: Swappable vector database backend supporting Pinecone, Weaviate, Zilliz, Milvus, Qdrant, and Redis through environment variable configuration.
- ChatGPT Plugin Compatible: Includes the required .well-known manifest and OpenAPI schema files for registering as a ChatGPT retrieval plugin.
- Document Processing Scripts: Provides ready-to-use scripts for chunking, metadata extraction, and uploading documents from various data sources to the vector store.
Use cases
- Startup founder deploys semantic search for company knowledge base on Render
- Developer lets ChatGPT query internal documentation using natural language
- Researcher enables ChatGPT to search and cite UN annual reports
- Team lead builds private document retrieval API with Weaviate backend
What's included
Service | Type | Purpose |
|---|---|---|
retrieval-plugin-server | Web Service | Application service |
weaviate-data | Private Service | Application service |
Prerequisites
- OpenAI API Key: Your API key from OpenAI used to generate embeddings and interact with OpenAI services.
Next steps
- Open the FastAPI docs at your server URL with /docs appended — You should see the Swagger UI with endpoints like /upsert, /query, and /delete listed and ready to test
- Upload a test document using the /upsert endpoint with a sample text payload and your bearer token from the Render Environment tab — You should receive a 200 response and the document ID confirming it was stored in Weaviate
- Test a semantic search by calling the /query endpoint with a natural language question related to your uploaded document — You should receive a response containing the relevant document chunks with similarity scores