You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-13Lines changed: 27 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,30 +100,44 @@ When `setup_search_service.py` runs (automatically during `azd up`, or manually)
100
100
1.**Blob upload** – Images from the `pictures/` folder are uploaded to an Azure Blob Storage container. Only files placed directly under `pictures/` are uploaded.
101
101
2.**Data source** – A Search data source is configured to point at that blob container.
102
102
3.**Skillset** – Two skills are applied to each image:
103
-
-[`VisionVectorizeSkill`](https://learn.microsoft.com/azure/search/cognitive-search-skill-vision-vectorize) generates a 1024-dimensional multimodal embedding using Azure AI Vision.
104
-
-[`ChatCompletionSkill`](https://learn.microsoft.com/azure/search/chat-completion-skill-example-usage) (optional) produces a natural-language description of each image, stored as `verbalized_image`.
103
+
*[`VisionVectorizeSkill`](https://learn.microsoft.com/azure/search/cognitive-search-skill-vision-vectorize) generates a 1024-dimensional multimodal embedding using Azure AI Vision.
104
+
*[`ChatCompletionSkill`](https://learn.microsoft.com/azure/search/chat-completion-skill-example-usage) (optional) produces a natural-language description of each image, stored as `verbalized_image`.
105
105
4.**Index** – Results are written to a Search index with an `embedding` vector field backed by an HNSW algorithm, plus a built-in AI Vision vectorizer so that query text is embedded at search time without extra code.
106
106
5.**Indexer** – Runs the pipeline: blob → normalized images → skills → index projections. Each image within a blob becomes its own indexed document.
107
107
108
108
At query time, the search service vectorizes the text query using the same AI Vision model and performs an approximate nearest-neighbor search over the stored embeddings.
109
109
110
-
## Running locally
110
+
## Testing deployed endpoints
111
111
112
-
You can only run locally **after** having successfully run the `azd up` command. If you haven't yet, follow the steps in [Azure deployment](#azure-deployment) above.
112
+
After running `azd up`, you can test both deployed Container Apps.
113
113
114
-
### Web app
114
+
### Deployed web app
115
115
116
-
1. Run `azd auth login`
117
-
2. Change dir to `app` and run `./start.ps1` or `./start.sh` depending on your OS.
118
-
3. Open a browser and navigate to `http://localhost:50505`
116
+
1. Run `azd env get-value SERVICE_ACA_URI` to get the deployed web app URL.
117
+
2. Open the URL in a browser.
119
118
120
-
### MCP server
119
+
### Deployed MCP server
121
120
122
-
1. Run `azd auth login`
123
-
2. Run `python app/backend/mcp_server.py`
124
-
3. The server starts on `http://localhost:8001`. Add it to your MCP client configuration (e.g. VS Code or Claude Desktop) pointing at that URL.
121
+
1. Run `azd env get-value SERVICE_MCP_URI` to get the deployed MCP server URL.
122
+
2. Append `/mcp` to the URL.
123
+
3. In `.mcp.json`, replace the `url` for the `image-search-azure` entry under `mcpServers` with the resulting URL.
124
+
4. Open your MCP client and use the `image-search-azure` server.
125
+
126
+
## Testing local endpoints
127
+
128
+
You can only run the endpoints locally **after** successfully running `azd up`. If you haven't yet, follow the steps in [Azure deployment](#azure-deployment) above.
129
+
130
+
### Local web app
131
+
132
+
1. Run `azd auth login`.
133
+
2. Change to the `app` directory and run `./start.ps1` or `./start.sh`, depending on your OS.
134
+
3. Open `http://localhost:50505` in a browser.
135
+
136
+
### Local MCP server
125
137
126
-
To connect to a deployed MCP server instead, update `.vscode/mcp.json` with your deployed Container App hostname and append `/mcp` (for example, using the `SERVICE_MCP_URI` output from `azd up`).
138
+
1. Run `azd auth login`.
139
+
2. Run `python app/backend/mcp_server.py`.
140
+
3. Open your MCP client and use the `image-search-local` server from `.mcp.json`, which connects to `http://localhost:8001/mcp`.
0 commit comments