Spaces:
Runtime error
Runtime error
title: Whatscooking Advisor | |
emoji: ⚡ | |
colorFrom: indigo | |
colorTo: red | |
sdk: gradio | |
sdk_version: 4.37.2 | |
app_file: app.py | |
pinned: false | |
license: apache-2.0 | |
This simple restaurant planner is designed to communicate with MongoDB Atlas Vector Search with the loaded Restaurant data set. | |
It uses OpenAI small text embeddings (256 dimesnsions) to query the database for semantic similarity search. | |
## How to setup your own | |
1. [Create an Atlas cluter](https://www.mongodb.com/docs/atlas/tutorial/deploy-free-tier-cluster/) (free clusters are available) | |
2. Load the [dataset](https://huggingface.co/datasets/AIatMongoDB/whatscooking.restaurants) using the `ingest.py` [script](https://huggingface.co/datasets/AIatMongoDB/whatscooking.restaurants#ingest-data) with your connection string. | |
3. Deploy the relevant [Vector Index](https://www.mongodb.com/docs/atlas/atlas-vector-search/vector-search-tutorial/#create-the-atlas-vector-search-index) on `whatscooking.smart_trips` aggregated collection "name" : `vector_index`. | |
``` | |
{ | |
"fields": [ | |
{ | |
"numDimensions": 256, | |
"path": "embedding", | |
"similarity": "cosine", | |
"type": "vector" | |
}, | |
{ | |
"path": "searchTrip", | |
"type": "filter" | |
} | |
] | |
} | |
``` | |
Create a 2dsphere index on `restaurants` collection to allow geo queries on `location.coordinates`: | |
``` | |
db.restaurants.createIndex({'location.coordinates' : "2dsphere"}) | |
``` | |
- [Whitelist](https://www.mongodb.com/docs/atlas/security/ip-access-list/#std-label-access-list) access from everywhere (`0.0.0.0/0`) | |
- Locate your [cluster connection](https://www.mongodb.com/docs/atlas/tutorial/connect-to-your-cluster/) URI | |
5. Obtain your Open AI api key | |
6. "Duplicate" this space and input | |
- `MONGODB_ATLAS_CLUSTER_URI` - Your Atlas Cluster connection string | |
- `OPENAI_API_KEY`- Open AI API key | |
Build and use the planner! |