Spaces:
Runtime error
Runtime error
DylanonWic
commited on
Commit
•
a7abe3e
1
Parent(s):
3650d5d
Upload 17 files
Browse files- QA_sample.ipynb +10 -2
- chatbot_multiagent.ipynb +139 -295
- chatbot_multiagent.py +10 -43
- gplace.ipynb +461 -485
- prompt.py +2 -2
- requirements.txt +2 -1
- testsets/QA_smaple.txt +255 -285
- tools.ipynb +7 -0
- tools.py +46 -3
QA_sample.ipynb
CHANGED
@@ -35,7 +35,15 @@
|
|
35 |
"cell_type": "code",
|
36 |
"execution_count": 2,
|
37 |
"metadata": {},
|
38 |
-
"outputs": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
"source": [
|
40 |
"with open('./testsets/user_question_testsets.txt', 'r') as file:\n",
|
41 |
" quesion_test = file.readlines() \n",
|
@@ -45,7 +53,7 @@
|
|
45 |
},
|
46 |
{
|
47 |
"cell_type": "code",
|
48 |
-
"execution_count":
|
49 |
"metadata": {},
|
50 |
"outputs": [
|
51 |
{
|
|
|
35 |
"cell_type": "code",
|
36 |
"execution_count": 2,
|
37 |
"metadata": {},
|
38 |
+
"outputs": [
|
39 |
+
{
|
40 |
+
"name": "stdout",
|
41 |
+
"output_type": "stream",
|
42 |
+
"text": [
|
43 |
+
"average execution time: 22.575254702568053sec.\n"
|
44 |
+
]
|
45 |
+
}
|
46 |
+
],
|
47 |
"source": [
|
48 |
"with open('./testsets/user_question_testsets.txt', 'r') as file:\n",
|
49 |
" quesion_test = file.readlines() \n",
|
|
|
53 |
},
|
54 |
{
|
55 |
"cell_type": "code",
|
56 |
+
"execution_count": 3,
|
57 |
"metadata": {},
|
58 |
"outputs": [
|
59 |
{
|
chatbot_multiagent.ipynb
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
-
"execution_count":
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
@@ -15,7 +15,7 @@
|
|
15 |
},
|
16 |
{
|
17 |
"cell_type": "code",
|
18 |
-
"execution_count":
|
19 |
"metadata": {},
|
20 |
"outputs": [],
|
21 |
"source": [
|
@@ -27,7 +27,7 @@
|
|
27 |
},
|
28 |
{
|
29 |
"cell_type": "code",
|
30 |
-
"execution_count":
|
31 |
"metadata": {},
|
32 |
"outputs": [],
|
33 |
"source": [
|
@@ -38,7 +38,13 @@
|
|
38 |
"# for llm model\n",
|
39 |
"from langchain_openai import ChatOpenAI\n",
|
40 |
"# from langchain_community.chat_models import ChatOpenAI\n",
|
41 |
-
"from tools import
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
"from typing import Annotated, Sequence, TypedDict\n",
|
43 |
"from langchain_core.messages import (\n",
|
44 |
" AIMessage, \n",
|
@@ -49,50 +55,11 @@
|
|
49 |
"from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n",
|
50 |
"from langgraph.graph import END, StateGraph, START\n",
|
51 |
"\n",
|
52 |
-
"## Document vector store for context\n",
|
53 |
-
"from langchain_chroma import Chroma\n",
|
54 |
-
"from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
|
55 |
-
"from langchain_community.document_loaders import CSVLoader\n",
|
56 |
-
"from langchain_openai import OpenAIEmbeddings\n",
|
57 |
-
"import glob\n",
|
58 |
-
"from langchain.tools.retriever import create_retriever_tool\n",
|
59 |
-
"\n",
|
60 |
-
"def format_docs(docs):\n",
|
61 |
-
" return \"\\n\\n\".join(doc.page_content for doc in docs)\n",
|
62 |
-
"\n",
|
63 |
-
"\n",
|
64 |
-
"## Document csv\n",
|
65 |
-
"# Specify the pattern\n",
|
66 |
-
"file_pattern = \"document/*.csv\"\n",
|
67 |
-
"file_paths = tuple(glob.glob(file_pattern))\n",
|
68 |
-
"\n",
|
69 |
-
"all_docs = []\n",
|
70 |
-
"\n",
|
71 |
-
"for file_path in file_paths:\n",
|
72 |
-
" loader = CSVLoader(file_path=file_path)\n",
|
73 |
-
" docs = loader.load()\n",
|
74 |
-
" all_docs.extend(docs) # Add the documents to the list\n",
|
75 |
-
"\n",
|
76 |
-
"# Split text into chunks separated.\n",
|
77 |
-
"text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=100)\n",
|
78 |
-
"splits = text_splitter.split_documents(all_docs)\n",
|
79 |
-
"\n",
|
80 |
-
"# Text Vectorization.\n",
|
81 |
-
"vectorstore = Chroma.from_documents(documents=splits, embedding=OpenAIEmbeddings())\n",
|
82 |
-
"\n",
|
83 |
-
"# Retrieve and generate using the relevant snippets of the blog.\n",
|
84 |
-
"retriever = vectorstore.as_retriever()\n",
|
85 |
"\n",
|
86 |
"\n",
|
87 |
"## tools and LLM\n",
|
88 |
-
"retriever_tool = create_retriever_tool(\n",
|
89 |
-
" retriever,\n",
|
90 |
-
" \"search_population_community_household_expenditures_data\",\n",
|
91 |
-
" \"Use this tool to retrieve information about population, community and household expenditures. by searching distinct or province\"\n",
|
92 |
-
")\n",
|
93 |
-
"\n",
|
94 |
"# Bind the tools to the model\n",
|
95 |
-
"tools = [
|
96 |
"# tools = [find_place_from_text, nearby_search]\n",
|
97 |
"\n",
|
98 |
"llm = ChatOpenAI(model=\"gpt-4o-mini\", temperature=0.0)\n",
|
@@ -183,7 +150,7 @@
|
|
183 |
" if last_message.tool_calls:\n",
|
184 |
" # The previous agent is invoking a tool\n",
|
185 |
" return \"call_tool\"\n",
|
186 |
-
" if \"
|
187 |
" # Any agent decided the work is done\n",
|
188 |
" return \"__end__\"\n",
|
189 |
" else:\n",
|
@@ -234,7 +201,7 @@
|
|
234 |
},
|
235 |
{
|
236 |
"cell_type": "code",
|
237 |
-
"execution_count":
|
238 |
"metadata": {},
|
239 |
"outputs": [],
|
240 |
"source": [
|
@@ -249,7 +216,7 @@
|
|
249 |
},
|
250 |
{
|
251 |
"cell_type": "code",
|
252 |
-
"execution_count":
|
253 |
"metadata": {},
|
254 |
"outputs": [
|
255 |
{
|
@@ -259,334 +226,211 @@
|
|
259 |
"==================================\u001b[1m Ai Message \u001b[0m==================================\n",
|
260 |
"Name: analyst\n",
|
261 |
"Tool Calls:\n",
|
262 |
-
"
|
263 |
-
" Call ID:
|
|
|
|
|
|
|
|
|
264 |
" Args:\n",
|
265 |
-
"
|
266 |
"=================================\u001b[1m Tool Message \u001b[0m=================================\n",
|
267 |
-
"Name:
|
268 |
"\n",
|
269 |
-
"number of results: 15\n",
|
270 |
"\n",
|
271 |
-
"
|
272 |
"\n",
|
273 |
-
"
|
274 |
"\n",
|
275 |
-
"
|
276 |
"\n",
|
|
|
|
|
|
|
277 |
"\n",
|
278 |
-
"
|
279 |
-
" **Fellas.coffee @soi tonson**\n",
|
280 |
"\n",
|
281 |
-
"
|
|
|
|
|
282 |
"\n",
|
283 |
-
"
|
|
|
284 |
"\n",
|
|
|
|
|
|
|
|
|
|
|
285 |
"\n",
|
286 |
-
"
|
287 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
"\n",
|
289 |
-
"
|
290 |
"\n",
|
291 |
-
"
|
|
|
|
|
|
|
|
|
292 |
"\n",
|
293 |
"\n",
|
294 |
" \n",
|
295 |
-
" **
|
296 |
"\n",
|
297 |
-
" address:
|
298 |
"\n",
|
299 |
-
" rating: 4.
|
300 |
"\n",
|
301 |
"\n",
|
302 |
" \n",
|
303 |
-
" **
|
304 |
"\n",
|
305 |
-
" address:
|
306 |
"\n",
|
307 |
-
" rating: 4.
|
308 |
"\n",
|
309 |
"\n",
|
310 |
" \n",
|
311 |
-
" **
|
312 |
"\n",
|
313 |
-
" address:
|
314 |
"\n",
|
315 |
-
" rating: 4.
|
316 |
"\n",
|
317 |
"\n",
|
318 |
" \n",
|
319 |
-
" **
|
320 |
"\n",
|
321 |
-
" address:
|
322 |
"\n",
|
323 |
-
" rating: 4.
|
324 |
"\n",
|
325 |
"\n",
|
326 |
" \n",
|
327 |
-
" **
|
328 |
"\n",
|
329 |
-
" address:
|
330 |
"\n",
|
331 |
-
" rating: 4.
|
332 |
"\n",
|
333 |
"\n",
|
334 |
" \n",
|
335 |
-
" **
|
336 |
"\n",
|
337 |
-
" address:
|
338 |
"\n",
|
339 |
-
" rating:
|
340 |
"\n",
|
341 |
"\n",
|
342 |
" \n",
|
343 |
-
" **
|
344 |
"\n",
|
345 |
-
" address:
|
346 |
"\n",
|
347 |
-
" rating: 4.
|
348 |
"\n",
|
349 |
"\n",
|
350 |
" \n",
|
351 |
-
"
|
352 |
-
"Name: analyst\n",
|
353 |
"\n",
|
354 |
-
"
|
355 |
"\n",
|
356 |
-
"
|
357 |
-
" - Address: ห้องเลขที่ K110/3 ชั้น 1 เลขที่ 4,4/1-4/2,4/4, Ratchadamri Rd, Pathum Wan\n",
|
358 |
-
" - Rating: 4.8\n",
|
359 |
"\n",
|
360 |
-
"2. **Fellas.coffee @Soi Tonson**\n",
|
361 |
-
" - Address: ตรงป้อมยามเก่า ตึกปิยะเพลส 34/1 Soi Ton Son, ลุมพินี Pathum Wan\n",
|
362 |
-
" - Rating: 4.9\n",
|
363 |
"\n",
|
364 |
-
"
|
365 |
-
"
|
366 |
-
" - Rating: 4.7\n",
|
367 |
"\n",
|
368 |
-
"
|
369 |
-
" - Address: 2F, One City Centre, 548 Phloen Chit Rd, Lumphini, Pathum Wan\n",
|
370 |
-
" - Rating: 4.7\n",
|
371 |
"\n",
|
372 |
-
"
|
373 |
-
" - Address: 502, ห้างสรรพสินค้าอัมรินทร์ พลาซ่า ชั้น 1, Phloen Chit Rd, Lumphini, Pathum Wan\n",
|
374 |
-
" - Rating: 4.6\n",
|
375 |
"\n",
|
376 |
-
"6. **Eleven Ratio**\n",
|
377 |
-
" - Address: 20, 3 Soi Ratchadamri 2, ลุมพินี Pathum Wan\n",
|
378 |
-
" - Rating: 4.7\n",
|
379 |
"\n",
|
380 |
-
"
|
381 |
-
"
|
382 |
-
"
|
383 |
"\n",
|
384 |
-
"
|
385 |
-
" - Address: 2nd Floor Siam Square One 388 Rama I Rd, Pathum Wan\n",
|
386 |
-
" - Rating: 4.9\n",
|
387 |
"\n",
|
388 |
-
"
|
389 |
-
"
|
390 |
-
" -
|
|
|
391 |
"\n",
|
392 |
-
"
|
393 |
-
"
|
394 |
-
"
|
395 |
"\n",
|
396 |
-
"
|
397 |
-
"
|
398 |
-
"
|
399 |
-
"Tool Calls:\n",
|
400 |
-
" search_population_community_household_expenditures_data (call_umH7Q0I9tc6qtnQ9dMW6w96n)\n",
|
401 |
-
" Call ID: call_umH7Q0I9tc6qtnQ9dMW6w96n\n",
|
402 |
-
" Args:\n",
|
403 |
-
" query: Pathum Wan\n",
|
404 |
-
" nearby_dense_community (call_NQHGKEEVEt3TCI54VDzXvBxU)\n",
|
405 |
-
" Call ID: call_NQHGKEEVEt3TCI54VDzXvBxU\n",
|
406 |
-
" Args:\n",
|
407 |
-
" input_dict: {'location_name': 'เซ็นทรัลเวิลด์', 'radius': 1000}\n",
|
408 |
-
" google_search (call_SCih6S4B252WzHsC3A0alQGC)\n",
|
409 |
-
" Call ID: call_SCih6S4B252WzHsC3A0alQGC\n",
|
410 |
-
" Args:\n",
|
411 |
-
" input_dict: {'keyword': 'the pricing of Pirom specialty bar in Pathum Wan'}\n",
|
412 |
-
" google_search (call_ZP8JOQkHQbGApEsIcmR2LuBX)\n",
|
413 |
-
" Call ID: call_ZP8JOQkHQbGApEsIcmR2LuBX\n",
|
414 |
-
" Args:\n",
|
415 |
-
" input_dict: {'keyword': 'the pricing of Fellas.coffee @soi tonson in Pathum Wan'}\n",
|
416 |
-
" google_search (call_lpO07JMalcEPzKv6v7dwiuGY)\n",
|
417 |
-
" Call ID: call_lpO07JMalcEPzKv6v7dwiuGY\n",
|
418 |
-
" Args:\n",
|
419 |
-
" input_dict: {'keyword': 'the pricing of Café BAGA Central World in Pathum Wan'}\n",
|
420 |
-
" google_search (call_9THVEaep5ptbUxPDsyQWZn8v)\n",
|
421 |
-
" Call ID: call_9THVEaep5ptbUxPDsyQWZn8v\n",
|
422 |
-
" Args:\n",
|
423 |
-
" input_dict: {'keyword': 'the pricing of Arabica Bangkok One City Centre in Pathum Wan'}\n",
|
424 |
-
" google_search (call_Q3H6n6f0A62PA8yxbbNMB6De)\n",
|
425 |
-
" Call ID: call_Q3H6n6f0A62PA8yxbbNMB6De\n",
|
426 |
-
" Args:\n",
|
427 |
-
" input_dict: {'keyword': 'the pricing of TABLA Craft Coffee in Pathum Wan'}\n",
|
428 |
-
" google_search (call_xKJ60L4GTGaDK0cqn9xjdl5Q)\n",
|
429 |
-
" Call ID: call_xKJ60L4GTGaDK0cqn9xjdl5Q\n",
|
430 |
-
" Args:\n",
|
431 |
-
" input_dict: {'keyword': 'the pricing of Eleven Ratio in Pathum Wan'}\n",
|
432 |
-
" google_search (call_Z46cR8dg0FPuWZV9ezZKkFNw)\n",
|
433 |
-
" Call ID: call_Z46cR8dg0FPuWZV9ezZKkFNw\n",
|
434 |
-
" Args:\n",
|
435 |
-
" input_dict: {'keyword': 'the pricing of everings in Pathum Wan'}\n",
|
436 |
-
" google_search (call_lGLYCYEXH18soquZGLcgnYhQ)\n",
|
437 |
-
" Call ID: call_lGLYCYEXH18soquZGLcgnYhQ\n",
|
438 |
-
" Args:\n",
|
439 |
-
" input_dict: {'keyword': 'the pricing of GATTA CAFé in Pathum Wan'}\n",
|
440 |
-
" google_search (call_2yIfEbLFjXCm00k6Qz4Z2p59)\n",
|
441 |
-
" Call ID: call_2yIfEbLFjXCm00k6Qz4Z2p59\n",
|
442 |
-
" Args:\n",
|
443 |
-
" input_dict: {'keyword': 'the pricing of BEANS Coffee Roaster Paragon in Pathum Wan'}\n",
|
444 |
-
" google_search (call_Q63gUQIuJ9m0wZx10sZ66fh4)\n",
|
445 |
-
" Call ID: call_Q63gUQIuJ9m0wZx10sZ66fh4\n",
|
446 |
-
" Args:\n",
|
447 |
-
" input_dict: {'keyword': 'the pricing of RISE COFFEE - Flagship Store in Pathum Wan'}\n",
|
448 |
-
"=================================\u001b[1m Tool Message \u001b[0m=================================\n",
|
449 |
-
"Name: search_population_community_household_expenditures_data\n",
|
450 |
"\n",
|
451 |
-
"
|
452 |
-
":
|
|
|
453 |
"\n",
|
454 |
-
"
|
455 |
-
":
|
|
|
456 |
"\n",
|
457 |
-
"
|
458 |
-
":
|
|
|
459 |
"\n",
|
460 |
-
"
|
461 |
-
":
|
462 |
-
"
|
463 |
-
"Name: data_collector\n",
|
464 |
"\n",
|
465 |
-
"
|
|
|
|
|
466 |
"\n",
|
467 |
-
"
|
468 |
-
"
|
469 |
-
" -
|
470 |
-
" - Rating: 4.8\n",
|
471 |
-
" - Pricing: Approximately 100-200 THB for coffee.\n",
|
472 |
"\n",
|
473 |
-
"
|
474 |
-
"
|
475 |
-
"
|
476 |
-
" - Pricing: Approximately 80-150 THB for coffee.\n",
|
477 |
"\n",
|
478 |
-
"
|
479 |
-
"
|
480 |
-
" - Rating: 4.7\n",
|
481 |
-
" - Pricing: Approximately 90-180 THB for coffee.\n",
|
482 |
"\n",
|
483 |
-
"
|
484 |
-
"
|
485 |
-
"
|
486 |
-
"
|
487 |
"\n",
|
488 |
-
"
|
489 |
-
"
|
490 |
-
" - Rating: 4.6\n",
|
491 |
-
" - Pricing: Approximately 100-200 THB for coffee.\n",
|
492 |
"\n",
|
493 |
-
"
|
494 |
-
" - Address: 20, 3 Soi Ratchadamri 2, ลุมพินี Pathum Wan\n",
|
495 |
-
" - Rating: 4.7\n",
|
496 |
-
" - Pricing: Approximately 90-160 THB for coffee.\n",
|
497 |
-
"\n",
|
498 |
-
"7. **everings**\n",
|
499 |
-
" - Address: 39/4 Soi Phetchaburi 15, Thanon Phaya Thai, Ratchathewi\n",
|
500 |
-
" - Rating: 4.8\n",
|
501 |
-
" - Pricing: Approximately 80-150 THB for coffee.\n",
|
502 |
-
"\n",
|
503 |
-
"8. **GATTA CAFé**\n",
|
504 |
-
" - Address: 2nd Floor Siam Square One 388 Rama I Rd, Pathum Wan\n",
|
505 |
-
" - Rating: 4.9\n",
|
506 |
-
" - Pricing: Approximately 100-220 THB for coffee.\n",
|
507 |
-
"\n",
|
508 |
-
"9. **BEANS Coffee Roaster Paragon**\n",
|
509 |
-
" - Address: 991/1 Rama I Rd, Pathum Wan\n",
|
510 |
-
" - Rating: 5.0\n",
|
511 |
-
" - Pricing: Approximately 120-250 THB for coffee.\n",
|
512 |
-
"\n",
|
513 |
-
"10. **RISE COFFEE - Flagship Store**\n",
|
514 |
-
" - Address: 888 อาคารมหาทุนพลาซ่า ชั้น 1 ยูนิต 1, Phloen Chit Rd, Lumphini, Pathum Wan\n",
|
515 |
-
" - Rating: 4.8\n",
|
516 |
-
" - Pricing: Approximately 100-200 THB for coffee.\n",
|
517 |
-
"\n",
|
518 |
-
"### Population and Community Data for Pathum Wan\n",
|
519 |
-
"- **Population**: Approximately 22,000 residents.\n",
|
520 |
-
"- **Community Type**: Urban locality with a mix of commercial and residential areas.\n",
|
521 |
-
"- **Household Expenditures**: Average monthly household expenditure is around 45,000 THB.\n",
|
522 |
-
"\n",
|
523 |
-
"### Nearby Dense Communities\n",
|
524 |
-
"- **Siam Kempinski Hotel Bangkok**\n",
|
525 |
-
"- **Novotel Bangkok Platinum Pratunam**\n",
|
526 |
-
"- **Centara Grand & Bangkok Convention Centre at CentralWorld**\n",
|
527 |
-
"- **Grande Centre Point Ratchadamri**\n",
|
528 |
-
"- **Baiyoke Suite Hotel**\n",
|
529 |
-
"- **Centara Watergate Pavilion Hotel Bangkok**\n",
|
530 |
-
"- **Bangkok City Inn**\n",
|
531 |
-
"- **Aphrodite Inn Bangkok**\n",
|
532 |
-
"- **The Residence Ratchathewi**\n",
|
533 |
-
"- **Amari Bangkok**\n",
|
534 |
-
"- **The St. Regis Bangkok**\n",
|
535 |
-
"- **Courtyard Bangkok**\n",
|
536 |
-
"- **Ten Stars Inn Hotel**\n",
|
537 |
-
"- **Indra Regent Hotel**\n",
|
538 |
-
"- **Holiday Inn Bangkok, an IHG Hotel**\n",
|
539 |
-
"- **Renaissance Bangkok Ratchaprasong Hotel**\n",
|
540 |
-
"- **Anantara Siam Bangkok Hotel**\n",
|
541 |
-
"- **Hansar Bangkok Hotel**\n",
|
542 |
-
"\n",
|
543 |
-
"If you need any more specific information or further assistance, feel free to ask!\n",
|
544 |
"==================================\u001b[1m Ai Message \u001b[0m==================================\n",
|
545 |
"Name: reporter\n",
|
546 |
"\n",
|
547 |
-
"
|
548 |
-
"\n",
|
549 |
-
"#### 1. Competitors List\n",
|
550 |
-
"Here is the list of coffee shops near Central World, including their ratings and approximate product prices:\n",
|
551 |
-
"\n",
|
552 |
-
"| Name | Rating | Price Range (THB) |\n",
|
553 |
-
"|----------------------------------------|--------|--------------------|\n",
|
554 |
-
"| Pirom Specialty Bar | 4.8 | 100-200 |\n",
|
555 |
-
"| Fellas.coffee @Soi Tonson | 4.9 | 80-150 |\n",
|
556 |
-
"| Café BAGA Central World | 4.7 | 90-180 |\n",
|
557 |
-
"| Arabica Bangkok One City Centre | 4.7 | 120-250 |\n",
|
558 |
-
"| TABLA Craft Coffee | 4.6 | 100-200 |\n",
|
559 |
-
"| Eleven Ratio | 4.7 | 90-160 |\n",
|
560 |
-
"| everings | 4.8 | 80-150 |\n",
|
561 |
-
"| GATTA CAFé | 4.9 | 100-220 |\n",
|
562 |
-
"| BEANS Coffee Roaster Paragon | 5.0 | 120-250 |\n",
|
563 |
-
"| RISE COFFEE - Flagship Store | 4.8 | 100-200 |\n",
|
564 |
-
"\n",
|
565 |
-
"#### 2. Numerical Data\n",
|
566 |
-
"- **Number of Competitors**: 10 coffee shops listed.\n",
|
567 |
-
"- **Common Products Sold**: Coffee, espresso drinks, specialty beverages.\n",
|
568 |
-
"- **Price Range of Competitors**: 80 - 250 THB.\n",
|
569 |
-
"- **Range of Competitor Ratings**: 4.6 - 5.0.\n",
|
570 |
-
"- **Community Type**: Urban locality with commercial and residential areas.\n",
|
571 |
-
"- **Population Data**: Approximately 22,000 residents in Pathum Wan.\n",
|
572 |
-
"- **Average Household Expenditures**: Around 45,000 THB per month.\n",
|
573 |
-
"\n",
|
574 |
-
"#### 3. Descriptive Analytical Summary\n",
|
575 |
-
"The coffee shop market near Central World is competitive, with a range of high-rated establishments offering specialty coffee and unique experiences. The target customers are likely urban professionals, tourists, and local residents who appreciate quality coffee and a pleasant ambiance. \n",
|
576 |
-
"\n",
|
577 |
-
"**Potential Sales and Pricing Strategy**:\n",
|
578 |
-
"- Given the average pricing of competitors, a pricing strategy for a new coffee shop could be set between 90-200 THB, aligning with the market while ensuring quality offerings.\n",
|
579 |
-
"- Emphasizing unique selling points such as specialty blends, local sourcing, or unique brewing methods could attract customers willing to pay a premium.\n",
|
580 |
-
"\n",
|
581 |
-
"**Optimal Price Range**:\n",
|
582 |
-
"- Based on competitor pricing and customer demographics, an optimal price range for coffee products would be between 100-200 THB, which is competitive yet profitable in this urban setting.\n",
|
583 |
-
"\n",
|
584 |
-
"This analysis provides a comprehensive overview of the competitive landscape and potential strategies for entering the coffee market near Central World.\n"
|
585 |
]
|
586 |
}
|
587 |
],
|
588 |
"source": [
|
589 |
-
"question = \"
|
590 |
"\n",
|
591 |
"graph = workflow.compile()\n",
|
592 |
"\n",
|
@@ -609,7 +453,7 @@
|
|
609 |
},
|
610 |
{
|
611 |
"cell_type": "code",
|
612 |
-
"execution_count":
|
613 |
"metadata": {},
|
614 |
"outputs": [],
|
615 |
"source": [
|
@@ -632,7 +476,7 @@
|
|
632 |
" \n",
|
633 |
" response = list(events[-1].values())[0][\"messages\"][0]\n",
|
634 |
" response = response.content\n",
|
635 |
-
" response = response.replace(\"
|
636 |
" \n",
|
637 |
" return response\n",
|
638 |
"\n",
|
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
+
"execution_count": 2,
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
|
|
15 |
},
|
16 |
{
|
17 |
"cell_type": "code",
|
18 |
+
"execution_count": 3,
|
19 |
"metadata": {},
|
20 |
"outputs": [],
|
21 |
"source": [
|
|
|
27 |
},
|
28 |
{
|
29 |
"cell_type": "code",
|
30 |
+
"execution_count": 4,
|
31 |
"metadata": {},
|
32 |
"outputs": [],
|
33 |
"source": [
|
|
|
38 |
"# for llm model\n",
|
39 |
"from langchain_openai import ChatOpenAI\n",
|
40 |
"# from langchain_community.chat_models import ChatOpenAI\n",
|
41 |
+
"from tools import (\n",
|
42 |
+
" find_place_from_text, \n",
|
43 |
+
" nearby_search, \n",
|
44 |
+
" nearby_dense_community, \n",
|
45 |
+
" google_search, \n",
|
46 |
+
" population_doc_retriever\n",
|
47 |
+
")\n",
|
48 |
"from typing import Annotated, Sequence, TypedDict\n",
|
49 |
"from langchain_core.messages import (\n",
|
50 |
" AIMessage, \n",
|
|
|
55 |
"from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n",
|
56 |
"from langgraph.graph import END, StateGraph, START\n",
|
57 |
"\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
"\n",
|
59 |
"\n",
|
60 |
"## tools and LLM\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
"# Bind the tools to the model\n",
|
62 |
+
"tools = [population_doc_retriever, find_place_from_text, nearby_search, nearby_dense_community, google_search] # Include both tools if needed\n",
|
63 |
"# tools = [find_place_from_text, nearby_search]\n",
|
64 |
"\n",
|
65 |
"llm = ChatOpenAI(model=\"gpt-4o-mini\", temperature=0.0)\n",
|
|
|
150 |
" if last_message.tool_calls:\n",
|
151 |
" # The previous agent is invoking a tool\n",
|
152 |
" return \"call_tool\"\n",
|
153 |
+
" if \"%SIjfE923hf\" in last_message.content:\n",
|
154 |
" # Any agent decided the work is done\n",
|
155 |
" return \"__end__\"\n",
|
156 |
" else:\n",
|
|
|
201 |
},
|
202 |
{
|
203 |
"cell_type": "code",
|
204 |
+
"execution_count": 5,
|
205 |
"metadata": {},
|
206 |
"outputs": [],
|
207 |
"source": [
|
|
|
216 |
},
|
217 |
{
|
218 |
"cell_type": "code",
|
219 |
+
"execution_count": 8,
|
220 |
"metadata": {},
|
221 |
"outputs": [
|
222 |
{
|
|
|
226 |
"==================================\u001b[1m Ai Message \u001b[0m==================================\n",
|
227 |
"Name: analyst\n",
|
228 |
"Tool Calls:\n",
|
229 |
+
" find_place_from_text (call_GYUgNNbPxdxKpJI5gxtUjdF0)\n",
|
230 |
+
" Call ID: call_GYUgNNbPxdxKpJI5gxtUjdF0\n",
|
231 |
+
" Args:\n",
|
232 |
+
" location: ทองหล่อ\n",
|
233 |
+
" search_population_community_household_expenditures_data (call_9QJBdwVh2bUtTlsshuftteDa)\n",
|
234 |
+
" Call ID: call_9QJBdwVh2bUtTlsshuftteDa\n",
|
235 |
" Args:\n",
|
236 |
+
" query: โรงแรม ทองหล่อ\n",
|
237 |
"=================================\u001b[1m Tool Message \u001b[0m=================================\n",
|
238 |
+
"Name: find_place_from_text\n",
|
239 |
"\n",
|
|
|
240 |
"\n",
|
241 |
+
" address: ถ. ทองหล่อ กรุงเทพมหานคร ประเทศไทย\n",
|
242 |
"\n",
|
243 |
+
" location: {'lat': 13.7424537, 'lng': 100.5854359}\n",
|
244 |
"\n",
|
245 |
+
" location_name: ถ. ทองหล่อ\n",
|
246 |
"\n",
|
247 |
+
" \n",
|
248 |
+
"==================================\u001b[1m Ai Message \u001b[0m==================================\n",
|
249 |
+
"Name: analyst\n",
|
250 |
"\n",
|
251 |
+
"I have gathered some initial data regarding hotels in the Thonglor area. Here are the details:\n",
|
|
|
252 |
"\n",
|
253 |
+
"1. **Location**: Thonglor, Bangkok\n",
|
254 |
+
" - Latitude: 13.7424537\n",
|
255 |
+
" - Longitude: 100.5854359\n",
|
256 |
"\n",
|
257 |
+
"2. **Hotel Business Analysis**:\n",
|
258 |
+
" - The data indicates various aspects of hotel operations in the area, including occupancy rates and trends over the years. However, the specific figures and trends were not fully extracted in the previous search.\n",
|
259 |
"\n",
|
260 |
+
"To further analyze the hotel business in Thonglor, I recommend looking into the following aspects:\n",
|
261 |
+
"- **Occupancy Rates**: Historical data on how many rooms are filled over time.\n",
|
262 |
+
"- **Average Daily Rate (ADR)**: The average revenue earned for an occupied room.\n",
|
263 |
+
"- **Revenue Per Available Room (RevPAR)**: A key performance metric in the hotel industry.\n",
|
264 |
+
"- **Market Trends**: Insights into the competitive landscape and customer preferences.\n",
|
265 |
"\n",
|
266 |
+
"Would you like me to search for specific data on occupancy rates, ADR, or any other particular aspect of the hotel business in Thonglor?\n",
|
267 |
+
"==================================\u001b[1m Ai Message \u001b[0m==================================\n",
|
268 |
+
"Name: data_collector\n",
|
269 |
+
"Tool Calls:\n",
|
270 |
+
" nearby_search (call_Gztb2XtVgwFG8CizWFDfDjQW)\n",
|
271 |
+
" Call ID: call_Gztb2XtVgwFG8CizWFDfDjQW\n",
|
272 |
+
" Args:\n",
|
273 |
+
" input_dict: {'keyword': 'hotel', 'location_name': 'Thonglor', 'radius': 1000, 'place_type': 'hotel'}\n",
|
274 |
+
" google_search (call_cyycO0Dy4mP0jwTg1LfsoPoy)\n",
|
275 |
+
" Call ID: call_cyycO0Dy4mP0jwTg1LfsoPoy\n",
|
276 |
+
" Args:\n",
|
277 |
+
" input_dict: {'keyword': 'number of rooms in hotels in Thonglor'}\n",
|
278 |
+
" search_population_community_household_expenditures_data (call_v1FAVlUjTAzWFL0bRZueuGY7)\n",
|
279 |
+
" Call ID: call_v1FAVlUjTAzWFL0bRZueuGY7\n",
|
280 |
+
" Args:\n",
|
281 |
+
" query: Thonglor\n",
|
282 |
+
"=================================\u001b[1m Tool Message \u001b[0m=================================\n",
|
283 |
+
"Name: nearby_search\n",
|
284 |
"\n",
|
285 |
+
"number of results: 21\n",
|
286 |
"\n",
|
287 |
+
" **Metropole Bangkok**\n",
|
288 |
+
"\n",
|
289 |
+
" address: 2802 Thong Lo, Bang Kapi, Huai Khwang\n",
|
290 |
+
"\n",
|
291 |
+
" rating: 4.1\n",
|
292 |
"\n",
|
293 |
"\n",
|
294 |
" \n",
|
295 |
+
" **Mövenpick Ekkamai Bangkok**\n",
|
296 |
"\n",
|
297 |
+
" address: 559 Sukhumvit 63, Khlong Tan Nuea, Watthana\n",
|
298 |
"\n",
|
299 |
+
" rating: 4.4\n",
|
300 |
"\n",
|
301 |
"\n",
|
302 |
" \n",
|
303 |
+
" **Nice Residence Hotel @Ekamai 14**\n",
|
304 |
"\n",
|
305 |
+
" address: 8 ถนน สุขุมวิท Khlong Tan Nuea, Watthana\n",
|
306 |
"\n",
|
307 |
+
" rating: 4.1\n",
|
308 |
"\n",
|
309 |
"\n",
|
310 |
" \n",
|
311 |
+
" **Maitria Hotel Rama 9 Bangkok**\n",
|
312 |
"\n",
|
313 |
+
" address: 908 Khlong Samsen Rd, Bang Kapi, Huai Khwang\n",
|
314 |
"\n",
|
315 |
+
" rating: 4.3\n",
|
316 |
"\n",
|
317 |
"\n",
|
318 |
" \n",
|
319 |
+
" **Ashley Hotel BKK**\n",
|
320 |
"\n",
|
321 |
+
" address: 138 Sukhumvit 53 Alley, Khlong Tan Nuea, Watthana\n",
|
322 |
"\n",
|
323 |
+
" rating: 4.7\n",
|
324 |
"\n",
|
325 |
"\n",
|
326 |
" \n",
|
327 |
+
" **The Residence on Thonglor by UHG**\n",
|
328 |
"\n",
|
329 |
+
" address: 73 Thong Lo, Khlong Tan Nuea, Watthana\n",
|
330 |
"\n",
|
331 |
+
" rating: 4.1\n",
|
332 |
"\n",
|
333 |
"\n",
|
334 |
" \n",
|
335 |
+
" **Chiva Bangkok Hotel**\n",
|
336 |
"\n",
|
337 |
+
" address: 39/1 Soi Soonvijai 7 New Petchburi Road Soi 47, Bangkapi, Huay Kwang\n",
|
338 |
"\n",
|
339 |
+
" rating: 3.9\n",
|
340 |
"\n",
|
341 |
"\n",
|
342 |
" \n",
|
343 |
+
" **Montana Hotel & Residence**\n",
|
344 |
"\n",
|
345 |
+
" address: 1 Sun Wichai 14 Alley, Khwaeng Bang Kapi, Huai Khwang\n",
|
346 |
"\n",
|
347 |
+
" rating: 4.3\n",
|
348 |
"\n",
|
349 |
"\n",
|
350 |
" \n",
|
351 |
+
" **Holiday Inn Express Bangkok Soi Soonvijai, an IHG Hotel**\n",
|
|
|
352 |
"\n",
|
353 |
+
" address: 19 Soi Phetchaburi 47, Khwaeng Bang Kapi, Bangkapi\n",
|
354 |
"\n",
|
355 |
+
" rating: 4.3\n",
|
|
|
|
|
356 |
"\n",
|
|
|
|
|
|
|
357 |
"\n",
|
358 |
+
" \n",
|
359 |
+
" **OB-OON Boutique Hotel & Café**\n",
|
|
|
360 |
"\n",
|
361 |
+
" address: 12/13 ถนน สุขุมวิท ซอย 49/6 Khlong Tan Nuea, Watthana\n",
|
|
|
|
|
362 |
"\n",
|
363 |
+
" rating: 4.3\n",
|
|
|
|
|
364 |
"\n",
|
|
|
|
|
|
|
365 |
"\n",
|
366 |
+
" \n",
|
367 |
+
"==================================\u001b[1m Ai Message \u001b[0m==================================\n",
|
368 |
+
"Name: data_collector\n",
|
369 |
"\n",
|
370 |
+
"Here is the detailed analysis of the hotel business in the Thonglor area:\n",
|
|
|
|
|
371 |
"\n",
|
372 |
+
"### Nearby Hotels in Thonglor\n",
|
373 |
+
"1. **Metropole Bangkok**\n",
|
374 |
+
" - Address: 2802 Thong Lo, Bang Kapi, Huai Khwang\n",
|
375 |
+
" - Rating: 4.1\n",
|
376 |
"\n",
|
377 |
+
"2. **Mövenpick Ekkamai Bangkok**\n",
|
378 |
+
" - Address: 559 Sukhumvit 63, Khlong Tan Nuea, Watthana\n",
|
379 |
+
" - Rating: 4.4\n",
|
380 |
"\n",
|
381 |
+
"3. **Nice Residence Hotel @Ekamai 14**\n",
|
382 |
+
" - Address: 8 Thonglor 19, Khlong Tan Nuea, Watthana\n",
|
383 |
+
" - Rating: 4.1\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
384 |
"\n",
|
385 |
+
"4. **Maitria Hotel Rama 9 Bangkok**\n",
|
386 |
+
" - Address: 908 Khlong Samsen Rd, Bang Kapi, Huai Khwang\n",
|
387 |
+
" - Rating: 4.3\n",
|
388 |
"\n",
|
389 |
+
"5. **Ashley Hotel BKK**\n",
|
390 |
+
" - Address: 138 Sukhumvit 53 Alley, Khlong Tan Nuea, Watthana\n",
|
391 |
+
" - Rating: 4.7\n",
|
392 |
"\n",
|
393 |
+
"6. **The Residence on Thonglor by UHG**\n",
|
394 |
+
" - Address: 73 Thong Lo, Khlong Tan Nuea, Watthana\n",
|
395 |
+
" - Rating: 4.1\n",
|
396 |
"\n",
|
397 |
+
"7. **Chiva Bangkok Hotel**\n",
|
398 |
+
" - Address: 39/1 Soi Soonvijai 7 New Petchburi Road Soi 47, Bangkapi, Huay Kwang\n",
|
399 |
+
" - Rating: 3.9\n",
|
|
|
400 |
"\n",
|
401 |
+
"8. **Montana Hotel & Residence**\n",
|
402 |
+
" - Address: 1 Sun Wichai 14 Alley, Khwaeng Bang Kapi, Huai Khwang\n",
|
403 |
+
" - Rating: 4.3\n",
|
404 |
"\n",
|
405 |
+
"9. **Holiday Inn Express Bangkok Soi Soonvijai, an IHG Hotel**\n",
|
406 |
+
" - Address: 19 Soi Phetchaburi 47, Khwaeng Bang Kapi, Bangkapi\n",
|
407 |
+
" - Rating: 4.3\n",
|
|
|
|
|
408 |
"\n",
|
409 |
+
"10. **OB-OON Boutique Hotel & Café**\n",
|
410 |
+
" - Address: 12/13 Thonglor 19, Khlong Tan Nuea, Watthana\n",
|
411 |
+
" - Rating: 4.3\n",
|
|
|
412 |
"\n",
|
413 |
+
"### Number of Rooms in Hotels\n",
|
414 |
+
"- The search for the number of rooms in hotels in Thonglor yielded various results, but specific numbers were not consistently available. However, it is common for hotels in this area to have between 20 to 300 rooms, depending on the size and type of the hotel.\n",
|
|
|
|
|
415 |
"\n",
|
416 |
+
"### Population and Community Data\n",
|
417 |
+
"- **Population**: The population in the Thonglor area is approximately 45,000 residents.\n",
|
418 |
+
"- **Community Type**: Thonglor is known as an upscale urban community with a mix of residential and commercial properties.\n",
|
419 |
+
"- **Household Expenditures**: The average household expenditure in this area is around 39,000 THB per month, reflecting the affluent nature of the community.\n",
|
420 |
"\n",
|
421 |
+
"### Summary\n",
|
422 |
+
"Thonglor is a vibrant area with a variety of hotels catering to different market segments. The competitive landscape includes both high-end and boutique hotels, with ratings generally above 4.0. The community is affluent, with significant household expenditures, making it an attractive location for hotel businesses.\n",
|
|
|
|
|
423 |
"\n",
|
424 |
+
"If you need more specific data or further analysis, please let me know!\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
"==================================\u001b[1m Ai Message \u001b[0m==================================\n",
|
426 |
"Name: reporter\n",
|
427 |
"\n",
|
428 |
+
"%SIjfE923hf\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
429 |
]
|
430 |
}
|
431 |
],
|
432 |
"source": [
|
433 |
+
"question = \"วิเคราะห์ธุรกิจโรงแรมแถวทองหล่อ\"\n",
|
434 |
"\n",
|
435 |
"graph = workflow.compile()\n",
|
436 |
"\n",
|
|
|
453 |
},
|
454 |
{
|
455 |
"cell_type": "code",
|
456 |
+
"execution_count": 7,
|
457 |
"metadata": {},
|
458 |
"outputs": [],
|
459 |
"source": [
|
|
|
476 |
" \n",
|
477 |
" response = list(events[-1].values())[0][\"messages\"][0]\n",
|
478 |
" response = response.content\n",
|
479 |
+
" response = response.replace(\"%SIjfE923hf\", \"\")\n",
|
480 |
" \n",
|
481 |
" return response\n",
|
482 |
"\n",
|
chatbot_multiagent.py
CHANGED
@@ -19,7 +19,13 @@ import functools
|
|
19 |
# for llm model
|
20 |
from langchain_openai import ChatOpenAI
|
21 |
# from langchain_community.chat_models import ChatOpenAI
|
22 |
-
from tools import
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
from typing import Annotated, Sequence, TypedDict
|
24 |
from langchain_core.messages import (
|
25 |
AIMessage,
|
@@ -30,50 +36,11 @@ from langchain_core.messages import (
|
|
30 |
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
|
31 |
from langgraph.graph import END, StateGraph, START
|
32 |
|
33 |
-
## Document vector store for context
|
34 |
-
from langchain_chroma import Chroma
|
35 |
-
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
36 |
-
from langchain_community.document_loaders import CSVLoader
|
37 |
-
from langchain_openai import OpenAIEmbeddings
|
38 |
-
import glob
|
39 |
-
from langchain.tools.retriever import create_retriever_tool
|
40 |
-
|
41 |
-
def format_docs(docs):
|
42 |
-
return "\n\n".join(doc.page_content for doc in docs)
|
43 |
-
|
44 |
-
|
45 |
-
## Document csv
|
46 |
-
# Specify the pattern
|
47 |
-
file_pattern = "document/*.csv"
|
48 |
-
file_paths = tuple(glob.glob(file_pattern))
|
49 |
-
|
50 |
-
all_docs = []
|
51 |
-
|
52 |
-
for file_path in file_paths:
|
53 |
-
loader = CSVLoader(file_path=file_path)
|
54 |
-
docs = loader.load()
|
55 |
-
all_docs.extend(docs) # Add the documents to the list
|
56 |
-
|
57 |
-
# Split text into chunks separated.
|
58 |
-
text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=100)
|
59 |
-
splits = text_splitter.split_documents(all_docs)
|
60 |
-
|
61 |
-
# Text Vectorization.
|
62 |
-
vectorstore = Chroma.from_documents(documents=splits, embedding=OpenAIEmbeddings())
|
63 |
-
|
64 |
-
# Retrieve and generate using the relevant snippets of the blog.
|
65 |
-
retriever = vectorstore.as_retriever()
|
66 |
|
67 |
|
68 |
## tools and LLM
|
69 |
-
retriever_tool = create_retriever_tool(
|
70 |
-
retriever,
|
71 |
-
"search_population_community_household_expenditures_data",
|
72 |
-
"Use this tool to retrieve information about population, community and household expenditures. by searching distinct or province"
|
73 |
-
)
|
74 |
-
|
75 |
# Bind the tools to the model
|
76 |
-
tools = [
|
77 |
# tools = [find_place_from_text, nearby_search]
|
78 |
|
79 |
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.0)
|
@@ -164,7 +131,7 @@ def router(state) -> Literal["call_tool", "__end__", "continue"]:
|
|
164 |
if last_message.tool_calls:
|
165 |
# The previous agent is invoking a tool
|
166 |
return "call_tool"
|
167 |
-
if "
|
168 |
# Any agent decided the work is done
|
169 |
return "__end__"
|
170 |
else:
|
@@ -262,7 +229,7 @@ def submitUserMessage(user_input: str) -> str:
|
|
262 |
|
263 |
response = list(events[-1].values())[0]["messages"][0]
|
264 |
response = response.content
|
265 |
-
response = response.replace("
|
266 |
|
267 |
return response
|
268 |
|
|
|
19 |
# for llm model
|
20 |
from langchain_openai import ChatOpenAI
|
21 |
# from langchain_community.chat_models import ChatOpenAI
|
22 |
+
from tools import (
|
23 |
+
find_place_from_text,
|
24 |
+
nearby_search,
|
25 |
+
nearby_dense_community,
|
26 |
+
google_search,
|
27 |
+
population_doc_retriever,
|
28 |
+
)
|
29 |
from typing import Annotated, Sequence, TypedDict
|
30 |
from langchain_core.messages import (
|
31 |
AIMessage,
|
|
|
36 |
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
|
37 |
from langgraph.graph import END, StateGraph, START
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
40 |
|
41 |
## tools and LLM
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
# Bind the tools to the model
|
43 |
+
tools = [population_doc_retriever, find_place_from_text, nearby_search, nearby_dense_community, google_search] # Include both tools if needed
|
44 |
# tools = [find_place_from_text, nearby_search]
|
45 |
|
46 |
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.0)
|
|
|
131 |
if last_message.tool_calls:
|
132 |
# The previous agent is invoking a tool
|
133 |
return "call_tool"
|
134 |
+
if "%SIjfE923hf" in last_message.content:
|
135 |
# Any agent decided the work is done
|
136 |
return "__end__"
|
137 |
else:
|
|
|
229 |
|
230 |
response = list(events[-1].values())[0]["messages"][0]
|
231 |
response = response.content
|
232 |
+
response = response.replace("%SIjfE923hf", "")
|
233 |
|
234 |
return response
|
235 |
|
gplace.ipynb
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
-
"execution_count":
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
@@ -12,7 +12,7 @@
|
|
12 |
},
|
13 |
{
|
14 |
"cell_type": "code",
|
15 |
-
"execution_count":
|
16 |
"metadata": {},
|
17 |
"outputs": [],
|
18 |
"source": [
|
@@ -23,7 +23,7 @@
|
|
23 |
},
|
24 |
{
|
25 |
"cell_type": "code",
|
26 |
-
"execution_count":
|
27 |
"metadata": {},
|
28 |
"outputs": [
|
29 |
{
|
@@ -39,10 +39,10 @@
|
|
39 |
{
|
40 |
"data": {
|
41 |
"text/plain": [
|
42 |
-
"'1. Fashion Island\\nAddress: 587-589/7-9, Ram Inthra Rd, Khwaeng Khan Na Yao, Khet Khan Na Yao, Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJd57HEQRjHTERG_xSTcdQoYs\\nPhone: 02 947 5000\\nWebsite: http://www.fashionisland.co.th/\\n\\n\\n2. Food Island-Fashion Island\\nAddress: 5/5-6 หมู่ 5 Fashion Island, Ram Inthra Rd, Khwaeng Khan Na Yao, บางเขน Krung Thep Maha Nakhon 10220, Thailand\\nGoogle place ID: ChIJxVlvKA9jHTERAaDXThEk0sU\\nPhone: Unknown\\nWebsite: https://www.fashionisland.co.th/\\n\\n\\n3.
|
43 |
]
|
44 |
},
|
45 |
-
"execution_count":
|
46 |
"metadata": {},
|
47 |
"output_type": "execute_result"
|
48 |
}
|
@@ -56,7 +56,7 @@
|
|
56 |
},
|
57 |
{
|
58 |
"cell_type": "code",
|
59 |
-
"execution_count":
|
60 |
"metadata": {},
|
61 |
"outputs": [],
|
62 |
"source": [
|
@@ -66,14 +66,14 @@
|
|
66 |
},
|
67 |
{
|
68 |
"cell_type": "code",
|
69 |
-
"execution_count":
|
70 |
"metadata": {},
|
71 |
"outputs": [
|
72 |
{
|
73 |
"name": "stdout",
|
74 |
"output_type": "stream",
|
75 |
"text": [
|
76 |
-
"{'candidates': [{'formatted_address': '
|
77 |
]
|
78 |
}
|
79 |
],
|
@@ -109,7 +109,7 @@
|
|
109 |
"\n",
|
110 |
"# Example usage:\n",
|
111 |
"location = \"15.87,100.9925\" # Latitude and Longitude\n",
|
112 |
-
"input_text = \"
|
113 |
"result = find_place_from_text(input_text, location)\n",
|
114 |
"\n",
|
115 |
"print(result)"
|
@@ -117,7 +117,7 @@
|
|
117 |
},
|
118 |
{
|
119 |
"cell_type": "code",
|
120 |
-
"execution_count":
|
121 |
"metadata": {},
|
122 |
"outputs": [
|
123 |
{
|
@@ -160,500 +160,476 @@
|
|
160 |
},
|
161 |
{
|
162 |
"cell_type": "code",
|
163 |
-
"execution_count":
|
164 |
"metadata": {},
|
165 |
"outputs": [
|
166 |
{
|
167 |
"data": {
|
168 |
"text/plain": [
|
169 |
"[{'business_status': 'OPERATIONAL',\n",
|
170 |
-
" 'geometry': {'location': {'lat': 13.
|
171 |
-
" 'viewport': {'northeast': {'lat': 13.
|
172 |
-
" 'lng': 100.
|
173 |
-
" 'southwest': {'lat': 13.
|
174 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
175 |
-
" 'icon_background_color': '#
|
176 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
177 |
-
" 'name': '
|
178 |
-
" 'opening_hours': {'open_now': True},\n",
|
179 |
-
" 'photos': [{'height': 3024,\n",
|
180 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/112771822205386110836\">Natthapong Taweesook</a>'],\n",
|
181 |
-
" 'photo_reference': 'AXCi2Q4ixaFFCtaz0ysxevjz-lWDMlygAsaAcEE2XLZabgjf4qZw-rHYlOQUP9dTGXWhy3j-U96v8GRPBu7FY0c4eA8fNoJta4-oG2lATPR0ERQ3lsTmU6FOii4XgWUHWmZp4b37hZWJEL5rYUx-NBTvt6ZtpBUc0EE0UZ5HYATIUEBxWIE',\n",
|
182 |
-
" 'width': 4032}],\n",
|
183 |
-
" 'place_id': 'ChIJl9od-jqZ4jARVmMNi4wBU2o',\n",
|
184 |
-
" 'plus_code': {'compound_code': 'PGX8+MF Bangkok',\n",
|
185 |
-
" 'global_code': '7P52PGX8+MF'},\n",
|
186 |
-
" 'price_level': 3,\n",
|
187 |
-
" 'rating': 4.4,\n",
|
188 |
-
" 'reference': 'ChIJl9od-jqZ4jARVmMNi4wBU2o',\n",
|
189 |
-
" 'scope': 'GOOGLE',\n",
|
190 |
-
" 'types': ['restaurant', 'point_of_interest', 'food', 'establishment'],\n",
|
191 |
-
" 'user_ratings_total': 2323,\n",
|
192 |
-
" 'vicinity': '678/1-7 Bamrung Mueang Rd, Wat Thep Sirin, Pom Prap Sattru Phai'},\n",
|
193 |
-
" {'business_status': 'OPERATIONAL',\n",
|
194 |
-
" 'geometry': {'location': {'lat': 13.7449251, 'lng': 100.514918},\n",
|
195 |
-
" 'viewport': {'northeast': {'lat': 13.74623957989272,\n",
|
196 |
-
" 'lng': 100.5163598298927},\n",
|
197 |
-
" 'southwest': {'lat': 13.74353992010728, 'lng': 100.5136601701073}}},\n",
|
198 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/restaurant-71.png',\n",
|
199 |
-
" 'icon_background_color': '#FF9E67',\n",
|
200 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/restaurant_pinlet',\n",
|
201 |
-
" 'name': 'Lung & Pa',\n",
|
202 |
-
" 'opening_hours': {'open_now': True},\n",
|
203 |
-
" 'photos': [{'height': 3024,\n",
|
204 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/110942926860690688661\">Mongkol Yongrakkiat</a>'],\n",
|
205 |
-
" 'photo_reference': 'AXCi2Q7uzm3mBjDShx0q0RFXgZaOMQD0cxO_gih8HbXo3QF1uLuy-YMHiDQqs6PP9Ule8XzWJ_mlax9ntxLndIT74JPX-smiZ-0nuxQEkn8tqqJZ_BfqDWJlGgZR9J4dkf_4i4o5xQNJo_gbvD6piZor39uOvwsA8LHidnAVQduWwfcdW9yC',\n",
|
206 |
-
" 'width': 4032}],\n",
|
207 |
-
" 'place_id': 'ChIJB0JM5CSZ4jARZ0sxEfceIho',\n",
|
208 |
-
" 'plus_code': {'compound_code': 'PGV8+X2 Bangkok',\n",
|
209 |
-
" 'global_code': '7P52PGV8+X2'},\n",
|
210 |
-
" 'price_level': 1,\n",
|
211 |
-
" 'rating': 4.6,\n",
|
212 |
-
" 'reference': 'ChIJB0JM5CSZ4jARZ0sxEfceIho',\n",
|
213 |
-
" 'scope': 'GOOGLE',\n",
|
214 |
-
" 'types': ['restaurant', 'point_of_interest', 'food', 'establishment'],\n",
|
215 |
-
" 'user_ratings_total': 125,\n",
|
216 |
-
" 'vicinity': '34/3 Mittraphan Rd, Pom Prap, Pom Prap Sattru Phai'},\n",
|
217 |
-
" {'business_status': 'OPERATIONAL',\n",
|
218 |
-
" 'geometry': {'location': {'lat': 13.7539337, 'lng': 100.5418347},\n",
|
219 |
-
" 'viewport': {'northeast': {'lat': 13.75527512989272,\n",
|
220 |
-
" 'lng': 100.5432228298927},\n",
|
221 |
-
" 'southwest': {'lat': 13.75257547010728, 'lng': 100.5405231701073}}},\n",
|
222 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/restaurant-71.png',\n",
|
223 |
-
" 'icon_background_color': '#FF9E67',\n",
|
224 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/restaurant_pinlet',\n",
|
225 |
-
" 'name': 'Pratunam Thai Food~Authentic (Cook by thai chef) / ร้านอาหาร ประตูน้ำไทยฟู้ด',\n",
|
226 |
-
" 'opening_hours': {'open_now': True},\n",
|
227 |
-
" 'photos': [{'height': 809,\n",
|
228 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/100445062871009806114\">A Google User</a>'],\n",
|
229 |
-
" 'photo_reference': 'AXCi2Q5dMTyeHD1SCh3CqUEvstb8SO-1bDvrMdYByrTHBwiiH427Pm4rUg5XkXLWmz7N56dTwWtSMPMt6K6PJ0sSt8hQvcVtjDKMG-4raiz2WLL5MpLVApuDUqJi-TACjjeuKUe3w78igpYx3-icU8OuibBiMGmfcl0T7xf0AcPa3-9xTbiQ',\n",
|
230 |
-
" 'width': 1440}],\n",
|
231 |
-
" 'place_id': 'ChIJbclEnumf4jARYQQZzBKxU18',\n",
|
232 |
-
" 'plus_code': {'compound_code': 'QG3R+HP Bangkok',\n",
|
233 |
-
" 'global_code': '7P52QG3R+HP'},\n",
|
234 |
-
" 'rating': 4.8,\n",
|
235 |
-
" 'reference': 'ChIJbclEnumf4jARYQQZzBKxU18',\n",
|
236 |
-
" 'scope': 'GOOGLE',\n",
|
237 |
-
" 'types': ['restaurant', 'point_of_interest', 'food', 'establishment'],\n",
|
238 |
-
" 'user_ratings_total': 63,\n",
|
239 |
-
" 'vicinity': '190 3 ถนน พญาไท Khwaeng Makkasan, Ratchathewi'},\n",
|
240 |
-
" {'business_status': 'OPERATIONAL',\n",
|
241 |
-
" 'geometry': {'location': {'lat': 13.7380932, 'lng': 100.5168921},\n",
|
242 |
-
" 'viewport': {'northeast': {'lat': 13.73944302989272,\n",
|
243 |
-
" 'lng': 100.5182419298927},\n",
|
244 |
-
" 'southwest': {'lat': 13.73674337010728, 'lng': 100.5155422701073}}},\n",
|
245 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/restaurant-71.png',\n",
|
246 |
-
" 'icon_background_color': '#FF9E67',\n",
|
247 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/restaurant_pinlet',\n",
|
248 |
-
" 'name': 'Supa Restaurant',\n",
|
249 |
" 'opening_hours': {'open_now': True},\n",
|
250 |
-
" 'photos': [{'height':
|
251 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
252 |
-
" 'photo_reference': '
|
253 |
-
" 'width':
|
254 |
-
" 'place_id': '
|
255 |
-
" 'plus_code': {'compound_code': '
|
256 |
-
" 'global_code': '
|
257 |
-
" 'rating': 4
|
258 |
-
" 'reference': '
|
259 |
" 'scope': 'GOOGLE',\n",
|
260 |
-
" 'types': ['
|
261 |
-
" 'user_ratings_total':
|
262 |
-
" 'vicinity': '
|
263 |
" {'business_status': 'OPERATIONAL',\n",
|
264 |
-
" 'geometry': {'location': {'lat': 13.
|
265 |
-
" 'viewport': {'northeast': {'lat': 13.
|
266 |
-
" 'lng': 100.
|
267 |
-
" 'southwest': {'lat': 13.
|
268 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
269 |
-
" 'icon_background_color': '#
|
270 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
271 |
-
" 'name': '
|
272 |
-
" 'opening_hours': {'open_now':
|
273 |
-
" 'photos': [{'height':
|
274 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
275 |
-
" 'photo_reference': '
|
276 |
" 'width': 4000}],\n",
|
277 |
-
" 'place_id': '
|
278 |
-
" 'plus_code': {'compound_code': '
|
279 |
-
" 'global_code': '
|
280 |
-
" 'rating':
|
281 |
-
" 'reference': '
|
282 |
" 'scope': 'GOOGLE',\n",
|
283 |
-
" 'types': ['
|
284 |
-
" 'user_ratings_total':
|
285 |
-
" 'vicinity': '
|
286 |
" {'business_status': 'OPERATIONAL',\n",
|
287 |
-
" 'geometry': {'location': {'lat': 13.
|
288 |
-
" 'viewport': {'northeast': {'lat': 13.
|
289 |
-
" 'lng': 100.
|
290 |
-
" 'southwest': {'lat': 13.
|
291 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
292 |
-
" 'icon_background_color': '#
|
293 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
294 |
-
" 'name': '
|
295 |
-
" 'opening_hours': {'open_now':
|
296 |
-
" 'photos': [{'height':
|
297 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
298 |
-
" 'photo_reference': '
|
299 |
-
" 'width':
|
300 |
-
" 'place_id': '
|
301 |
-
" 'plus_code': {'compound_code': '
|
302 |
-
" 'global_code': '
|
303 |
-
" 'price_level': 2,\n",
|
304 |
" 'rating': 4.3,\n",
|
305 |
-
" 'reference': '
|
306 |
" 'scope': 'GOOGLE',\n",
|
307 |
-
" 'types': ['
|
308 |
-
" 'user_ratings_total':
|
309 |
-
" 'vicinity': '
|
310 |
" {'business_status': 'OPERATIONAL',\n",
|
311 |
-
" 'geometry': {'location': {'lat': 13.
|
312 |
-
" 'viewport': {'northeast': {'lat': 13.
|
313 |
-
" 'lng': 100.
|
314 |
-
" 'southwest': {'lat': 13.
|
315 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
316 |
-
" 'icon_background_color': '#
|
317 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
318 |
-
" 'name': '
|
319 |
" 'opening_hours': {'open_now': True},\n",
|
320 |
-
" 'photos': [{'height':
|
321 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
322 |
-
" 'photo_reference': '
|
323 |
-
" 'width':
|
324 |
-
" 'place_id': '
|
325 |
-
" 'plus_code': {'compound_code': '
|
326 |
-
" 'global_code': '
|
327 |
-
" '
|
328 |
-
" '
|
329 |
-
" 'reference': 'ChIJ371CmcWe4jARYiOXygYM3zY',\n",
|
330 |
" 'scope': 'GOOGLE',\n",
|
331 |
-
" 'types': ['
|
332 |
-
" 'user_ratings_total':
|
333 |
-
" 'vicinity': '
|
334 |
" {'business_status': 'OPERATIONAL',\n",
|
335 |
-
" 'geometry': {'location': {'lat': 13.
|
336 |
-
" 'viewport': {'northeast': {'lat': 13.
|
337 |
-
" 'lng': 100.
|
338 |
-
" 'southwest': {'lat': 13.
|
339 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
340 |
-
" 'icon_background_color': '#
|
341 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
342 |
-
" 'name': '
|
343 |
-
" '
|
344 |
-
"
|
345 |
-
" '
|
346 |
-
" '
|
347 |
-
"
|
348 |
-
" '
|
349 |
-
"
|
350 |
-
"
|
351 |
-
" '
|
352 |
-
" 'reference': 'ChIJVf0_Fsae4jARu_sU5nUULtA',\n",
|
353 |
" 'scope': 'GOOGLE',\n",
|
354 |
-
" 'types': ['
|
355 |
-
" 'user_ratings_total':
|
356 |
-
" 'vicinity': '
|
357 |
" {'business_status': 'OPERATIONAL',\n",
|
358 |
-
" 'geometry': {'location': {'lat': 13.
|
359 |
-
" 'viewport': {'northeast': {'lat': 13.
|
360 |
-
" 'lng': 100.
|
361 |
-
" 'southwest': {'lat': 13.
|
362 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
363 |
-
" 'icon_background_color': '#
|
364 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
365 |
-
" 'name': '
|
366 |
" 'opening_hours': {'open_now': True},\n",
|
367 |
-
" 'photos': [{'height':
|
368 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
369 |
-
" 'photo_reference': '
|
370 |
-
" 'width':
|
371 |
-
" 'place_id': '
|
372 |
-
" 'plus_code': {'compound_code': '
|
373 |
-
" 'global_code': '
|
374 |
-
" 'rating':
|
375 |
-
" 'reference': '
|
376 |
" 'scope': 'GOOGLE',\n",
|
377 |
-
" 'types': ['
|
378 |
-
"
|
379 |
-
"
|
380 |
-
" 'food',\n",
|
381 |
-
" 'store',\n",
|
382 |
-
" 'establishment'],\n",
|
383 |
-
" 'user_ratings_total': 1342,\n",
|
384 |
-
" 'vicinity': 'Unit #SS 3009, 388 Rama I Rd, Pathum Wan'},\n",
|
385 |
" {'business_status': 'OPERATIONAL',\n",
|
386 |
-
" 'geometry': {'location': {'lat': 13.
|
387 |
-
" 'viewport': {'northeast': {'lat': 13.
|
388 |
-
" 'lng': 100.
|
389 |
-
" 'southwest': {'lat': 13.
|
390 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
391 |
-
" 'icon_background_color': '#
|
392 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
393 |
-
" 'name': '
|
394 |
" 'opening_hours': {'open_now': True},\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
" 'photos': [{'height': 3024,\n",
|
396 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
397 |
-
" 'photo_reference': '
|
398 |
" 'width': 4032}],\n",
|
399 |
-
" 'place_id': '
|
400 |
-
" 'plus_code': {'compound_code': '
|
401 |
-
" 'global_code': '
|
402 |
-
" 'rating': 4.
|
403 |
-
" 'reference': '
|
404 |
" 'scope': 'GOOGLE',\n",
|
405 |
-
" 'types': ['
|
406 |
-
" 'user_ratings_total':
|
407 |
-
" 'vicinity': '
|
408 |
" {'business_status': 'OPERATIONAL',\n",
|
409 |
-
" 'geometry': {'location': {'lat': 13.
|
410 |
-
" 'viewport': {'northeast': {'lat': 13.
|
411 |
-
" 'lng': 100.
|
412 |
-
" 'southwest': {'lat': 13.
|
413 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
414 |
-
" 'icon_background_color': '#
|
415 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
416 |
-
" 'name': '
|
417 |
" 'opening_hours': {'open_now': True},\n",
|
418 |
-
" 'photos': [{'height':
|
419 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
420 |
-
" 'photo_reference': '
|
421 |
-
" 'width':
|
422 |
-
" 'place_id': '
|
423 |
-
" 'plus_code': {'compound_code': '
|
424 |
-
" 'global_code': '
|
425 |
-
" '
|
426 |
-
" '
|
427 |
-
" 'reference': 'ChIJcQ8J1TCZ4jARRBaANjybQI0',\n",
|
428 |
" 'scope': 'GOOGLE',\n",
|
429 |
-
" 'types': ['
|
430 |
-
" 'user_ratings_total':
|
431 |
-
" 'vicinity': '
|
432 |
" {'business_status': 'OPERATIONAL',\n",
|
433 |
-
" 'geometry': {'location': {'lat': 13.
|
434 |
-
" 'viewport': {'northeast': {'lat': 13.
|
435 |
-
" 'lng': 100.
|
436 |
-
" 'southwest': {'lat': 13.
|
437 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
438 |
-
" 'icon_background_color': '#
|
439 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
440 |
-
" 'name': '
|
441 |
" 'opening_hours': {'open_now': True},\n",
|
442 |
-
" 'photos': [{'height':
|
443 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
444 |
-
" 'photo_reference': '
|
445 |
-
" 'width':
|
446 |
-
" 'place_id': '
|
447 |
-
" 'plus_code': {'compound_code': '
|
448 |
-
" 'global_code': '
|
449 |
-
" '
|
450 |
-
" '
|
451 |
-
" 'reference': 'ChIJy-yYmtme4jARWdKwmvIB9Gc',\n",
|
452 |
" 'scope': 'GOOGLE',\n",
|
453 |
-
" 'types': ['
|
454 |
-
" '
|
455 |
" 'restaurant',\n",
|
456 |
-
" 'point_of_interest',\n",
|
457 |
" 'food',\n",
|
|
|
|
|
458 |
" 'establishment'],\n",
|
459 |
-
" 'user_ratings_total':
|
460 |
-
" 'vicinity': '
|
461 |
" {'business_status': 'OPERATIONAL',\n",
|
462 |
-
" 'geometry': {'location': {'lat': 13.
|
463 |
-
" 'viewport': {'northeast': {'lat': 13.
|
464 |
-
" 'lng': 100.
|
465 |
-
" 'southwest': {'lat': 13.
|
466 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
467 |
-
" 'icon_background_color': '#
|
468 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
469 |
-
" 'name': '
|
470 |
" 'opening_hours': {'open_now': True},\n",
|
471 |
-
" 'photos': [{'height':
|
472 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
473 |
-
" 'photo_reference': '
|
474 |
-
" 'width':
|
475 |
-
" 'place_id': '
|
476 |
-
" 'plus_code': {'compound_code': '
|
477 |
-
" 'global_code': '
|
478 |
-
" '
|
479 |
-
" '
|
480 |
-
" 'reference': 'ChIJ35IPmECZ4jARvr7OecVtBGM',\n",
|
481 |
" 'scope': 'GOOGLE',\n",
|
482 |
-
" 'types': ['
|
483 |
-
" 'user_ratings_total':
|
484 |
-
" 'vicinity': '
|
485 |
" {'business_status': 'OPERATIONAL',\n",
|
486 |
-
" 'geometry': {'location': {'lat': 13.
|
487 |
-
" 'viewport': {'northeast': {'lat': 13.
|
488 |
-
" 'lng': 100.
|
489 |
-
" 'southwest': {'lat': 13.
|
490 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
491 |
-
" 'icon_background_color': '#
|
492 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
493 |
-
" 'name': '
|
494 |
-
" '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
495 |
" 'photos': [{'height': 2268,\n",
|
496 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
497 |
-
" 'photo_reference': '
|
498 |
" 'width': 4032}],\n",
|
499 |
-
" 'place_id': '
|
500 |
-
" 'plus_code': {'compound_code': '
|
501 |
-
" 'global_code': '
|
502 |
-
" 'rating': 4
|
503 |
-
" 'reference': '
|
504 |
" 'scope': 'GOOGLE',\n",
|
505 |
-
" 'types': ['
|
506 |
-
" 'user_ratings_total':
|
507 |
-
" 'vicinity': '
|
508 |
" {'business_status': 'OPERATIONAL',\n",
|
509 |
-
" 'geometry': {'location': {'lat': 13.
|
510 |
-
" 'viewport': {'northeast': {'lat': 13.
|
511 |
-
" 'lng': 100.
|
512 |
-
" 'southwest': {'lat': 13.
|
513 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
514 |
-
" 'icon_background_color': '#
|
515 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
516 |
-
" 'name': '
|
517 |
" 'opening_hours': {'open_now': True},\n",
|
518 |
-
" 'photos': [{'height':
|
519 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
520 |
-
" 'photo_reference': '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
521 |
" 'width': 4032}],\n",
|
522 |
-
" 'place_id': '
|
523 |
-
" 'plus_code': {'compound_code': '
|
524 |
-
" 'global_code': '
|
525 |
-
" '
|
526 |
-
" '
|
527 |
-
" 'reference': 'ChIJZ5XY5bae4jARUv0Ljrhk2ug',\n",
|
528 |
" 'scope': 'GOOGLE',\n",
|
529 |
-
" 'types': ['
|
530 |
-
" 'user_ratings_total':
|
531 |
-
" 'vicinity': '
|
532 |
" {'business_status': 'OPERATIONAL',\n",
|
533 |
-
" 'geometry': {'location': {'lat': 13.
|
534 |
-
" 'viewport': {'northeast': {'lat': 13.
|
535 |
-
" 'lng': 100.
|
536 |
-
" 'southwest': {'lat': 13.
|
537 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
538 |
-
" 'icon_background_color': '#
|
539 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
540 |
-
" 'name': '
|
541 |
" 'opening_hours': {'open_now': True},\n",
|
542 |
-
" 'photos': [{'height':
|
543 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
544 |
-
" 'photo_reference': '
|
545 |
-
" 'width':
|
546 |
-
" 'place_id': '
|
547 |
-
" 'plus_code': {'compound_code': '
|
548 |
-
" 'global_code': '
|
549 |
-
" 'price_level': 1,\n",
|
550 |
" 'rating': 4.4,\n",
|
551 |
-
" 'reference': '
|
552 |
" 'scope': 'GOOGLE',\n",
|
553 |
-
" 'types': ['
|
554 |
-
" 'user_ratings_total':
|
555 |
-
" 'vicinity': '
|
556 |
" {'business_status': 'OPERATIONAL',\n",
|
557 |
-
" 'geometry': {'location': {'lat': 13.
|
558 |
-
" 'viewport': {'northeast': {'lat': 13.
|
559 |
-
" 'lng': 100.
|
560 |
-
" 'southwest': {'lat': 13.
|
561 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
562 |
-
" 'icon_background_color': '#
|
563 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
564 |
-
" 'name': '
|
565 |
" 'opening_hours': {'open_now': True},\n",
|
566 |
" 'photos': [{'height': 3024,\n",
|
567 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
568 |
-
" 'photo_reference': '
|
569 |
" 'width': 4032}],\n",
|
570 |
-
" 'place_id': '
|
571 |
-
" 'plus_code': {'compound_code': '
|
572 |
-
" 'global_code': '
|
573 |
-
" '
|
574 |
-
" '
|
575 |
-
" 'reference': 'ChIJF5udxZSf4jARicc-U9Mo4y0',\n",
|
576 |
" 'scope': 'GOOGLE',\n",
|
577 |
-
" 'types': ['
|
578 |
-
"
|
579 |
-
"
|
580 |
-
" 'food',\n",
|
581 |
-
" 'store',\n",
|
582 |
-
" 'establishment'],\n",
|
583 |
-
" 'user_ratings_total': 1296,\n",
|
584 |
-
" 'vicinity': '888, Mahatun Plaza, 3rd Floor (above Blue Cheri, 34-35 Phloen Chit Rd, Lumphini, Pathum Wan'},\n",
|
585 |
" {'business_status': 'OPERATIONAL',\n",
|
586 |
-
" 'geometry': {'location': {'lat': 13.
|
587 |
-
" 'viewport': {'northeast': {'lat': 13.
|
588 |
-
" 'lng': 100.
|
589 |
-
" 'southwest': {'lat': 13.
|
590 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
591 |
-
" 'icon_background_color': '#
|
592 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
593 |
-
" 'name': '
|
594 |
-
" '
|
595 |
-
"
|
596 |
-
" '
|
597 |
-
" 'photo_reference': 'AXCi2Q6j9PuVVA5X1OhhnXBurhO1jfMccC78FMbv4hugtzE59xEZr_5YiSl4bL7tCQjwO6hQnVLkGomE8Fbzg0ezzq7n5C5hs741PIuZmvdks4dm7GRPqIgaTYvAGdIkzXoqvl_uxY0kFEuWi_hjujGoGDPIIELUGNYhRfDsyx9ANQoU2y01',\n",
|
598 |
" 'width': 3024}],\n",
|
599 |
-
" 'place_id': '
|
600 |
-
" 'plus_code': {'compound_code': '
|
601 |
-
" 'global_code': '
|
602 |
-
" 'rating':
|
603 |
-
" 'reference': '
|
604 |
" 'scope': 'GOOGLE',\n",
|
605 |
-
" 'types': ['
|
606 |
-
" 'user_ratings_total':
|
607 |
-
" 'vicinity': '
|
608 |
-
" {'business_status': 'OPERATIONAL',\n",
|
609 |
-
" 'geometry': {'location': {'lat': 13.7458231, 'lng': 100.5396662},\n",
|
610 |
-
" 'viewport': {'northeast': {'lat': 13.74715152989272,\n",
|
611 |
-
" 'lng': 100.5410131298927},\n",
|
612 |
-
" 'southwest': {'lat': 13.74445187010728, 'lng': 100.5383134701073}}},\n",
|
613 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/restaurant-71.png',\n",
|
614 |
-
" 'icon_background_color': '#FF9E67',\n",
|
615 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/restaurant_pinlet',\n",
|
616 |
-
" 'name': 'ร้านอาหาร ฮั่วเซ่งฮง เซ็นทรัลเวิลด์ Huasenghong',\n",
|
617 |
-
" 'opening_hours': {'open_now': True},\n",
|
618 |
-
" 'photos': [{'height': 3024,\n",
|
619 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/113103653740302511759\">A Google User</a>'],\n",
|
620 |
-
" 'photo_reference': 'AXCi2Q7hNdxJpMaDh7sxYe_SoXQMAzC6JXRRC1MLhHoX3aHqcB5YqRLl3HcyTIhBSWm0U0mPQTI8n65dgqviIlD8e0hQHdRUqv6UgUIkti5M7ZVu-6V5NJFJRIXxpW4gSTwHSFVgd-JVoousMTg7ZQjIWOGRl7x8ZOJc6F8QfM6C-1K9Srot',\n",
|
621 |
-
" 'width': 4032}],\n",
|
622 |
-
" 'place_id': 'ChIJbXxW6M-e4jARE0x7fKFvHb4',\n",
|
623 |
-
" 'plus_code': {'compound_code': 'PGWQ+8V Bangkok',\n",
|
624 |
-
" 'global_code': '7P52PGWQ+8V'},\n",
|
625 |
-
" 'price_level': 2,\n",
|
626 |
-
" 'rating': 4.6,\n",
|
627 |
-
" 'reference': 'ChIJbXxW6M-e4jARE0x7fKFvHb4',\n",
|
628 |
-
" 'scope': 'GOOGLE',\n",
|
629 |
-
" 'types': ['restaurant', 'point_of_interest', 'food', 'establishment'],\n",
|
630 |
-
" 'user_ratings_total': 1044,\n",
|
631 |
-
" 'vicinity': '4 Ratchadamri Rd, Pathum Wan'},\n",
|
632 |
" {'business_status': 'OPERATIONAL',\n",
|
633 |
-
" 'geometry': {'location': {'lat': 13.
|
634 |
-
" 'viewport': {'northeast': {'lat': 13.
|
635 |
-
" 'lng': 100.
|
636 |
-
" 'southwest': {'lat': 13.
|
637 |
-
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/
|
638 |
-
" 'icon_background_color': '#
|
639 |
-
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/
|
640 |
-
" 'name': '
|
641 |
" 'opening_hours': {'open_now': True},\n",
|
642 |
-
" 'photos': [{'height':
|
643 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
644 |
-
" 'photo_reference': '
|
645 |
-
" 'width':
|
646 |
-
" 'place_id': '
|
647 |
-
" '
|
648 |
-
"
|
|
|
|
|
649 |
" 'scope': 'GOOGLE',\n",
|
650 |
-
" 'types': ['
|
651 |
-
" 'user_ratings_total':
|
652 |
-
" 'vicinity': '
|
653 |
" []]"
|
654 |
]
|
655 |
},
|
656 |
-
"execution_count":
|
657 |
"metadata": {},
|
658 |
"output_type": "execute_result"
|
659 |
}
|
@@ -709,14 +685,14 @@
|
|
709 |
"\n",
|
710 |
"# Example usage\n",
|
711 |
"location = \"13.744677,100.5295593\" # Latitude and Longitude\n",
|
712 |
-
"keyword = \"
|
713 |
"search_results = nearby_search(keyword, location)\n",
|
714 |
"search_results"
|
715 |
]
|
716 |
},
|
717 |
{
|
718 |
"cell_type": "code",
|
719 |
-
"execution_count":
|
720 |
"metadata": {},
|
721 |
"outputs": [
|
722 |
{
|
@@ -732,7 +708,7 @@
|
|
732 |
" 'name': 'Bangkok',\n",
|
733 |
" 'photos': [{'height': 934,\n",
|
734 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/107853816016331257868\">Harshvardhan Mali</a>'],\n",
|
735 |
-
" 'photo_reference': '
|
736 |
" 'width': 756}],\n",
|
737 |
" 'place_id': 'ChIJ82ENKDJgHTERIEjiXbIAAQE',\n",
|
738 |
" 'reference': 'ChIJ82ENKDJgHTERIEjiXbIAAQE',\n",
|
@@ -751,7 +727,7 @@
|
|
751 |
" 'opening_hours': {'open_now': True},\n",
|
752 |
" 'photos': [{'height': 2000,\n",
|
753 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/105529198599736349764\">Pathumwan Princess Hotel</a>'],\n",
|
754 |
-
" 'photo_reference': '
|
755 |
" 'width': 3000}],\n",
|
756 |
" 'place_id': 'ChIJFaLTtdKe4jARdKflx49LvdA',\n",
|
757 |
" 'plus_code': {'compound_code': 'PGVJ+73 Bangkok, Thailand',\n",
|
@@ -759,14 +735,14 @@
|
|
759 |
" 'rating': 4.5,\n",
|
760 |
" 'reference': 'ChIJFaLTtdKe4jARdKflx49LvdA',\n",
|
761 |
" 'scope': 'GOOGLE',\n",
|
762 |
-
" 'types': ['
|
763 |
-
" 'shopping_mall',\n",
|
764 |
" 'lodging',\n",
|
|
|
765 |
" 'restaurant',\n",
|
766 |
-
" 'point_of_interest',\n",
|
767 |
" 'food',\n",
|
|
|
768 |
" 'establishment'],\n",
|
769 |
-
" 'user_ratings_total':
|
770 |
" 'vicinity': '444 Phaya Thai Road, Khwaeng Wang Mai, Pathum Wan'},\n",
|
771 |
" {'business_status': 'OPERATIONAL',\n",
|
772 |
" 'geometry': {'location': {'lat': 13.7484011, 'lng': 100.5348436},\n",
|
@@ -779,7 +755,7 @@
|
|
779 |
" 'name': 'Siam Kempinski Hotel Bangkok',\n",
|
780 |
" 'photos': [{'height': 1080,\n",
|
781 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/101520779225452139808\">Siam Kempinski Hotel Bangkok</a>'],\n",
|
782 |
-
" 'photo_reference': '
|
783 |
" 'width': 1920}],\n",
|
784 |
" 'place_id': 'ChIJrfU90s2e4jARs0XZP2DZ4jM',\n",
|
785 |
" 'plus_code': {'compound_code': 'PGXM+9W Bangkok, Thailand',\n",
|
@@ -788,7 +764,7 @@
|
|
788 |
" 'reference': 'ChIJrfU90s2e4jARs0XZP2DZ4jM',\n",
|
789 |
" 'scope': 'GOOGLE',\n",
|
790 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
791 |
-
" 'user_ratings_total':
|
792 |
" 'vicinity': '991, 9 Rama I Road, Khwaeng Pathum Wan, Pathum Wan'},\n",
|
793 |
" {'business_status': 'OPERATIONAL',\n",
|
794 |
" 'geometry': {'location': {'lat': 13.7477183, 'lng': 100.5387477},\n",
|
@@ -802,7 +778,7 @@
|
|
802 |
" 'opening_hours': {'open_now': True},\n",
|
803 |
" 'photos': [{'height': 2832,\n",
|
804 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/108880770713939695570\">Centara Grand & Bangkok Convention Centre at centralwOrld</a>'],\n",
|
805 |
-
" 'photo_reference': '
|
806 |
" 'width': 4148}],\n",
|
807 |
" 'place_id': 'ChIJf1YJeC-Z4jARNNLn8M9QwMw',\n",
|
808 |
" 'plus_code': {'compound_code': 'PGXQ+3F Bangkok, Thailand',\n",
|
@@ -810,12 +786,12 @@
|
|
810 |
" 'rating': 4.6,\n",
|
811 |
" 'reference': 'ChIJf1YJeC-Z4jARNNLn8M9QwMw',\n",
|
812 |
" 'scope': 'GOOGLE',\n",
|
813 |
-
" 'types': ['
|
814 |
-
" 'bar',\n",
|
815 |
" 'lodging',\n",
|
|
|
816 |
" 'restaurant',\n",
|
817 |
-
" 'point_of_interest',\n",
|
818 |
" 'food',\n",
|
|
|
819 |
" 'establishment'],\n",
|
820 |
" 'user_ratings_total': 6175,\n",
|
821 |
" 'vicinity': '999, 99 Rama I Road, Khwaeng Pathum Wan, Pathum Wan'},\n",
|
@@ -831,7 +807,7 @@
|
|
831 |
" 'opening_hours': {'open_now': True},\n",
|
832 |
" 'photos': [{'height': 4752,\n",
|
833 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/101915072604208031209\">Evergreen Place Bangkok</a>'],\n",
|
834 |
-
" 'photo_reference': '
|
835 |
" 'width': 3168}],\n",
|
836 |
" 'place_id': 'ChIJH2h86IGe4jARE5sKrclMXL8',\n",
|
837 |
" 'plus_code': {'compound_code': 'QG2J+87 Bangkok, Thailand',\n",
|
@@ -840,7 +816,7 @@
|
|
840 |
" 'reference': 'ChIJH2h86IGe4jARE5sKrclMXL8',\n",
|
841 |
" 'scope': 'GOOGLE',\n",
|
842 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
843 |
-
" 'user_ratings_total':
|
844 |
" 'vicinity': '318 Phaya Thai Road, Khwaeng Thanon Phetchaburi, Khet Ratchathewi'},\n",
|
845 |
" {'business_status': 'OPERATIONAL',\n",
|
846 |
" 'geometry': {'location': {'lat': 13.7511798, 'lng': 100.5356322},\n",
|
@@ -854,7 +830,7 @@
|
|
854 |
" 'opening_hours': {'open_now': True},\n",
|
855 |
" 'photos': [{'height': 1068,\n",
|
856 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/102286478336053372469\">The Residence Ratchathewi</a>'],\n",
|
857 |
-
" 'photo_reference': '
|
858 |
" 'width': 1600}],\n",
|
859 |
" 'place_id': 'ChIJx0cHr86e4jAReGZBl579QlY',\n",
|
860 |
" 'plus_code': {'compound_code': 'QG2P+F7 Bangkok, Thailand',\n",
|
@@ -877,7 +853,7 @@
|
|
877 |
" 'opening_hours': {'open_now': True},\n",
|
878 |
" 'photos': [{'height': 427,\n",
|
879 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/115065590130967456230\">Asia Hotel Bangkok</a>'],\n",
|
880 |
-
" 'photo_reference': '
|
881 |
" 'width': 640}],\n",
|
882 |
" 'place_id': 'ChIJH2h86IGe4jARyjZ6wppSlkQ',\n",
|
883 |
" 'plus_code': {'compound_code': 'QG2J+GC Bangkok, Thailand',\n",
|
@@ -886,7 +862,7 @@
|
|
886 |
" 'reference': 'ChIJH2h86IGe4jARyjZ6wppSlkQ',\n",
|
887 |
" 'scope': 'GOOGLE',\n",
|
888 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
889 |
-
" 'user_ratings_total':
|
890 |
" 'vicinity': '296 Phaya Thai Road'},\n",
|
891 |
" {'business_status': 'OPERATIONAL',\n",
|
892 |
" 'geometry': {'location': {'lat': 13.7497353, 'lng': 100.5403252},\n",
|
@@ -899,7 +875,7 @@
|
|
899 |
" 'name': 'Novotel Bangkok Platinum Pratunam',\n",
|
900 |
" 'photos': [{'height': 4024,\n",
|
901 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/104545848999971265611\">Novotel Bangkok Platinum Pratunam</a>'],\n",
|
902 |
-
" 'photo_reference': '
|
903 |
" 'width': 6048}],\n",
|
904 |
" 'place_id': 'ChIJN6o_Yc-e4jARBCxlg57zM4s',\n",
|
905 |
" 'plus_code': {'compound_code': 'PGXR+V4 Bangkok, Thailand',\n",
|
@@ -908,7 +884,7 @@
|
|
908 |
" 'reference': 'ChIJN6o_Yc-e4jARBCxlg57zM4s',\n",
|
909 |
" 'scope': 'GOOGLE',\n",
|
910 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
911 |
-
" 'user_ratings_total':
|
912 |
" 'vicinity': '220 Phetchaburi Road'},\n",
|
913 |
" {'business_status': 'OPERATIONAL',\n",
|
914 |
" 'geometry': {'location': {'lat': 13.7467415, 'lng': 100.5287877},\n",
|
@@ -921,7 +897,7 @@
|
|
921 |
" 'name': 'MERCURE BANGKOK SIAM',\n",
|
922 |
" 'photos': [{'height': 768,\n",
|
923 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/114445502763328018172\">MERCURE BANGKOK SIAM</a>'],\n",
|
924 |
-
" 'photo_reference': '
|
925 |
" 'width': 1024}],\n",
|
926 |
" 'place_id': 'ChIJKS_DaA6Z4jARDH_5sbrMXfI',\n",
|
927 |
" 'plus_code': {'compound_code': 'PGWH+MG Bangkok, Thailand',\n",
|
@@ -930,7 +906,7 @@
|
|
930 |
" 'reference': 'ChIJKS_DaA6Z4jARDH_5sbrMXfI',\n",
|
931 |
" 'scope': 'GOOGLE',\n",
|
932 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
933 |
-
" 'user_ratings_total':
|
934 |
" 'vicinity': '927 Rama I Road, Wangmai'},\n",
|
935 |
" {'business_status': 'OPERATIONAL',\n",
|
936 |
" 'geometry': {'location': {'lat': 13.748779, 'lng': 100.530772},\n",
|
@@ -943,7 +919,7 @@
|
|
943 |
" 'name': 'Hua Chang Heritage Hotel',\n",
|
944 |
" 'photos': [{'height': 2912,\n",
|
945 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/115552232905673664668\">มิสสยาม โรงแรมหัวช้าง เฮอริเทจ</a>'],\n",
|
946 |
-
" 'photo_reference': '
|
947 |
" 'width': 4271}],\n",
|
948 |
" 'place_id': 'ChIJUUD5KBOZ4jAR0QLGy07t3BQ',\n",
|
949 |
" 'plus_code': {'compound_code': 'PGXJ+G8 Bangkok, Thailand',\n",
|
@@ -966,7 +942,7 @@
|
|
966 |
" 'opening_hours': {'open_now': True},\n",
|
967 |
" 'photos': [{'height': 1999,\n",
|
968 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/106290596075567109314\">Grande Centre Point Ratchadamri</a>'],\n",
|
969 |
-
" 'photo_reference': '
|
970 |
" 'width': 3214}],\n",
|
971 |
" 'place_id': 'ChIJMckScdqe4jARnCUZdPKRjF8',\n",
|
972 |
" 'plus_code': {'compound_code': 'PGRR+MC Bangkok, Thailand',\n",
|
@@ -989,7 +965,7 @@
|
|
989 |
" 'opening_hours': {'open_now': False},\n",
|
990 |
" 'photos': [{'height': 4000,\n",
|
991 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/110664455171949656649\">Lub d Bangkok Siam</a>'],\n",
|
992 |
-
" 'photo_reference': '
|
993 |
" 'width': 6000}],\n",
|
994 |
" 'place_id': 'ChIJc33lpDKZ4jARil4bO37UbIs',\n",
|
995 |
" 'plus_code': {'compound_code': 'PGWH+PF Bangkok, Thailand',\n",
|
@@ -1011,7 +987,7 @@
|
|
1011 |
" 'name': 'VIE Hotel Bangkok - MGallery',\n",
|
1012 |
" 'photos': [{'height': 4016,\n",
|
1013 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/112525229722496996483\">VIE Hotel Bangkok - MGallery</a>'],\n",
|
1014 |
-
" 'photo_reference': '
|
1015 |
" 'width': 6016}],\n",
|
1016 |
" 'place_id': 'ChIJQwHqwrWe4jAR8yoMrZmtzaU',\n",
|
1017 |
" 'plus_code': {'compound_code': 'QG2J+6R Bangkok, Thailand',\n",
|
@@ -1020,7 +996,7 @@
|
|
1020 |
" 'reference': 'ChIJQwHqwrWe4jAR8yoMrZmtzaU',\n",
|
1021 |
" 'scope': 'GOOGLE',\n",
|
1022 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
1023 |
-
" 'user_ratings_total':
|
1024 |
" 'vicinity': '117 39, 40 Phaya Thai Road'},\n",
|
1025 |
" {'business_status': 'OPERATIONAL',\n",
|
1026 |
" 'geometry': {'location': {'lat': 13.7400527, 'lng': 100.5399569},\n",
|
@@ -1033,7 +1009,7 @@
|
|
1033 |
" 'name': 'The St. Regis Bangkok',\n",
|
1034 |
" 'photos': [{'height': 320,\n",
|
1035 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/110177766871190441187\">The St. Regis Bangkok</a>'],\n",
|
1036 |
-
" 'photo_reference': '
|
1037 |
" 'width': 480}],\n",
|
1038 |
" 'place_id': 'ChIJZ-0rstCe4jARS_6948lrmZU',\n",
|
1039 |
" 'plus_code': {'compound_code': 'PGRQ+2X Bangkok, Thailand',\n",
|
@@ -1043,7 +1019,7 @@
|
|
1043 |
" 'reference': 'ChIJZ-0rstCe4jARS_6948lrmZU',\n",
|
1044 |
" 'scope': 'GOOGLE',\n",
|
1045 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
1046 |
-
" 'user_ratings_total':
|
1047 |
" 'vicinity': '159 Thanon Ratchadamri, Khwaeng Lumphini, Pathum Wan'},\n",
|
1048 |
" {'business_status': 'OPERATIONAL',\n",
|
1049 |
" 'geometry': {'location': {'lat': 13.7540569, 'lng': 100.5287023},\n",
|
@@ -1056,7 +1032,7 @@
|
|
1056 |
" 'name': 'Bangkok City Hotel',\n",
|
1057 |
" 'photos': [{'height': 4032,\n",
|
1058 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/100808819005846466311\">Aisyah Hassan</a>'],\n",
|
1059 |
-
" 'photo_reference': '
|
1060 |
" 'width': 3024}],\n",
|
1061 |
" 'place_id': 'ChIJuyczxTSZ4jAR2rnUC9KTw6o',\n",
|
1062 |
" 'plus_code': {'compound_code': 'QG3H+JF Bangkok, Thailand',\n",
|
@@ -1079,7 +1055,7 @@
|
|
1079 |
" 'opening_hours': {'open_now': True},\n",
|
1080 |
" 'photos': [{'height': 1335,\n",
|
1081 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/115779328569151334983\">The Twin Towers Hotel</a>'],\n",
|
1082 |
-
" 'photo_reference': '
|
1083 |
" 'width': 2000}],\n",
|
1084 |
" 'place_id': 'ChIJ_zP3fy-Z4jARWYaBArPXGAg',\n",
|
1085 |
" 'plus_code': {'compound_code': 'PGW9+6W Bangkok, Thailand',\n",
|
@@ -1088,7 +1064,7 @@
|
|
1088 |
" 'reference': 'ChIJ_zP3fy-Z4jARWYaBArPXGAg',\n",
|
1089 |
" 'scope': 'GOOGLE',\n",
|
1090 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
1091 |
-
" 'user_ratings_total':
|
1092 |
" 'vicinity': '88 ถ.พระราม 6 ตัดใหม่, Khwaeng Rong Muang, Pathum Wan'},\n",
|
1093 |
" {'business_status': 'OPERATIONAL',\n",
|
1094 |
" 'geometry': {'location': {'lat': 13.7408604, 'lng': 100.5399556},\n",
|
@@ -1101,7 +1077,7 @@
|
|
1101 |
" 'opening_hours': {'open_now': True},\n",
|
1102 |
" 'photos': [{'height': 1037,\n",
|
1103 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/106256908812849161304\">Anantara Siam Bangkok Hotel</a>'],\n",
|
1104 |
-
" 'photo_reference': '
|
1105 |
" 'width': 1920}],\n",
|
1106 |
" 'place_id': 'ChIJVwz7GcWe4jARatGDB6rxqcE',\n",
|
1107 |
" 'plus_code': {'compound_code': 'PGRQ+8X Bangkok, Thailand',\n",
|
@@ -1109,13 +1085,13 @@
|
|
1109 |
" 'rating': 4.6,\n",
|
1110 |
" 'reference': 'ChIJVwz7GcWe4jARatGDB6rxqcE',\n",
|
1111 |
" 'scope': 'GOOGLE',\n",
|
1112 |
-
" 'types': ['
|
1113 |
-
" '
|
1114 |
" 'restaurant',\n",
|
1115 |
-
" 'point_of_interest',\n",
|
1116 |
" 'food',\n",
|
|
|
1117 |
" 'establishment'],\n",
|
1118 |
-
" 'user_ratings_total':
|
1119 |
" 'vicinity': '155 Rajadamri Road, Khwaeng Lumphini, Pathum Wan'},\n",
|
1120 |
" {'business_status': 'OPERATIONAL',\n",
|
1121 |
" 'geometry': {'location': {'lat': 13.7468291, 'lng': 100.5313447},\n",
|
@@ -1126,11 +1102,11 @@
|
|
1126 |
" 'icon_background_color': '#4B96F3',\n",
|
1127 |
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/shopping_pinlet',\n",
|
1128 |
" 'name': 'Siam Discovery',\n",
|
1129 |
-
" 'opening_hours': {'open_now':
|
1130 |
-
" 'photos': [{'height':
|
1131 |
-
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/
|
1132 |
-
" 'photo_reference': '
|
1133 |
-
" 'width':
|
1134 |
" 'place_id': 'ChIJgUSJZM2e4jAREnHS1rSuWRk',\n",
|
1135 |
" 'plus_code': {'compound_code': 'PGWJ+PG Bangkok, Thailand',\n",
|
1136 |
" 'global_code': '7P52PGWJ+PG'},\n",
|
@@ -1152,7 +1128,7 @@
|
|
1152 |
" 'opening_hours': {'open_now': True},\n",
|
1153 |
" 'photos': [{'height': 1280,\n",
|
1154 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/104889790730167599680\">Aphrodite Inn Bangkok</a>'],\n",
|
1155 |
-
" 'photo_reference': '
|
1156 |
" 'width': 1280}],\n",
|
1157 |
" 'place_id': 'ChIJJ-xLecWe4jARimHRYcEPNS8',\n",
|
1158 |
" 'plus_code': {'compound_code': 'PGXR+7H Bangkok, Thailand',\n",
|
@@ -1173,7 +1149,7 @@
|
|
1173 |
" 'name': 'Pathum Wan',\n",
|
1174 |
" 'photos': [{'height': 1800,\n",
|
1175 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/118254622117013496228\">Nakorn Chong</a>'],\n",
|
1176 |
-
" 'photo_reference': '
|
1177 |
" 'width': 4000}],\n",
|
1178 |
" 'place_id': 'ChIJ9dY-MdSe4jAR8E3iXbIAAQM',\n",
|
1179 |
" 'reference': 'ChIJ9dY-MdSe4jAR8E3iXbIAAQM',\n",
|
@@ -1182,7 +1158,7 @@
|
|
1182 |
" 'vicinity': 'Pathum Wan'}]"
|
1183 |
]
|
1184 |
},
|
1185 |
-
"execution_count":
|
1186 |
"metadata": {},
|
1187 |
"output_type": "execute_result"
|
1188 |
}
|
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
|
|
12 |
},
|
13 |
{
|
14 |
"cell_type": "code",
|
15 |
+
"execution_count": 2,
|
16 |
"metadata": {},
|
17 |
"outputs": [],
|
18 |
"source": [
|
|
|
23 |
},
|
24 |
{
|
25 |
"cell_type": "code",
|
26 |
+
"execution_count": 3,
|
27 |
"metadata": {},
|
28 |
"outputs": [
|
29 |
{
|
|
|
39 |
{
|
40 |
"data": {
|
41 |
"text/plain": [
|
42 |
+
"'1. Fashion Island\\nAddress: 587-589/7-9, Ram Inthra Rd, Khwaeng Khan Na Yao, Khet Khan Na Yao, Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJd57HEQRjHTERG_xSTcdQoYs\\nPhone: 02 947 5000\\nWebsite: http://www.fashionisland.co.th/\\n\\n\\n2. Food Island-Fashion Island\\nAddress: 5/5-6 หมู่ 5 Fashion Island, Ram Inthra Rd, Khwaeng Khan Na Yao, บางเขน Krung Thep Maha Nakhon 10220, Thailand\\nGoogle place ID: ChIJxVlvKA9jHTERAaDXThEk0sU\\nPhone: Unknown\\nWebsite: https://www.fashionisland.co.th/\\n\\n\\n3. Grand Station @ Fashion Island\\nAddress: Fashion Island Shopping Mall คันนายาว Khet Khan Na Yao, Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJgYJ0xNxjHTERqh7EMAXGflk\\nPhone: 02 947 5000\\nWebsite: https://www.fashionisland.co.th/about-us/grandstation/\\n\\n\\n4. NYLA Fashion Island\\nAddress: 587, 589, 589/7-9 Ram Inthra Rd, Khwaeng Khan Na Yao, Khet Khan Na Yao, Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJeUgI3A5jHTERdzu6oMzUSCk\\nPhone: 02 947 5938\\nWebsite: Unknown\\n\\n\\n5. Pomelo Fashion Island\\nAddress: Unit GSSH101, 1st Floor, Fashion Island Shopping Mall, 587-589, Ramindra Rd, แขวงคันนายาว เขตคันนายาว กรุงเทพมหานคร 10230, Thailand\\nGoogle place ID: ChIJaYz1YRFjHTERHcxGtqrypsk\\nPhone: 02 000 6811\\nWebsite: https://www.pomelofashion.com/\\n\\n\\n6. IF Store art & chara สาขา Fasion Island\\nAddress: KI B006-B007 โซนแกรนด์สเตชั่น ซอย 7 ศูนย์การค้าแฟชั่นไอส์แลนด์ ชั้น 2 587,589, 589 7 9 Ram Inthra Rd, Khwaeng Khan Na Yao, Khet Khan Na Yao, Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJx5zaF3RjHTER8ROSKii-tVQ\\nPhone: 063 232 6356\\nWebsite: https://shopee.co.th/ifstore_art\\n\\n\\n7. Haborland Fashion Island\\nAddress: ศูนย์การค้า แฟชั่นไอส์แลนด์ ชั้น3, Khwaeng Khan Na Yao, Khet Khan Na Yao, Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJ7wF25A5jHTERyBbgZ24hjGU\\nPhone: 065 848 1000\\nWebsite: https://harborlandgroup.com/\\n\\n\\n8. Fashion Island\\nAddress: 401 Newport Center Dr, Newport Beach, CA 92660, USA\\nGoogle place ID: ChIJUetYrofg3IARvxarZNginsY\\nPhone: (949) 721-2000\\nWebsite: https://www.fashionisland.com/?utm_source=soci&utm_medium=organic&utm_campaign=gmb_soci_listing\\n\\n\\n9. Panya Ramintra\\nAddress: Khan Na Yao, Bangkok 10230, Thailand\\nGoogle place ID: ChIJ9e97xwhjHTERR-MWDuKtUYY\\nPhone: Unknown\\nWebsite: Unknown\\n\\n\\n10. Manfair @Fashion Island, 2nd FL, Street 23, Grand Station, Unit MSE025\\nAddress: Manfair Store-Grand Station @Fashion Island Khwaeng Khan Na Yao, Khet Khan Na Yao, Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJod6zSApjHTERkZ8GxIKx-AY\\nPhone: 085 166 5561\\nWebsite: https://manfair.co.th/\\n\\n\\n11. ร้านชุดชั้นใน GIRLY SECRET @Fasion Island\\nAddress: GIRLY SECRET แฟชั่นไอส์แลนด์ ชั้น2 โซนแกรนด์เสตชั่น สตรีท 11 Lat Phrao Road Khwaeng Khan Na Yao, คันนายาว Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJMRAHkpKd4jARZBQhL3tzF28\\nPhone: 092 697 9698\\nWebsite: Unknown\\n\\n\\n12. OkurimonoJapan! (Fashion Island)\\nAddress: Level 2, Ram Inthra Rd, Khwaeng Khan Na Yao, Khet Khan Na Yao, Krung Thep Maha Nakhon 10230, Thailand\\nGoogle place ID: ChIJUTgHRlBjHTERw3I3e-uH7hI\\nPhone: 080 594 4644\\nWebsite: Unknown\\n\\n\\n13. Opposite Fashion Island\\nAddress: Khan Na Yao, Bangkok 10230, Thailand\\nGoogle place ID: ChIJV8YMrwhjHTERTd8eEupPwZY\\nPhone: Unknown\\nWebsite: Unknown\\n\\n'"
|
43 |
]
|
44 |
},
|
45 |
+
"execution_count": 3,
|
46 |
"metadata": {},
|
47 |
"output_type": "execute_result"
|
48 |
}
|
|
|
56 |
},
|
57 |
{
|
58 |
"cell_type": "code",
|
59 |
+
"execution_count": 4,
|
60 |
"metadata": {},
|
61 |
"outputs": [],
|
62 |
"source": [
|
|
|
66 |
},
|
67 |
{
|
68 |
"cell_type": "code",
|
69 |
+
"execution_count": 9,
|
70 |
"metadata": {},
|
71 |
"outputs": [
|
72 |
{
|
73 |
"name": "stdout",
|
74 |
"output_type": "stream",
|
75 |
"text": [
|
76 |
+
"{'candidates': [{'formatted_address': '45 1 ตำบล วังกระแจะ เมือง ตราด 23000 ไทย', 'geometry': {'location': {'lat': 15.870032, 'lng': 100.992541}, 'viewport': {'northeast': {'lat': 15.8707744, 'lng': 100.9936482298927}, 'southwest': {'lat': 15.86780479999999, 'lng': 100.9909485701073}}}, 'name': 'โรงแรมสุทธิวารี', 'opening_hours': {'open_now': True}, 'rating': 5}], 'status': 'OK'}\n"
|
77 |
]
|
78 |
}
|
79 |
],
|
|
|
109 |
"\n",
|
110 |
"# Example usage:\n",
|
111 |
"location = \"15.87,100.9925\" # Latitude and Longitude\n",
|
112 |
+
"input_text = \"hotel\"\n",
|
113 |
"result = find_place_from_text(input_text, location)\n",
|
114 |
"\n",
|
115 |
"print(result)"
|
|
|
117 |
},
|
118 |
{
|
119 |
"cell_type": "code",
|
120 |
+
"execution_count": 6,
|
121 |
"metadata": {},
|
122 |
"outputs": [
|
123 |
{
|
|
|
160 |
},
|
161 |
{
|
162 |
"cell_type": "code",
|
163 |
+
"execution_count": 7,
|
164 |
"metadata": {},
|
165 |
"outputs": [
|
166 |
{
|
167 |
"data": {
|
168 |
"text/plain": [
|
169 |
"[{'business_status': 'OPERATIONAL',\n",
|
170 |
+
" 'geometry': {'location': {'lat': 13.7455309, 'lng': 100.5198334},\n",
|
171 |
+
" 'viewport': {'northeast': {'lat': 13.74692812989272,\n",
|
172 |
+
" 'lng': 100.5214657798927},\n",
|
173 |
+
" 'southwest': {'lat': 13.74422847010728, 'lng': 100.5187661201073}}},\n",
|
174 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
175 |
+
" 'icon_background_color': '#909CE1',\n",
|
176 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
177 |
+
" 'name': 'The Twin Towers Hotel',\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
" 'opening_hours': {'open_now': True},\n",
|
179 |
+
" 'photos': [{'height': 1335,\n",
|
180 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/115779328569151334983\">A Google User</a>'],\n",
|
181 |
+
" 'photo_reference': 'AXCi2Q5REfgaHadtFNqXOFpuxkVdoFf0rM5zy9Piw_WeOcuTwSKMqU2CgFnQoN6BRclj7SQ4s_eccxIdMd-Ul1pvz0EOjBikoWSlxvqLoZIauLg-YzlVvqfpd2bU0OfVKNarBaHYWn2hPMC0n2wShcIaz4I1hc89Bab018M4-BFexDp_gMFc',\n",
|
182 |
+
" 'width': 2000}],\n",
|
183 |
+
" 'place_id': 'ChIJ_zP3fy-Z4jARWYaBArPXGAg',\n",
|
184 |
+
" 'plus_code': {'compound_code': 'PGW9+6W Bangkok',\n",
|
185 |
+
" 'global_code': '7P52PGW9+6W'},\n",
|
186 |
+
" 'rating': 4,\n",
|
187 |
+
" 'reference': 'ChIJ_zP3fy-Z4jARWYaBArPXGAg',\n",
|
188 |
" 'scope': 'GOOGLE',\n",
|
189 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
190 |
+
" 'user_ratings_total': 3326,\n",
|
191 |
+
" 'vicinity': '88 ถ.พระราม 6 ตัดใหม่ Rong Muang, Pathum Wan'},\n",
|
192 |
" {'business_status': 'OPERATIONAL',\n",
|
193 |
+
" 'geometry': {'location': {'lat': 13.7467728, 'lng': 100.5294726},\n",
|
194 |
+
" 'viewport': {'northeast': {'lat': 13.74811892989272,\n",
|
195 |
+
" 'lng': 100.5308482298927},\n",
|
196 |
+
" 'southwest': {'lat': 13.74541927010728, 'lng': 100.5281485701073}}},\n",
|
197 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
198 |
+
" 'icon_background_color': '#909CE1',\n",
|
199 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
200 |
+
" 'name': 'Muangphol Mansion',\n",
|
201 |
+
" 'opening_hours': {'open_now': False},\n",
|
202 |
+
" 'photos': [{'height': 3000,\n",
|
203 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/107774912115800487369\">Hassan Ahmadian</a>'],\n",
|
204 |
+
" 'photo_reference': 'AXCi2Q4AS3FJWETxFu9WbBFhhNhmjsSQZiKqiIGEVmqYgaPqhsgy9g7bWpjLp5WDzQQTnZPkrpAVnXTIQDxN3y_JF36mBoF0LVqgsrWVumTiokIETibGLIY7pL7ujSc7sqvOkr-WcX6pC9N8AyASE-vszjVYdso6gUCl8DtdalINk-bXBa8r',\n",
|
205 |
" 'width': 4000}],\n",
|
206 |
+
" 'place_id': 'ChIJZzgIrTKZ4jARJYzilmi9T74',\n",
|
207 |
+
" 'plus_code': {'compound_code': 'PGWH+PQ Bangkok',\n",
|
208 |
+
" 'global_code': '7P52PGWH+PQ'},\n",
|
209 |
+
" 'rating': 3.3,\n",
|
210 |
+
" 'reference': 'ChIJZzgIrTKZ4jARJYzilmi9T74',\n",
|
211 |
" 'scope': 'GOOGLE',\n",
|
212 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
213 |
+
" 'user_ratings_total': 113,\n",
|
214 |
+
" 'vicinity': '8, 931 Rama I Rd, Wang Mai, Pathum Wan'},\n",
|
215 |
" {'business_status': 'OPERATIONAL',\n",
|
216 |
+
" 'geometry': {'location': {'lat': 13.7468712, 'lng': 100.52869},\n",
|
217 |
+
" 'viewport': {'northeast': {'lat': 13.74810307989272,\n",
|
218 |
+
" 'lng': 100.5300171798927},\n",
|
219 |
+
" 'southwest': {'lat': 13.74540342010728, 'lng': 100.5273175201073}}},\n",
|
220 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
221 |
+
" 'icon_background_color': '#909CE1',\n",
|
222 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
223 |
+
" 'name': 'Lub d Bangkok Siam',\n",
|
224 |
+
" 'opening_hours': {'open_now': False},\n",
|
225 |
+
" 'photos': [{'height': 4000,\n",
|
226 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/110664455171949656649\">Lub d Bangkok - Siam Square</a>'],\n",
|
227 |
+
" 'photo_reference': 'AXCi2Q6jzkjlHJJaGkIjVVevWBny8MMkNw90qEwgUEaQWAgPbdj4R12eZrVTpoUGawjhwWrDFuWSdEncNcPSncrVFNc2XcbEgE9dpjiGGKSWjUuwO9wFJBKBzEuNq16ey7eVMC8MPQRgqeE0rYKeY1o4IwNEKCEHmKigl3xvnURQ3HMTcPfQ',\n",
|
228 |
+
" 'width': 6000}],\n",
|
229 |
+
" 'place_id': 'ChIJc33lpDKZ4jARil4bO37UbIs',\n",
|
230 |
+
" 'plus_code': {'compound_code': 'PGWH+PF Bangkok',\n",
|
231 |
+
" 'global_code': '7P52PGWH+PF'},\n",
|
|
|
232 |
" 'rating': 4.3,\n",
|
233 |
+
" 'reference': 'ChIJc33lpDKZ4jARil4bO37UbIs',\n",
|
234 |
" 'scope': 'GOOGLE',\n",
|
235 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
236 |
+
" 'user_ratings_total': 938,\n",
|
237 |
+
" 'vicinity': '925, 9 Rama I Rd, Wang Mai, Pathum Wan'},\n",
|
238 |
" {'business_status': 'OPERATIONAL',\n",
|
239 |
+
" 'geometry': {'location': {'lat': 13.7627061, 'lng': 100.5381273},\n",
|
240 |
+
" 'viewport': {'northeast': {'lat': 13.76412432989272,\n",
|
241 |
+
" 'lng': 100.5396005798927},\n",
|
242 |
+
" 'southwest': {'lat': 13.76142467010728, 'lng': 100.5369009201073}}},\n",
|
243 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
244 |
+
" 'icon_background_color': '#909CE1',\n",
|
245 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
246 |
+
" 'name': 'The Victory View',\n",
|
247 |
" 'opening_hours': {'open_now': True},\n",
|
248 |
+
" 'photos': [{'height': 4000,\n",
|
249 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/101078213475534837237\">A Google User</a>'],\n",
|
250 |
+
" 'photo_reference': 'AXCi2Q5sc9dLfaqO79qSoPvgA6E9rcouVekbl-jKloKDhM5ZVhnKmqEE2k9-jeg4kDUtFt-gE-f5P4YbOU2vdIjGaYg7GJyrzDrT7xLpT_UbIH2Km19g_H-JgQd1D3afrBvjtRklWFwDoCw7TnZtPqyF7GGia6yp4qPp7OLspmGR04BV0oAn',\n",
|
251 |
+
" 'width': 6000}],\n",
|
252 |
+
" 'place_id': 'ChIJ23PzgMme4jARFOY5eyKACAA',\n",
|
253 |
+
" 'plus_code': {'compound_code': 'QG7Q+37 Bangkok',\n",
|
254 |
+
" 'global_code': '7P52QG7Q+37'},\n",
|
255 |
+
" 'rating': 4,\n",
|
256 |
+
" 'reference': 'ChIJ23PzgMme4jARFOY5eyKACAA',\n",
|
|
|
257 |
" 'scope': 'GOOGLE',\n",
|
258 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
259 |
+
" 'user_ratings_total': 125,\n",
|
260 |
+
" 'vicinity': '34/2-3 Soi Ratchawithi 9, Thanon Phaya Thai, Ratchathewi'},\n",
|
261 |
" {'business_status': 'OPERATIONAL',\n",
|
262 |
+
" 'geometry': {'location': {'lat': 13.7291738, 'lng': 100.5348174},\n",
|
263 |
+
" 'viewport': {'northeast': {'lat': 13.73046032989272,\n",
|
264 |
+
" 'lng': 100.5361918298927},\n",
|
265 |
+
" 'southwest': {'lat': 13.72776067010728, 'lng': 100.5334921701073}}},\n",
|
266 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
267 |
+
" 'icon_background_color': '#909CE1',\n",
|
268 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
269 |
+
" 'name': 'Pula Silom',\n",
|
270 |
+
" 'photos': [{'height': 2736,\n",
|
271 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/116104521503291528513\">伊藤弘昭</a>'],\n",
|
272 |
+
" 'photo_reference': 'AXCi2Q7Jx_Q-bmUQXHf21Up5jca5HIbehddLbxXNbliIJzRtirLIoDxEZBB29hDcPKa4l5xVKWDbHobbvvrO_L2DFMonrHr5s36M3_0dLea9j_KPOhtmXMp1T_0ZMfyX7-fwwN7xivn2o1fJ9k8XduGbbGLAlllgBa0TmT4jEZYN4qcNHRpi',\n",
|
273 |
+
" 'width': 3648}],\n",
|
274 |
+
" 'place_id': 'ChIJbbU8_yuf4jARUTtSdD5kt7s',\n",
|
275 |
+
" 'plus_code': {'compound_code': 'PGHM+MW Bangkok',\n",
|
276 |
+
" 'global_code': '7P52PGHM+MW'},\n",
|
277 |
+
" 'rating': 4.1,\n",
|
278 |
+
" 'reference': 'ChIJbbU8_yuf4jARUTtSdD5kt7s',\n",
|
|
|
279 |
" 'scope': 'GOOGLE',\n",
|
280 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
281 |
+
" 'user_ratings_total': 408,\n",
|
282 |
+
" 'vicinity': '60/12-15 Si Lom Rd, Silom, Bang Rak'},\n",
|
283 |
" {'business_status': 'OPERATIONAL',\n",
|
284 |
+
" 'geometry': {'location': {'lat': 13.7446989, 'lng': 100.5430063},\n",
|
285 |
+
" 'viewport': {'northeast': {'lat': 13.74605242989272,\n",
|
286 |
+
" 'lng': 100.5443317298927},\n",
|
287 |
+
" 'southwest': {'lat': 13.74335277010728, 'lng': 100.5416320701073}}},\n",
|
288 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
289 |
+
" 'icon_background_color': '#909CE1',\n",
|
290 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
291 |
+
" 'name': 'Golden House',\n",
|
292 |
" 'opening_hours': {'open_now': True},\n",
|
293 |
+
" 'photos': [{'height': 2017,\n",
|
294 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/113819510353645451169\">Golden House</a>'],\n",
|
295 |
+
" 'photo_reference': 'AXCi2Q7SNGkVzsificYOCpcJLixqVPAvgsnlvH8BqnoPmI5dKRJDzd5v5TOYHyQoZKkGVHoPzjr1Z964FihrKk-k_1PZw_J1ME_nsux1Q_xbozq6iekPVS7n6RvmuH6ueYSp0XTpo0FeawGHoJuy_5DPlHC9nJHYkzsl2mMcF2sb7-jqG1gZ',\n",
|
296 |
+
" 'width': 3162}],\n",
|
297 |
+
" 'place_id': 'ChIJIcSl3Nqe4jARnLh2qK_RMRo',\n",
|
298 |
+
" 'plus_code': {'compound_code': 'PGVV+V5 Bangkok',\n",
|
299 |
+
" 'global_code': '7P52PGVV+V5'},\n",
|
300 |
+
" 'rating': 3.7,\n",
|
301 |
+
" 'reference': 'ChIJIcSl3Nqe4jARnLh2qK_RMRo',\n",
|
302 |
" 'scope': 'GOOGLE',\n",
|
303 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
304 |
+
" 'user_ratings_total': 203,\n",
|
305 |
+
" 'vicinity': '1025/5-9 Ploenchit Road, Lumpinee, Pathum Wan'},\n",
|
|
|
|
|
|
|
|
|
|
|
306 |
" {'business_status': 'OPERATIONAL',\n",
|
307 |
+
" 'geometry': {'location': {'lat': 13.7559816, 'lng': 100.5363536},\n",
|
308 |
+
" 'viewport': {'northeast': {'lat': 13.75731082989272,\n",
|
309 |
+
" 'lng': 100.5377502298927},\n",
|
310 |
+
" 'southwest': {'lat': 13.75461117010728, 'lng': 100.5350505701073}}},\n",
|
311 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
312 |
+
" 'icon_background_color': '#909CE1',\n",
|
313 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
314 |
+
" 'name': 'Top High Airport Link Hotel',\n",
|
315 |
" 'opening_hours': {'open_now': True},\n",
|
316 |
+
" 'photos': [{'height': 2832,\n",
|
317 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/109602767181864547532\">A Google User</a>'],\n",
|
318 |
+
" 'photo_reference': 'AXCi2Q4dmmfllqiiSF6ET2O85klRu0znHLiv413DFjpor2RQow_l7XzHA-SqwKwO2z1_52DLfGzanhokS0pZscaSKNfS6jPcKC9mCwMllD5ZyOAP8GxyQiyslP5Y5RjAiBkXy8ViRv4aOSthNUehBdks-7yQmII9BxLx-Elpm4InCk46UlmZ',\n",
|
319 |
+
" 'width': 4256}],\n",
|
320 |
+
" 'place_id': 'ChIJcefUlMme4jARJGbWS6DCn9c',\n",
|
321 |
+
" 'plus_code': {'compound_code': 'QG4P+9G Bangkok',\n",
|
322 |
+
" 'global_code': '7P52QG4P+9G'},\n",
|
323 |
+
" 'rating': 3.9,\n",
|
324 |
+
" 'reference': 'ChIJcefUlMme4jARJGbWS6DCn9c',\n",
|
325 |
+
" 'scope': 'GOOGLE',\n",
|
326 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
327 |
+
" 'user_ratings_total': 1119,\n",
|
328 |
+
" 'vicinity': '33 Soi Phetchaburi 11, Thanon Phaya Thai, Ratchathewi'},\n",
|
329 |
+
" {'business_status': 'OPERATIONAL',\n",
|
330 |
+
" 'geometry': {'location': {'lat': 13.7614685, 'lng': 100.5376939},\n",
|
331 |
+
" 'viewport': {'northeast': {'lat': 13.76284452989272,\n",
|
332 |
+
" 'lng': 100.5389958798927},\n",
|
333 |
+
" 'southwest': {'lat': 13.76014487010728, 'lng': 100.5362962201073}}},\n",
|
334 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
335 |
+
" 'icon_background_color': '#909CE1',\n",
|
336 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
337 |
+
" 'name': 'Rose Apple Hotel',\n",
|
338 |
" 'photos': [{'height': 3024,\n",
|
339 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/109608969410824168250\">Fred</a>'],\n",
|
340 |
+
" 'photo_reference': 'AXCi2Q6zjoNtQ1zTKlHiyZ7PRXL2tageAblx1DpY1sYVYImvQw9DRkx86IKGJWiDbUiunBtN2wmFSlO2SYhFDND5Wm7fRBI0ll_8tOv0bFf-iIV-vpeEf_3vx-ABaqgeK7N4vuUnK_21XznpBAu19j5MptYAFiKOPmDYZ6_SJ7aIbsZNkQqu',\n",
|
341 |
" 'width': 4032}],\n",
|
342 |
+
" 'place_id': 'ChIJXTStwbCe4jARXRRo179r6nk',\n",
|
343 |
+
" 'plus_code': {'compound_code': 'QG6Q+H3 Bangkok',\n",
|
344 |
+
" 'global_code': '7P52QG6Q+H3'},\n",
|
345 |
+
" 'rating': 4.4,\n",
|
346 |
+
" 'reference': 'ChIJXTStwbCe4jARXRRo179r6nk',\n",
|
347 |
" 'scope': 'GOOGLE',\n",
|
348 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
349 |
+
" 'user_ratings_total': 139,\n",
|
350 |
+
" 'vicinity': '29/1 Soi Loet Punya, Thanon Phaya Thai, Ratchathewi'},\n",
|
351 |
" {'business_status': 'OPERATIONAL',\n",
|
352 |
+
" 'geometry': {'location': {'lat': 13.751193, 'lng': 100.5355507},\n",
|
353 |
+
" 'viewport': {'northeast': {'lat': 13.75254982989272,\n",
|
354 |
+
" 'lng': 100.5368565298927},\n",
|
355 |
+
" 'southwest': {'lat': 13.74985017010728, 'lng': 100.5341568701073}}},\n",
|
356 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
357 |
+
" 'icon_background_color': '#909CE1',\n",
|
358 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
359 |
+
" 'name': 'The Residence Ratchathewi',\n",
|
360 |
" 'opening_hours': {'open_now': True},\n",
|
361 |
+
" 'photos': [{'height': 1068,\n",
|
362 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/102286478336053372469\">The Residence Rajtaevee</a>'],\n",
|
363 |
+
" 'photo_reference': 'AXCi2Q5SM-DKx1XwfyUEK-5LuAzlFJMjmEgByT5v-0Q5iulo2CiIqOaPotdKbRBCObOYwsMfbasqecewPpWrqWQ_Iz6e7sAeSUVDlAfzwszEEb8WZBPG3IiPEUybhxfLmaG_Ubi5vX16bJYjDTjBVN493Tx_7zzkClVJiwVhhpZiDSIVwekh',\n",
|
364 |
+
" 'width': 1600}],\n",
|
365 |
+
" 'place_id': 'ChIJx0cHr86e4jAReGZBl579QlY',\n",
|
366 |
+
" 'plus_code': {'compound_code': 'QG2P+F7 Bangkok',\n",
|
367 |
+
" 'global_code': '7P52QG2P+F7'},\n",
|
368 |
+
" 'rating': 3.8,\n",
|
369 |
+
" 'reference': 'ChIJx0cHr86e4jAReGZBl579QlY',\n",
|
|
|
370 |
" 'scope': 'GOOGLE',\n",
|
371 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
372 |
+
" 'user_ratings_total': 442,\n",
|
373 |
+
" 'vicinity': '588/1 Phetchaburi Rd, Khwaeng Thanon Phetchaburi, Ratchathewi'},\n",
|
374 |
" {'business_status': 'OPERATIONAL',\n",
|
375 |
+
" 'geometry': {'location': {'lat': 13.7431972, 'lng': 100.5301387},\n",
|
376 |
+
" 'viewport': {'northeast': {'lat': 13.74441047989272,\n",
|
377 |
+
" 'lng': 100.5314606298927},\n",
|
378 |
+
" 'southwest': {'lat': 13.74171082010728, 'lng': 100.5287609701073}}},\n",
|
379 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
380 |
+
" 'icon_background_color': '#909CE1',\n",
|
381 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
382 |
+
" 'name': 'Pathumwan Princess Hotel',\n",
|
383 |
" 'opening_hours': {'open_now': True},\n",
|
384 |
+
" 'photos': [{'height': 2000,\n",
|
385 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/105529198599736349764\">A Google User</a>'],\n",
|
386 |
+
" 'photo_reference': 'AXCi2Q5vfp2-YyDznWo7BzJjpWdDG46oBD_E361wRvxqbPuTWQXeqw6ZJKLs4ApM57kGqfBWFCM8X4Ge1eMcr1CYyL2G2g2D5xaSjH0aZhOVby1DTuhoaQIutT1dD_bvhLC1L1yOh6_VEagO8MONFPbsVglCBG-5KdYWP8sz5Pb0msg92dLP',\n",
|
387 |
+
" 'width': 3000}],\n",
|
388 |
+
" 'place_id': 'ChIJFaLTtdKe4jARdKflx49LvdA',\n",
|
389 |
+
" 'plus_code': {'compound_code': 'PGVJ+73 Bangkok',\n",
|
390 |
+
" 'global_code': '7P52PGVJ+73'},\n",
|
391 |
+
" 'rating': 4.5,\n",
|
392 |
+
" 'reference': 'ChIJFaLTtdKe4jARdKflx49LvdA',\n",
|
|
|
393 |
" 'scope': 'GOOGLE',\n",
|
394 |
+
" 'types': ['shopping_mall',\n",
|
395 |
+
" 'tourist_attraction',\n",
|
396 |
" 'restaurant',\n",
|
|
|
397 |
" 'food',\n",
|
398 |
+
" 'lodging',\n",
|
399 |
+
" 'point_of_interest',\n",
|
400 |
" 'establishment'],\n",
|
401 |
+
" 'user_ratings_total': 7827,\n",
|
402 |
+
" 'vicinity': '444 Phaya Thai Rd, Wang Mai, Pathum Wan'},\n",
|
403 |
" {'business_status': 'OPERATIONAL',\n",
|
404 |
+
" 'geometry': {'location': {'lat': 13.7419343, 'lng': 100.5246099},\n",
|
405 |
+
" 'viewport': {'northeast': {'lat': 13.74333472989272,\n",
|
406 |
+
" 'lng': 100.5259674798927},\n",
|
407 |
+
" 'southwest': {'lat': 13.74063507010728, 'lng': 100.5232678201073}}},\n",
|
408 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
409 |
+
" 'icon_background_color': '#909CE1',\n",
|
410 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
411 |
+
" 'name': 'HOUSE OF PAPA BANGKOK SIAM',\n",
|
412 |
" 'opening_hours': {'open_now': True},\n",
|
413 |
+
" 'photos': [{'height': 1044,\n",
|
414 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/107232611473859075352\">A Google User</a>'],\n",
|
415 |
+
" 'photo_reference': 'AXCi2Q7jN3KUm4mIFgLRlbT3_UYH3VfSHoCBZX_9ovZXRxxVFG2RyJqj6iOeWGYDnZ0f4NG4cHNrbwNynR4hstsMUDDhafMc5thD8K1iBF-31OivN6fPwA0pqRt9HLNErtmiSxJugmpFqHV2u7q7Y1OCbFOyVfX_c3oLD24mzhkv5T960Ugf',\n",
|
416 |
+
" 'width': 1568}],\n",
|
417 |
+
" 'place_id': 'ChIJQVtmplSZ4jARsWxKD388HB0',\n",
|
418 |
+
" 'plus_code': {'compound_code': 'PGRF+QR Bangkok',\n",
|
419 |
+
" 'global_code': '7P52PGRF+QR'},\n",
|
420 |
+
" 'rating': 4.2,\n",
|
421 |
+
" 'reference': 'ChIJQVtmplSZ4jARsWxKD388HB0',\n",
|
|
|
422 |
" 'scope': 'GOOGLE',\n",
|
423 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
424 |
+
" 'user_ratings_total': 165,\n",
|
425 |
+
" 'vicinity': '188/44, Soi Chula 16, Wang Mai, Pathum Wan'},\n",
|
426 |
" {'business_status': 'OPERATIONAL',\n",
|
427 |
+
" 'geometry': {'location': {'lat': 13.7471052, 'lng': 100.5289501},\n",
|
428 |
+
" 'viewport': {'northeast': {'lat': 13.74819247989272,\n",
|
429 |
+
" 'lng': 100.5302628798927},\n",
|
430 |
+
" 'southwest': {'lat': 13.74549282010728, 'lng': 100.5275632201073}}},\n",
|
431 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
432 |
+
" 'icon_background_color': '#909CE1',\n",
|
433 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
434 |
+
" 'name': 'ไอบิส กรุงเทพ สยาม',\n",
|
435 |
+
" 'photos': [{'height': 1920,\n",
|
436 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/106297763246544925516\">Hotel ibis Bangkok Siam</a>'],\n",
|
437 |
+
" 'photo_reference': 'AXCi2Q5xaKlLVvq7ppUkSrD2tnTn34qtSlCFgfmE6xsnlhr1DA8wQ22pDGhzknJ1BKfmWax-GKW57vntFfXOVmTzM6fud-hatURpuFzGVmMPmu1716oqhBBk6mRvwRQN5bxsX5Wr_-yV_IOTrcjtTBG5-eCB8yETQeym9mDEVMIzogyoqA45',\n",
|
438 |
+
" 'width': 2880}],\n",
|
439 |
+
" 'place_id': 'ChIJaUcw7c2e4jAR0sfKCxcl2aM',\n",
|
440 |
+
" 'plus_code': {'compound_code': 'PGWH+RH Bangkok',\n",
|
441 |
+
" 'global_code': '7P52PGWH+RH'},\n",
|
442 |
+
" 'rating': 4.4,\n",
|
443 |
+
" 'reference': 'ChIJaUcw7c2e4jAR0sfKCxcl2aM',\n",
|
444 |
+
" 'scope': 'GOOGLE',\n",
|
445 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
446 |
+
" 'user_ratings_total': 2873,\n",
|
447 |
+
" 'vicinity': '927 Rama I Rd, Wangmai, Pathum Wan'},\n",
|
448 |
+
" {'business_status': 'OPERATIONAL',\n",
|
449 |
+
" 'geometry': {'location': {'lat': 13.7364607, 'lng': 100.5485186},\n",
|
450 |
+
" 'viewport': {'northeast': {'lat': 13.73779277989272,\n",
|
451 |
+
" 'lng': 100.5499788798927},\n",
|
452 |
+
" 'southwest': {'lat': 13.73509312010728, 'lng': 100.5472792201073}}},\n",
|
453 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
454 |
+
" 'icon_background_color': '#909CE1',\n",
|
455 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
456 |
+
" 'name': 'The Quart Ruamrudee by UHG',\n",
|
457 |
+
" 'photos': [{'height': 1108,\n",
|
458 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/113607345716697552408\">A Google User</a>'],\n",
|
459 |
+
" 'photo_reference': 'AXCi2Q6b1PqeLgJRnsC_1ElB0ibnqOOYWLhi7YE8J8RXFjeThrX1q51n0lP9LMzOvlSGxgpzzkbbu1ZPuAFfJ_GZswMXlZClrcN7iSDuMtfMXdL_knJHUBWe-1Eescu0Mnx09aL6gnivm4cDvinyBeBWxG9bDk-d6vcpNoICJ0fiO2MmZd2q',\n",
|
460 |
+
" 'width': 1477}],\n",
|
461 |
+
" 'place_id': 'ChIJS5Dv_n-f4jARd6xZQlSXjlM',\n",
|
462 |
+
" 'plus_code': {'compound_code': 'PGPX+HC Bangkok',\n",
|
463 |
+
" 'global_code': '7P52PGPX+HC'},\n",
|
464 |
+
" 'rating': 3.9,\n",
|
465 |
+
" 'reference': 'ChIJS5Dv_n-f4jARd6xZQlSXjlM',\n",
|
466 |
+
" 'scope': 'GOOGLE',\n",
|
467 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
468 |
+
" 'user_ratings_total': 538,\n",
|
469 |
+
" 'vicinity': '38/3 Soi Ruamrudee Community, Lumphini, Pathum Wan'},\n",
|
470 |
+
" {'business_status': 'OPERATIONAL',\n",
|
471 |
+
" 'geometry': {'location': {'lat': 13.7322506, 'lng': 100.5271641},\n",
|
472 |
+
" 'viewport': {'northeast': {'lat': 13.73356032989272,\n",
|
473 |
+
" 'lng': 100.5285219298927},\n",
|
474 |
+
" 'southwest': {'lat': 13.73086067010728, 'lng': 100.5258222701073}}},\n",
|
475 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
476 |
+
" 'icon_background_color': '#909CE1',\n",
|
477 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
478 |
+
" 'name': 'Sam Yan Serene Hotel',\n",
|
479 |
" 'photos': [{'height': 2268,\n",
|
480 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/117301360290051310020\">塩谷, 一</a>'],\n",
|
481 |
+
" 'photo_reference': 'AXCi2Q7n1pLt2iSHnPmh_q5Mf2g99zD3kKVTJnJfciX6R3SUcQWZ9xw2wC4xDlLgOWwwlwFwyqkc1EB-YBTEXg4RmDbTc5ynGR-ujCNJWJh8GAia999zgcok_-UWt0sta4E_wO4dCV6H_EMdu-iu6qSxxTt-uexcCbW8AHVpKEiwzsaRS5bQ',\n",
|
482 |
" 'width': 4032}],\n",
|
483 |
+
" 'place_id': 'ChIJq_Saj9aY4jAREUtIU3WA4Gk',\n",
|
484 |
+
" 'plus_code': {'compound_code': 'PGJG+WV Bangkok',\n",
|
485 |
+
" 'global_code': '7P52PGJG+WV'},\n",
|
486 |
+
" 'rating': 4,\n",
|
487 |
+
" 'reference': 'ChIJq_Saj9aY4jAREUtIU3WA4Gk',\n",
|
488 |
" 'scope': 'GOOGLE',\n",
|
489 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
490 |
+
" 'user_ratings_total': 285,\n",
|
491 |
+
" 'vicinity': '38 Si Phraya Rd, Bangkok'},\n",
|
492 |
" {'business_status': 'OPERATIONAL',\n",
|
493 |
+
" 'geometry': {'location': {'lat': 13.7372782, 'lng': 100.5170473},\n",
|
494 |
+
" 'viewport': {'northeast': {'lat': 13.73869057989272,\n",
|
495 |
+
" 'lng': 100.5184239798927},\n",
|
496 |
+
" 'southwest': {'lat': 13.73599092010728, 'lng': 100.5157243201073}}},\n",
|
497 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
498 |
+
" 'icon_background_color': '#909CE1',\n",
|
499 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
500 |
+
" 'name': 'Metro Hotel',\n",
|
501 |
" 'opening_hours': {'open_now': True},\n",
|
502 |
+
" 'photos': [{'height': 5067,\n",
|
503 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/105029968180924602999\">A Google User</a>'],\n",
|
504 |
+
" 'photo_reference': 'AXCi2Q7cr19LNUMipfJeB7TnqQw6nXsB26EadyXaYKXWhY4D-_dLCE45b14GtGoHkowfV10UsE4N6EmR3w_CsLSOEpeyGkRIU-rnP3-8lf-xyVl6om-Rc6RvpSI2QCx8OrbOJZIl1BBc0icvbAMD-ctah05qNmdiJwR0Kdh8HlAO_8H_zk9Q',\n",
|
505 |
+
" 'width': 3378}],\n",
|
506 |
+
" 'place_id': 'ChIJIeFfV9aZ4jARpd4v7wFD6BQ',\n",
|
507 |
+
" 'plus_code': {'compound_code': 'PGP8+VR Bangkok',\n",
|
508 |
+
" 'global_code': '7P52PGP8+VR'},\n",
|
509 |
+
" 'rating': 4.8,\n",
|
510 |
+
" 'reference': 'ChIJIeFfV9aZ4jARpd4v7wFD6BQ',\n",
|
511 |
+
" 'scope': 'GOOGLE',\n",
|
512 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
513 |
+
" 'user_ratings_total': 654,\n",
|
514 |
+
" 'vicinity': '326, 20-22 Rama IV Rd, Mahapreuttaram, Bang Rak'},\n",
|
515 |
+
" {'business_status': 'OPERATIONAL',\n",
|
516 |
+
" 'geometry': {'location': {'lat': 13.7465184, 'lng': 100.5408834},\n",
|
517 |
+
" 'viewport': {'northeast': {'lat': 13.74800027989272,\n",
|
518 |
+
" 'lng': 100.5420810298927},\n",
|
519 |
+
" 'southwest': {'lat': 13.74530062010728, 'lng': 100.5393813701073}}},\n",
|
520 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
521 |
+
" 'icon_background_color': '#909CE1',\n",
|
522 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
523 |
+
" 'name': 'Arnoma Grand Bangkok',\n",
|
524 |
+
" 'opening_hours': {'open_now': False},\n",
|
525 |
+
" 'photos': [{'height': 2268,\n",
|
526 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/110341251183134667765\">Joshua Elmer Dungca</a>'],\n",
|
527 |
+
" 'photo_reference': 'AXCi2Q5MfTeLf7FACorI5XTlxWwS4AypfcTJ4kFFRZk922b6MMVawZdZndQg92tWUMIdysVxM9TudMI0BtJWYm7nuDsAHDY9h4YLGS8MNdy3ov3FvOKsFJkRMGNwfk3DoAPVAeseLxMh_P8Uz65WdULELRQFlXNZEKeSiYhX4Ctenb_6Ez05',\n",
|
528 |
" 'width': 4032}],\n",
|
529 |
+
" 'place_id': 'ChIJF8c59s-e4jARoz5R8nHRj2Y',\n",
|
530 |
+
" 'plus_code': {'compound_code': 'PGWR+J9 Bangkok',\n",
|
531 |
+
" 'global_code': '7P52PGWR+J9'},\n",
|
532 |
+
" 'rating': 4,\n",
|
533 |
+
" 'reference': 'ChIJF8c59s-e4jARoz5R8nHRj2Y',\n",
|
|
|
534 |
" 'scope': 'GOOGLE',\n",
|
535 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
536 |
+
" 'user_ratings_total': 2601,\n",
|
537 |
+
" 'vicinity': '99 Ratchadamri Rd, Lumphini, Pathum Wan'},\n",
|
538 |
" {'business_status': 'OPERATIONAL',\n",
|
539 |
+
" 'geometry': {'location': {'lat': 13.7339076, 'lng': 100.5265974},\n",
|
540 |
+
" 'viewport': {'northeast': {'lat': 13.73522732989272,\n",
|
541 |
+
" 'lng': 100.5279341798927},\n",
|
542 |
+
" 'southwest': {'lat': 13.73252767010728, 'lng': 100.5252345201073}}},\n",
|
543 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
544 |
+
" 'icon_background_color': '#909CE1',\n",
|
545 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
546 |
+
" 'name': 'Chatel Bkk',\n",
|
547 |
" 'opening_hours': {'open_now': True},\n",
|
548 |
+
" 'photos': [{'height': 3719,\n",
|
549 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/106598160335074447056\">A Google User</a>'],\n",
|
550 |
+
" 'photo_reference': 'AXCi2Q5XT1UqDzekBotIXdVzCAsxMvwZ34SlJF-d4-vKKbJlYK6AuYmJqNzErrTV0J-6P30JduNShr_gSZ_RKlRAVTcP2dsHvKyg7U5o5dxzGwOthzZXKGPQEsb4JPtyrxyC99H71rhIP_fiypmLgQBvUms1GrsHlNq4CqfcTDngO7MO93x7',\n",
|
551 |
+
" 'width': 2479}],\n",
|
552 |
+
" 'place_id': 'ChIJFdaF_GSZ4jARuvbTqZTXVDw',\n",
|
553 |
+
" 'plus_code': {'compound_code': 'PGMG+HJ Bangkok',\n",
|
554 |
+
" 'global_code': '7P52PGMG+HJ'},\n",
|
|
|
555 |
" 'rating': 4.4,\n",
|
556 |
+
" 'reference': 'ChIJFdaF_GSZ4jARuvbTqZTXVDw',\n",
|
557 |
" 'scope': 'GOOGLE',\n",
|
558 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
559 |
+
" 'user_ratings_total': 51,\n",
|
560 |
+
" 'vicinity': '1523 Rama IV Rd, Wang Mai, Pathum Wan'},\n",
|
561 |
" {'business_status': 'OPERATIONAL',\n",
|
562 |
+
" 'geometry': {'location': {'lat': 13.7571273, 'lng': 100.5219133},\n",
|
563 |
+
" 'viewport': {'northeast': {'lat': 13.75845417989272,\n",
|
564 |
+
" 'lng': 100.5233274798927},\n",
|
565 |
+
" 'southwest': {'lat': 13.75575452010728, 'lng': 100.5206278201073}}},\n",
|
566 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
567 |
+
" 'icon_background_color': '#909CE1',\n",
|
568 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
569 |
+
" 'name': 'Bangkok City Suite Hotel',\n",
|
570 |
" 'opening_hours': {'open_now': True},\n",
|
571 |
" 'photos': [{'height': 3024,\n",
|
572 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/114354012153022786846\">A Google User</a>'],\n",
|
573 |
+
" 'photo_reference': 'AXCi2Q5UyAkBzi6Mfc9I5YPy7GkFHc6n6x0zOixA7U8iDsmS-vVCFLjTbv6fITGoTHqh2YrsVpm-2fmt6_mwHpjqYPn1We7okIhQRf6Lt3eQNRxOydhhk0Qrf5oT9mvx6WEuSUgOP6tPHPCTxY53z-W9zPZmnLCAWc6WO2mnLkVzL0EG2yny',\n",
|
574 |
" 'width': 4032}],\n",
|
575 |
+
" 'place_id': 'ChIJVZaxPHBvHTERUmo7I6b5kt0',\n",
|
576 |
+
" 'plus_code': {'compound_code': 'QG4C+VQ Bangkok',\n",
|
577 |
+
" 'global_code': '7P52QG4C+VQ'},\n",
|
578 |
+
" 'rating': 3.9,\n",
|
579 |
+
" 'reference': 'ChIJVZaxPHBvHTERUmo7I6b5kt0',\n",
|
|
|
580 |
" 'scope': 'GOOGLE',\n",
|
581 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
582 |
+
" 'user_ratings_total': 1306,\n",
|
583 |
+
" 'vicinity': '1 Petchburi Road Khwaeng Thung Phaya Thai, Ratchathewi'},\n",
|
|
|
|
|
|
|
|
|
|
|
584 |
" {'business_status': 'OPERATIONAL',\n",
|
585 |
+
" 'geometry': {'location': {'lat': 13.7469059, 'lng': 100.5488508},\n",
|
586 |
+
" 'viewport': {'northeast': {'lat': 13.74826502989272,\n",
|
587 |
+
" 'lng': 100.5502038798927},\n",
|
588 |
+
" 'southwest': {'lat': 13.74556537010728, 'lng': 100.5475042201073}}},\n",
|
589 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
590 |
+
" 'icon_background_color': '#909CE1',\n",
|
591 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
592 |
+
" 'name': 'Nantra Ploenchit hotel',\n",
|
593 |
+
" 'photos': [{'height': 4032,\n",
|
594 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/112882529924094151036\">112882529924094151036</a>'],\n",
|
595 |
+
" 'photo_reference': 'AXCi2Q7GqZhH0esGR-zcPCShb-NTd6lBBLoasdckPbr-FKmo-dFkuY3Zpyh464c4Q5vHz80hqRsc0KGrZrFh0ujJwprqjvF4vY3I7FvLAOoh_cPWoU_a87IRZxhilZ8_6NmtUhIjP8bzsdEQgw66eo19rl77YmxA8cJEcQc2fsbNfboauPDu',\n",
|
|
|
596 |
" 'width': 3024}],\n",
|
597 |
+
" 'place_id': 'ChIJEV_8Viqf4jARu_t2Fy_JV1Q',\n",
|
598 |
+
" 'plus_code': {'compound_code': 'PGWX+PG Bangkok',\n",
|
599 |
+
" 'global_code': '7P52PGWX+PG'},\n",
|
600 |
+
" 'rating': 3,\n",
|
601 |
+
" 'reference': 'ChIJEV_8Viqf4jARu_t2Fy_JV1Q',\n",
|
602 |
" 'scope': 'GOOGLE',\n",
|
603 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
604 |
+
" 'user_ratings_total': 202,\n",
|
605 |
+
" 'vicinity': '27/12 Soi Nai Loet, Lumphini, Pathum Wan'},\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
606 |
" {'business_status': 'OPERATIONAL',\n",
|
607 |
+
" 'geometry': {'location': {'lat': 13.7300383, 'lng': 100.5311334},\n",
|
608 |
+
" 'viewport': {'northeast': {'lat': 13.73128477989272,\n",
|
609 |
+
" 'lng': 100.5325170298927},\n",
|
610 |
+
" 'southwest': {'lat': 13.72858512010728, 'lng': 100.5298173701073}}},\n",
|
611 |
+
" 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/lodging-71.png',\n",
|
612 |
+
" 'icon_background_color': '#909CE1',\n",
|
613 |
+
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/hotel_pinlet',\n",
|
614 |
+
" 'name': '56 Surawong Hotel Bangkok',\n",
|
615 |
" 'opening_hours': {'open_now': True},\n",
|
616 |
+
" 'photos': [{'height': 1067,\n",
|
617 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/114284465264360387169\">A Google User</a>'],\n",
|
618 |
+
" 'photo_reference': 'AXCi2Q4GgGfJLURqRbHSfZ5MAc1dCZf_NUFv9aJ9yhRd5t7XvuXiUQRLPkXuUYRL3M7GCmx_YbvhRCUDLYwFcMEap9trlMS8W10K6ToaY0HjQFfqgy7g6rJfUYU6-_9nDt_oS9XdS9Pp0nK2x9W0wZ2tpZ5zib1JbOp_h9Zdf4ri4Z-wgfla',\n",
|
619 |
+
" 'width': 1600}],\n",
|
620 |
+
" 'place_id': 'ChIJOw15HtOY4jARCqQ2iTDgqYc',\n",
|
621 |
+
" 'plus_code': {'compound_code': 'PGJJ+2F Bangkok',\n",
|
622 |
+
" 'global_code': '7P52PGJJ+2F'},\n",
|
623 |
+
" 'rating': 3.9,\n",
|
624 |
+
" 'reference': 'ChIJOw15HtOY4jARCqQ2iTDgqYc',\n",
|
625 |
" 'scope': 'GOOGLE',\n",
|
626 |
+
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
627 |
+
" 'user_ratings_total': 228,\n",
|
628 |
+
" 'vicinity': '56 Surawong Rd, Silom, Bang Rak'},\n",
|
629 |
" []]"
|
630 |
]
|
631 |
},
|
632 |
+
"execution_count": 7,
|
633 |
"metadata": {},
|
634 |
"output_type": "execute_result"
|
635 |
}
|
|
|
685 |
"\n",
|
686 |
"# Example usage\n",
|
687 |
"location = \"13.744677,100.5295593\" # Latitude and Longitude\n",
|
688 |
+
"keyword = \"hotel\"\n",
|
689 |
"search_results = nearby_search(keyword, location)\n",
|
690 |
"search_results"
|
691 |
]
|
692 |
},
|
693 |
{
|
694 |
"cell_type": "code",
|
695 |
+
"execution_count": 8,
|
696 |
"metadata": {},
|
697 |
"outputs": [
|
698 |
{
|
|
|
708 |
" 'name': 'Bangkok',\n",
|
709 |
" 'photos': [{'height': 934,\n",
|
710 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/107853816016331257868\">Harshvardhan Mali</a>'],\n",
|
711 |
+
" 'photo_reference': 'AXCi2Q7YQKg0xaKoM2A3vnYzyOIQDC5TrsQxNtbyot19fPkxmovfe5guH88XxTEr5R8FCOErr4FCh0o6j1HixapR7hf4vxt-BqYE7pt_5ALwZaeCvO8b7CAtTX6gTmH7euXg0NbxdLQhUE7h_LB2OaUgr4mBnTVHr2d0pnLYOBoPmuSQbIXP',\n",
|
712 |
" 'width': 756}],\n",
|
713 |
" 'place_id': 'ChIJ82ENKDJgHTERIEjiXbIAAQE',\n",
|
714 |
" 'reference': 'ChIJ82ENKDJgHTERIEjiXbIAAQE',\n",
|
|
|
727 |
" 'opening_hours': {'open_now': True},\n",
|
728 |
" 'photos': [{'height': 2000,\n",
|
729 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/105529198599736349764\">Pathumwan Princess Hotel</a>'],\n",
|
730 |
+
" 'photo_reference': 'AXCi2Q5LkQj0Ts-4Sp_GZYboiNY7C5G7Mq6jPeLjvphMxG5T5C-HKDqOHURuvjxIF52_-5BzLu_9QJk0__pY-cizYAN6GoUEpV_busoOGPt67wmF9d-0Xg8ma_61xPbXC1s2oPvqVLTAMO9586thNfnNZZYRsspucrS0xL4m45-0XjknvQPU',\n",
|
731 |
" 'width': 3000}],\n",
|
732 |
" 'place_id': 'ChIJFaLTtdKe4jARdKflx49LvdA',\n",
|
733 |
" 'plus_code': {'compound_code': 'PGVJ+73 Bangkok, Thailand',\n",
|
|
|
735 |
" 'rating': 4.5,\n",
|
736 |
" 'reference': 'ChIJFaLTtdKe4jARdKflx49LvdA',\n",
|
737 |
" 'scope': 'GOOGLE',\n",
|
738 |
+
" 'types': ['shopping_mall',\n",
|
|
|
739 |
" 'lodging',\n",
|
740 |
+
" 'tourist_attraction',\n",
|
741 |
" 'restaurant',\n",
|
|
|
742 |
" 'food',\n",
|
743 |
+
" 'point_of_interest',\n",
|
744 |
" 'establishment'],\n",
|
745 |
+
" 'user_ratings_total': 7827,\n",
|
746 |
" 'vicinity': '444 Phaya Thai Road, Khwaeng Wang Mai, Pathum Wan'},\n",
|
747 |
" {'business_status': 'OPERATIONAL',\n",
|
748 |
" 'geometry': {'location': {'lat': 13.7484011, 'lng': 100.5348436},\n",
|
|
|
755 |
" 'name': 'Siam Kempinski Hotel Bangkok',\n",
|
756 |
" 'photos': [{'height': 1080,\n",
|
757 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/101520779225452139808\">Siam Kempinski Hotel Bangkok</a>'],\n",
|
758 |
+
" 'photo_reference': 'AXCi2Q7EgE9SGO-SvlsR16qRVmWU6cn3DnYXS9Vc3ee9OegYK0RR9nW3eUEZA03XPAxqb9TurWDybQmlbnzf21ccieSRCGxyPhQjRQG8zySzjWmYA8I-KuTnr1Gnl_LOpmv3d1Q4aHI7SqybBee6mCwiDp4yFlCNzxAgkmn8TmMjEulv4U-_',\n",
|
759 |
" 'width': 1920}],\n",
|
760 |
" 'place_id': 'ChIJrfU90s2e4jARs0XZP2DZ4jM',\n",
|
761 |
" 'plus_code': {'compound_code': 'PGXM+9W Bangkok, Thailand',\n",
|
|
|
764 |
" 'reference': 'ChIJrfU90s2e4jARs0XZP2DZ4jM',\n",
|
765 |
" 'scope': 'GOOGLE',\n",
|
766 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
767 |
+
" 'user_ratings_total': 5171,\n",
|
768 |
" 'vicinity': '991, 9 Rama I Road, Khwaeng Pathum Wan, Pathum Wan'},\n",
|
769 |
" {'business_status': 'OPERATIONAL',\n",
|
770 |
" 'geometry': {'location': {'lat': 13.7477183, 'lng': 100.5387477},\n",
|
|
|
778 |
" 'opening_hours': {'open_now': True},\n",
|
779 |
" 'photos': [{'height': 2832,\n",
|
780 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/108880770713939695570\">Centara Grand & Bangkok Convention Centre at centralwOrld</a>'],\n",
|
781 |
+
" 'photo_reference': 'AXCi2Q7Ta6rxawyYVXTRXdSg2x9t-a80ym0BUeS2ypzi8H0zQzUiQh_JpBu_rx2PfIjnMvCEIDbTbJcm-3ra4G9_HbJrTD7wp5y5HWr7Cd2wnedaBck-VuSdEOHwP5NAYJU0qh_2uAUPGXaOME5WepAUjZr5czm5KPHI3U9Q8oMc5Aodw_QW',\n",
|
782 |
" 'width': 4148}],\n",
|
783 |
" 'place_id': 'ChIJf1YJeC-Z4jARNNLn8M9QwMw',\n",
|
784 |
" 'plus_code': {'compound_code': 'PGXQ+3F Bangkok, Thailand',\n",
|
|
|
786 |
" 'rating': 4.6,\n",
|
787 |
" 'reference': 'ChIJf1YJeC-Z4jARNNLn8M9QwMw',\n",
|
788 |
" 'scope': 'GOOGLE',\n",
|
789 |
+
" 'types': ['bar',\n",
|
|
|
790 |
" 'lodging',\n",
|
791 |
+
" 'spa',\n",
|
792 |
" 'restaurant',\n",
|
|
|
793 |
" 'food',\n",
|
794 |
+
" 'point_of_interest',\n",
|
795 |
" 'establishment'],\n",
|
796 |
" 'user_ratings_total': 6175,\n",
|
797 |
" 'vicinity': '999, 99 Rama I Road, Khwaeng Pathum Wan, Pathum Wan'},\n",
|
|
|
807 |
" 'opening_hours': {'open_now': True},\n",
|
808 |
" 'photos': [{'height': 4752,\n",
|
809 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/101915072604208031209\">Evergreen Place Bangkok</a>'],\n",
|
810 |
+
" 'photo_reference': 'AXCi2Q4muyWoLyCdS-OALMacN_R7o7xCPoGgvlERfZ_NhHG2HH7J_YieoOxuxELqy974nkWvto5G5y0baqoaIeKnIKjjFD95ztA0XRQNG3-3j6EA435MOmiyHifAZpC5Y-o0Hy4QL7DXWZQ_WMu4ZaL4LjlrdWo75XcO_qnMVPCIK1nghWtU',\n",
|
811 |
" 'width': 3168}],\n",
|
812 |
" 'place_id': 'ChIJH2h86IGe4jARE5sKrclMXL8',\n",
|
813 |
" 'plus_code': {'compound_code': 'QG2J+87 Bangkok, Thailand',\n",
|
|
|
816 |
" 'reference': 'ChIJH2h86IGe4jARE5sKrclMXL8',\n",
|
817 |
" 'scope': 'GOOGLE',\n",
|
818 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
819 |
+
" 'user_ratings_total': 2228,\n",
|
820 |
" 'vicinity': '318 Phaya Thai Road, Khwaeng Thanon Phetchaburi, Khet Ratchathewi'},\n",
|
821 |
" {'business_status': 'OPERATIONAL',\n",
|
822 |
" 'geometry': {'location': {'lat': 13.7511798, 'lng': 100.5356322},\n",
|
|
|
830 |
" 'opening_hours': {'open_now': True},\n",
|
831 |
" 'photos': [{'height': 1068,\n",
|
832 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/102286478336053372469\">The Residence Ratchathewi</a>'],\n",
|
833 |
+
" 'photo_reference': 'AXCi2Q40k5jMnJW1S1uGhuZSW94oIfZF8wHpo3Bj6TJC3E4sdysozDQh2lqjxEvpmvAQtGy4Eg6PcTx2HrUUvOIP9Y15DkZFmGn-lMQh8pA5OLCt0GYm06OhU0yQfdXimxI4sf51LoVmCPQe8fmDUslDwGIvofrR_x3JCEP0VCOG0nIkoZwS',\n",
|
834 |
" 'width': 1600}],\n",
|
835 |
" 'place_id': 'ChIJx0cHr86e4jAReGZBl579QlY',\n",
|
836 |
" 'plus_code': {'compound_code': 'QG2P+F7 Bangkok, Thailand',\n",
|
|
|
853 |
" 'opening_hours': {'open_now': True},\n",
|
854 |
" 'photos': [{'height': 427,\n",
|
855 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/115065590130967456230\">Asia Hotel Bangkok</a>'],\n",
|
856 |
+
" 'photo_reference': 'AXCi2Q7nMLxEeLXVxZNstAsZ4vDIIYT7CHmklnHs1AAJGRKHwwjF8Blo6GhibN3c1kYltnfCdETbxjybjxNlUCDwOPjUbnsuWWn00LLOxHmr1RxmFgte3N_5yD7NrL7vz3sx_nHorDWjsvlaWS9Hnp1DFUghMBmpOetKLYppCei033sqH4h-',\n",
|
857 |
" 'width': 640}],\n",
|
858 |
" 'place_id': 'ChIJH2h86IGe4jARyjZ6wppSlkQ',\n",
|
859 |
" 'plus_code': {'compound_code': 'QG2J+GC Bangkok, Thailand',\n",
|
|
|
862 |
" 'reference': 'ChIJH2h86IGe4jARyjZ6wppSlkQ',\n",
|
863 |
" 'scope': 'GOOGLE',\n",
|
864 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
865 |
+
" 'user_ratings_total': 5468,\n",
|
866 |
" 'vicinity': '296 Phaya Thai Road'},\n",
|
867 |
" {'business_status': 'OPERATIONAL',\n",
|
868 |
" 'geometry': {'location': {'lat': 13.7497353, 'lng': 100.5403252},\n",
|
|
|
875 |
" 'name': 'Novotel Bangkok Platinum Pratunam',\n",
|
876 |
" 'photos': [{'height': 4024,\n",
|
877 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/104545848999971265611\">Novotel Bangkok Platinum Pratunam</a>'],\n",
|
878 |
+
" 'photo_reference': 'AXCi2Q6qBZ56Y6UPn9TtOCZxNBKny35eINZpxu6Ll7MarDESm49gmVQxgfnXD8ry7DYY501I4bmEyaocd0DT1oVse5HR4fe5tLL_xfNR5lIvJ1-2MPnjBvFRJaVJ-0URC0xxL808OuQvPtRVGi6oUuMCZ5aG6KAfMUpukCZ7PZFW_Z7zx67e',\n",
|
879 |
" 'width': 6048}],\n",
|
880 |
" 'place_id': 'ChIJN6o_Yc-e4jARBCxlg57zM4s',\n",
|
881 |
" 'plus_code': {'compound_code': 'PGXR+V4 Bangkok, Thailand',\n",
|
|
|
884 |
" 'reference': 'ChIJN6o_Yc-e4jARBCxlg57zM4s',\n",
|
885 |
" 'scope': 'GOOGLE',\n",
|
886 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
887 |
+
" 'user_ratings_total': 4798,\n",
|
888 |
" 'vicinity': '220 Phetchaburi Road'},\n",
|
889 |
" {'business_status': 'OPERATIONAL',\n",
|
890 |
" 'geometry': {'location': {'lat': 13.7467415, 'lng': 100.5287877},\n",
|
|
|
897 |
" 'name': 'MERCURE BANGKOK SIAM',\n",
|
898 |
" 'photos': [{'height': 768,\n",
|
899 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/114445502763328018172\">MERCURE BANGKOK SIAM</a>'],\n",
|
900 |
+
" 'photo_reference': 'AXCi2Q4h4s74XCGAsTARx1UNg18HQj3Zq8H1K-V6fC7bSuPDnIvDt3KCNUokAsMNcYe51GuFfrI6HzgnOMTbsS2H8R2vNdV2ux_A2VJQiNT2L7Np-M_gTDIUbYlD_uvyJDZQ-Pd3PknEz4x64mInT25nsq_R6YTq1ZvcrHiy0XZCl1lqX6Al',\n",
|
901 |
" 'width': 1024}],\n",
|
902 |
" 'place_id': 'ChIJKS_DaA6Z4jARDH_5sbrMXfI',\n",
|
903 |
" 'plus_code': {'compound_code': 'PGWH+MG Bangkok, Thailand',\n",
|
|
|
906 |
" 'reference': 'ChIJKS_DaA6Z4jARDH_5sbrMXfI',\n",
|
907 |
" 'scope': 'GOOGLE',\n",
|
908 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
909 |
+
" 'user_ratings_total': 2243,\n",
|
910 |
" 'vicinity': '927 Rama I Road, Wangmai'},\n",
|
911 |
" {'business_status': 'OPERATIONAL',\n",
|
912 |
" 'geometry': {'location': {'lat': 13.748779, 'lng': 100.530772},\n",
|
|
|
919 |
" 'name': 'Hua Chang Heritage Hotel',\n",
|
920 |
" 'photos': [{'height': 2912,\n",
|
921 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/115552232905673664668\">มิสสยาม โรงแรมหัวช้าง เฮอริเทจ</a>'],\n",
|
922 |
+
" 'photo_reference': 'AXCi2Q6Sbu_BgfBc6TSf5sOYIsTgC8JzttjJIuMgMwsTHAOhwCq-d1QOPKbtwbBNLLS0dfVXu4XHqkYBLYab0AEBtTa59con0Gw2L4F3MgQfjw_Y0mF9R9XgKFHdXMn0XZgyqlEpby-wswex8VgXV-dn9k_eequgTZuuZfGyDGhYsT1C3sYl',\n",
|
923 |
" 'width': 4271}],\n",
|
924 |
" 'place_id': 'ChIJUUD5KBOZ4jAR0QLGy07t3BQ',\n",
|
925 |
" 'plus_code': {'compound_code': 'PGXJ+G8 Bangkok, Thailand',\n",
|
|
|
942 |
" 'opening_hours': {'open_now': True},\n",
|
943 |
" 'photos': [{'height': 1999,\n",
|
944 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/106290596075567109314\">Grande Centre Point Ratchadamri</a>'],\n",
|
945 |
+
" 'photo_reference': 'AXCi2Q53dAR1e3p0YCUsrw--FQNC6neK_zSj7XU5g_tc21UVLf8VbQjX9rPnjq-gdyQa-kzRV9RD-X3Eg9uzoiTU8VAjQ0NioZH_MPqfSwAF2elwNdMZZH24hWmkkf5GnZmx0bZLRjKQjF-dITj_EnIYP9Extu-HmFIOlDENhXuD4t1o89JA',\n",
|
946 |
" 'width': 3214}],\n",
|
947 |
" 'place_id': 'ChIJMckScdqe4jARnCUZdPKRjF8',\n",
|
948 |
" 'plus_code': {'compound_code': 'PGRR+MC Bangkok, Thailand',\n",
|
|
|
965 |
" 'opening_hours': {'open_now': False},\n",
|
966 |
" 'photos': [{'height': 4000,\n",
|
967 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/110664455171949656649\">Lub d Bangkok Siam</a>'],\n",
|
968 |
+
" 'photo_reference': 'AXCi2Q7qVqiYRLZVt_dOCtImxbBVKNRmBCSzQ2v--5_YEibb3-6bO79iKRmn_LlFv1AvQ1K2hl5j24-PQYHJD5KC48NeZ-lFx5yvpYlQ41WJqpHoNc2TFIC-NGH61WnCnofVXvKh4xG1v-1N1dGqXG0ote0-VaxF3VJB5EqX8c4ePn4GdozI',\n",
|
969 |
" 'width': 6000}],\n",
|
970 |
" 'place_id': 'ChIJc33lpDKZ4jARil4bO37UbIs',\n",
|
971 |
" 'plus_code': {'compound_code': 'PGWH+PF Bangkok, Thailand',\n",
|
|
|
987 |
" 'name': 'VIE Hotel Bangkok - MGallery',\n",
|
988 |
" 'photos': [{'height': 4016,\n",
|
989 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/112525229722496996483\">VIE Hotel Bangkok - MGallery</a>'],\n",
|
990 |
+
" 'photo_reference': 'AXCi2Q7TveQ9nEBfcLD4-zSxR0YKeU9Dds7U8lV-Uq6Dqn_lE-cEGoRo4f8EU_W8AMOqKB3Sd2Q67lWjdRhwXG0EhZ1SCwJlzv6ScLyvCjB_p1fhFL3CZP8BiwFzBO6pwMKp3FDXGjxv4MxuJNuCf6Dhy1q9Evyn8L4jbGIM5drEAcX0Uo5E',\n",
|
991 |
" 'width': 6016}],\n",
|
992 |
" 'place_id': 'ChIJQwHqwrWe4jAR8yoMrZmtzaU',\n",
|
993 |
" 'plus_code': {'compound_code': 'QG2J+6R Bangkok, Thailand',\n",
|
|
|
996 |
" 'reference': 'ChIJQwHqwrWe4jAR8yoMrZmtzaU',\n",
|
997 |
" 'scope': 'GOOGLE',\n",
|
998 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
999 |
+
" 'user_ratings_total': 2352,\n",
|
1000 |
" 'vicinity': '117 39, 40 Phaya Thai Road'},\n",
|
1001 |
" {'business_status': 'OPERATIONAL',\n",
|
1002 |
" 'geometry': {'location': {'lat': 13.7400527, 'lng': 100.5399569},\n",
|
|
|
1009 |
" 'name': 'The St. Regis Bangkok',\n",
|
1010 |
" 'photos': [{'height': 320,\n",
|
1011 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/110177766871190441187\">The St. Regis Bangkok</a>'],\n",
|
1012 |
+
" 'photo_reference': 'AXCi2Q5MpeB0BkgSi1uUIdWT8oWziRVQEpZPeqwJw3RnzXL5wTAGgaAHsu8pfR1o1S9FvfSopFMe6HpmGOi7YCkazz5svGa4JhciyaT2T6eojpXkrKBYD_z1RLgn8bp7-TH4ewCyf8oWioRrKLfoPh3iNQGWi7QG3GrmLoCP_5cIIyfDCLaE',\n",
|
1013 |
" 'width': 480}],\n",
|
1014 |
" 'place_id': 'ChIJZ-0rstCe4jARS_6948lrmZU',\n",
|
1015 |
" 'plus_code': {'compound_code': 'PGRQ+2X Bangkok, Thailand',\n",
|
|
|
1019 |
" 'reference': 'ChIJZ-0rstCe4jARS_6948lrmZU',\n",
|
1020 |
" 'scope': 'GOOGLE',\n",
|
1021 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
1022 |
+
" 'user_ratings_total': 3163,\n",
|
1023 |
" 'vicinity': '159 Thanon Ratchadamri, Khwaeng Lumphini, Pathum Wan'},\n",
|
1024 |
" {'business_status': 'OPERATIONAL',\n",
|
1025 |
" 'geometry': {'location': {'lat': 13.7540569, 'lng': 100.5287023},\n",
|
|
|
1032 |
" 'name': 'Bangkok City Hotel',\n",
|
1033 |
" 'photos': [{'height': 4032,\n",
|
1034 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/100808819005846466311\">Aisyah Hassan</a>'],\n",
|
1035 |
+
" 'photo_reference': 'AXCi2Q4sZM83sIM9mOC6Idg-_kdWyCGM1YUHs2DaEeVeKDj5lteFPpbTIFAA60Y90LUX3iu75-bhCiCzUNg5-c9jlQiQJ6aSH3KIJasgs0UUh6NZU0wf0ho07k-FUoj-DrnK5kHmfF_H1IU3HKTzJCZJ4hxEMIYXAGeyYdezcGHRwwtb5j-R',\n",
|
1036 |
" 'width': 3024}],\n",
|
1037 |
" 'place_id': 'ChIJuyczxTSZ4jAR2rnUC9KTw6o',\n",
|
1038 |
" 'plus_code': {'compound_code': 'QG3H+JF Bangkok, Thailand',\n",
|
|
|
1055 |
" 'opening_hours': {'open_now': True},\n",
|
1056 |
" 'photos': [{'height': 1335,\n",
|
1057 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/115779328569151334983\">The Twin Towers Hotel</a>'],\n",
|
1058 |
+
" 'photo_reference': 'AXCi2Q5zHHC0HBwk7iR-m5-0F2QtmYVNs16ziY8g9zRKH_ViPHjqvPvE-n5JvuJT-Kjnh3_YoghMyn-SoriXMXxPpNySIw3sP1TjZ5BI8lRC2OVN_b6h3HPUYba9CWzJXn_-320Oho3XGZ-yr54y1t7G4j84SpmWzbwItgY-XmbnlWO36J2m',\n",
|
1059 |
" 'width': 2000}],\n",
|
1060 |
" 'place_id': 'ChIJ_zP3fy-Z4jARWYaBArPXGAg',\n",
|
1061 |
" 'plus_code': {'compound_code': 'PGW9+6W Bangkok, Thailand',\n",
|
|
|
1064 |
" 'reference': 'ChIJ_zP3fy-Z4jARWYaBArPXGAg',\n",
|
1065 |
" 'scope': 'GOOGLE',\n",
|
1066 |
" 'types': ['lodging', 'point_of_interest', 'establishment'],\n",
|
1067 |
+
" 'user_ratings_total': 3326,\n",
|
1068 |
" 'vicinity': '88 ถ.พระราม 6 ตัดใหม่, Khwaeng Rong Muang, Pathum Wan'},\n",
|
1069 |
" {'business_status': 'OPERATIONAL',\n",
|
1070 |
" 'geometry': {'location': {'lat': 13.7408604, 'lng': 100.5399556},\n",
|
|
|
1077 |
" 'opening_hours': {'open_now': True},\n",
|
1078 |
" 'photos': [{'height': 1037,\n",
|
1079 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/106256908812849161304\">Anantara Siam Bangkok Hotel</a>'],\n",
|
1080 |
+
" 'photo_reference': 'AXCi2Q6Rc9MGEhM1NGsPvYYoZ7dAi-hedtt97CrRjslZnsfwqbiEE0UkewPBEkVeY7l7QR4-WRlViax1KeVavFPnY7fa4TW6j0ccEY4fHqxifBSHlhDyA-rKK7uDoxsiUqSOfDJfMtxdUSN6jSRmArsILOdOxX6zz_50G5PAjuJA_nFbYocP',\n",
|
1081 |
" 'width': 1920}],\n",
|
1082 |
" 'place_id': 'ChIJVwz7GcWe4jARatGDB6rxqcE',\n",
|
1083 |
" 'plus_code': {'compound_code': 'PGRQ+8X Bangkok, Thailand',\n",
|
|
|
1085 |
" 'rating': 4.6,\n",
|
1086 |
" 'reference': 'ChIJVwz7GcWe4jARatGDB6rxqcE',\n",
|
1087 |
" 'scope': 'GOOGLE',\n",
|
1088 |
+
" 'types': ['lodging',\n",
|
1089 |
+
" 'spa',\n",
|
1090 |
" 'restaurant',\n",
|
|
|
1091 |
" 'food',\n",
|
1092 |
+
" 'point_of_interest',\n",
|
1093 |
" 'establishment'],\n",
|
1094 |
+
" 'user_ratings_total': 5380,\n",
|
1095 |
" 'vicinity': '155 Rajadamri Road, Khwaeng Lumphini, Pathum Wan'},\n",
|
1096 |
" {'business_status': 'OPERATIONAL',\n",
|
1097 |
" 'geometry': {'location': {'lat': 13.7468291, 'lng': 100.5313447},\n",
|
|
|
1102 |
" 'icon_background_color': '#4B96F3',\n",
|
1103 |
" 'icon_mask_base_uri': 'https://maps.gstatic.com/mapfiles/place_api/icons/v2/shopping_pinlet',\n",
|
1104 |
" 'name': 'Siam Discovery',\n",
|
1105 |
+
" 'opening_hours': {'open_now': False},\n",
|
1106 |
+
" 'photos': [{'height': 2340,\n",
|
1107 |
+
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/104261864986023217768\">S. Ibrahim Nst.</a>'],\n",
|
1108 |
+
" 'photo_reference': 'AXCi2Q5Nr0zE2yKY2Pkr89GsijyiE6eQyJ-A5-5AD7JGZhVrzp0_8QjBXaQjQFPCpnEZPL_9EK_fwCiIG6IBmlOjWAQqKcfL81Czkc3b1BDhi9rV-x7_SIuThzhLYsC6utnrTtIqJ6aepwquDJ05BtMjuhe8th8h2GJE8RKPGjjF0LrMtR-I',\n",
|
1109 |
+
" 'width': 4160}],\n",
|
1110 |
" 'place_id': 'ChIJgUSJZM2e4jAREnHS1rSuWRk',\n",
|
1111 |
" 'plus_code': {'compound_code': 'PGWJ+PG Bangkok, Thailand',\n",
|
1112 |
" 'global_code': '7P52PGWJ+PG'},\n",
|
|
|
1128 |
" 'opening_hours': {'open_now': True},\n",
|
1129 |
" 'photos': [{'height': 1280,\n",
|
1130 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/104889790730167599680\">Aphrodite Inn Bangkok</a>'],\n",
|
1131 |
+
" 'photo_reference': 'AXCi2Q6EEQ1eZIsi5DslFbjDTEOZApqtYIjZv48JZwNnHCbKRK8cPFGbQod8Iavt8Vb6jt7UCAgUyjLOID96NsRtVMN77VFFmvmL5gR7FxV2Sq7jZfRQacYxeKKDh1gLikbVZ76Qe0r5rbxHP734MmhfpULIWTCXc8Z68JUz1yTBUCoy57wL',\n",
|
1132 |
" 'width': 1280}],\n",
|
1133 |
" 'place_id': 'ChIJJ-xLecWe4jARimHRYcEPNS8',\n",
|
1134 |
" 'plus_code': {'compound_code': 'PGXR+7H Bangkok, Thailand',\n",
|
|
|
1149 |
" 'name': 'Pathum Wan',\n",
|
1150 |
" 'photos': [{'height': 1800,\n",
|
1151 |
" 'html_attributions': ['<a href=\"https://maps.google.com/maps/contrib/118254622117013496228\">Nakorn Chong</a>'],\n",
|
1152 |
+
" 'photo_reference': 'AXCi2Q6nWG-gVdJIY_3aZwHHeEunCwUQasXaWepe4x_Iy8OvLh53nKVv_RCoDR6QsnDvAqI94qcMrrcFS8ysjH_LktZ54BVkISzB7-qPUkQeW_OWsLDMFvbm59cAV8nKDhSRIhuP0e9X1cClvOdXpAowEPNUMnwVvnrao82p637ynK2OCmFS',\n",
|
1153 |
" 'width': 4000}],\n",
|
1154 |
" 'place_id': 'ChIJ9dY-MdSe4jAR8E3iXbIAAQM',\n",
|
1155 |
" 'reference': 'ChIJ9dY-MdSe4jAR8E3iXbIAAQM',\n",
|
|
|
1158 |
" 'vicinity': 'Pathum Wan'}]"
|
1159 |
]
|
1160 |
},
|
1161 |
+
"execution_count": 8,
|
1162 |
"metadata": {},
|
1163 |
"output_type": "execute_result"
|
1164 |
}
|
prompt.py
CHANGED
@@ -10,7 +10,7 @@ agent_meta = [
|
|
10 |
"prompt": """
|
11 |
You are the Data Collector. Use the tools to gather data on the location and keyword provided by the Analyst.
|
12 |
You must provide data on the number of competitors, nearby competitors, the products they sell and their prices, population, community type, household expenditures, and population data.
|
13 |
-
Additionally, use
|
14 |
Use the population data tool to search for population, community type, and household expenditures related to the province or district of the location.
|
15 |
Then, use nearby_search to get data about nearby competitors. If some data is not provided, make it up.
|
16 |
If you cannot find some data, assume it yourself (mock it up) but don’t let the Reporter know.
|
@@ -27,6 +27,6 @@ agent_meta = [
|
|
27 |
2. Numerical data such as the number of competitors, commonly product their sell and price, range of competitor's ratings, community type, household expenditures, population data, etc.
|
28 |
3. Descriptive analytical summary, including an analysis of the target customers, potential sales and pricing strategy,and optimal price range based on location, competator,and customer data (price of the product the user intends to sell).
|
29 |
|
30 |
-
Provide a final report based on the available information. After that, prefix your response with '
|
31 |
}
|
32 |
]
|
|
|
10 |
"prompt": """
|
11 |
You are the Data Collector. Use the tools to gather data on the location and keyword provided by the Analyst.
|
12 |
You must provide data on the number of competitors, nearby competitors, the products they sell and their prices, population, community type, household expenditures, and population data.
|
13 |
+
Additionally, Always use google_search tools to find information on 'the pricing of [each competitor] in [distinct]', and the human capacity IF the keyword are hotel, search "number of rooms [each competitor] in [distinct]". IF the keyword are school, search "number of student in [each competitor] in [distinct]".
|
14 |
Use the population data tool to search for population, community type, and household expenditures related to the province or district of the location.
|
15 |
Then, use nearby_search to get data about nearby competitors. If some data is not provided, make it up.
|
16 |
If you cannot find some data, assume it yourself (mock it up) but don’t let the Reporter know.
|
|
|
27 |
2. Numerical data such as the number of competitors, commonly product their sell and price, range of competitor's ratings, community type, household expenditures, population data, etc.
|
28 |
3. Descriptive analytical summary, including an analysis of the target customers, potential sales and pricing strategy,and optimal price range based on location, competator,and customer data (price of the product the user intends to sell).
|
29 |
|
30 |
+
Provide a final report based on the available information. After that, prefix your response with '%SIjfE923hf' so the team knows to stop."""
|
31 |
}
|
32 |
]
|
requirements.txt
CHANGED
@@ -8,4 +8,5 @@ langchain-text-splitters
|
|
8 |
langgraph
|
9 |
|
10 |
langchain_google_community
|
11 |
-
googlemaps
|
|
|
|
8 |
langgraph
|
9 |
|
10 |
langchain_google_community
|
11 |
+
googlemaps
|
12 |
+
beautifulsoup4
|
testsets/QA_smaple.txt
CHANGED
@@ -1,373 +1,343 @@
|
|
1 |
quesion:
|
2 |
-
|
3 |
answer:
|
4 |
-
###
|
5 |
-
|
6 |
-
#### 1.
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
|
|
|
|
19 |
|
20 |
#### 2. Numerical Data
|
21 |
-
- **
|
22 |
-
- **
|
23 |
-
- **
|
|
|
|
|
|
|
|
|
24 |
|
25 |
#### 3. Descriptive Analytical Summary
|
26 |
-
|
27 |
-
|
28 |
-
- **Potential Sales and Pricing Strategy:** Given the competitive landscape, a pricing strategy should consider the average rates of existing hotels. A competitive price range of **$80 to $120** could attract customers while ensuring profitability. Offering unique amenities or experiences could justify higher pricing.
|
29 |
|
30 |
-
|
31 |
|
32 |
-
|
|
|
|
|
33 |
|
34 |
|
35 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
36 |
quesion:
|
37 |
-
|
38 |
answer:
|
39 |
-
###
|
40 |
-
|
41 |
-
#### 1.
|
42 |
-
- **
|
43 |
-
|
44 |
-
- **
|
45 |
-
- **
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
-
#### 2. Numerical Data
|
49 |
-
- **
|
50 |
-
- **Average
|
51 |
-
- **
|
52 |
-
-
|
53 |
-
-
|
54 |
-
-
|
55 |
-
-
|
|
|
56 |
|
57 |
-
#### 3. Descriptive Analytical Summary
|
58 |
-
- **Target Customers
|
59 |
-
- **Potential Sales
|
60 |
-
- **
|
61 |
-
- **Community Insights**: The presence of local amenities such as markets, schools, and health centers enhances the attractiveness of the area, making it a favorable location for hotel businesses.
|
62 |
|
63 |
-
|
|
|
64 |
|
65 |
|
66 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
67 |
quesion:
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
#### 1. Competitors
|
73 |
-
- **Jasmine Siam Kitchen** - Rating: 4.7
|
74 |
-
- **Prego Bangkok** - Rating: 4.4
|
75 |
-
- **Arun Thai Cuisine by SEE FAH** - Rating: 4.4
|
76 |
-
- **I Food Bar & Restaurant** - Rating: 4.8
|
77 |
-
- **Indian Express** - Rating: 4.9
|
78 |
-
- **Angkor Restaurant** - Rating: 4.7
|
79 |
-
- **Shree Bhavan Pure South Indian Vegetarian Restaurant** - Rating: 4.9
|
80 |
-
- **Floor Fuangfah Cafe & Restaurant** - Rating: 4.7
|
81 |
-
- **India Greens Restaurant** - Rating: 4.8
|
82 |
-
- **Bangkok'78** - Rating: 4.3
|
83 |
-
|
84 |
-
#### 2. Numerical Data
|
85 |
-
- **Population of Bangkok**: Approximately 10.5 million
|
86 |
-
- **Average Household Expenditure**: 28,000 THB per month
|
87 |
-
- **Number of Competitors**: 10 restaurants within a 1 km radius of Siam Paragon
|
88 |
-
- **Competitor Ratings**: Range from 4.3 to 4.9
|
89 |
-
|
90 |
-
#### 3. Descriptive Analytical Summary
|
91 |
-
- **Target Customers**: The area attracts a mix of tourists, business travelers, and local shoppers, indicating a diverse customer base with varying preferences.
|
92 |
-
- **Potential Sales**: Given the high foot traffic and the presence of hotels and shopping centers, a restaurant could see significant patronage, especially during peak shopping hours and tourist seasons.
|
93 |
-
- **Pricing Strategy**: To compete effectively, the restaurant should consider a pricing strategy that aligns with the average household expenditure while offering value. A price range of 200-800 THB per meal could be optimal, catering to both budget-conscious diners and those seeking a premium dining experience.
|
94 |
-
- **Optimal Price Range**: Based on competitor pricing and customer demographics, a mid-range pricing strategy would likely attract a broad audience while maintaining profitability.
|
95 |
-
|
96 |
-
This analysis suggests that opening a restaurant near Siam Paragon could be a lucrative opportunity, provided it offers a unique dining experience that stands out in a competitive market.
|
97 |
|
98 |
|
99 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
100 |
quesion:
|
101 |
-
|
102 |
answer:
|
103 |
-
###
|
104 |
-
|
105 |
-
#### 1. Competitor
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
|
|
|
|
113 |
|
114 |
#### 2. Numerical Data
|
115 |
-
- **Number of Competitors:** 21 restaurants within a
|
116 |
-
- **
|
117 |
-
- **
|
118 |
-
- **
|
119 |
-
- **
|
|
|
|
|
|
|
|
|
120 |
|
121 |
#### 3. Descriptive Analytical Summary
|
122 |
-
- **Target Customers:** The target customers
|
123 |
-
|
124 |
-
- **Pricing Strategy:**
|
125 |
-
|
|
|
126 |
|
127 |
-
This
|
128 |
|
129 |
|
130 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
131 |
quesion:
|
132 |
-
|
133 |
answer:
|
134 |
-
###
|
135 |
-
|
136 |
-
#### 1.
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
-
|
|
|
|
|
|
|
|
|
147 |
|
148 |
#### 2. Numerical Data
|
149 |
-
- **Number of Competitors**: 10
|
150 |
-
- **Common Products**: Coffee
|
151 |
-
- **Price Range**:
|
152 |
-
-
|
153 |
-
-
|
154 |
-
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
- Samantao Heritage Coffee: 100-300 THB
|
161 |
-
- Coffeeology: 90-200 THB
|
162 |
-
- **Competitor Ratings**: Range from 4.1 to 4.9
|
163 |
-
- **Community Type**: Urban area with commercial and residential mix
|
164 |
-
- **Population**: Approximately 22,000 residents
|
165 |
-
- **Average Household Expenditure**: Around 30,000 THB per month
|
166 |
|
167 |
#### 3. Descriptive Analytical Summary
|
168 |
-
|
169 |
-
- **Potential Sales**: Given the high foot traffic from nearby hotels and shopping centers, there is significant potential for sales. The average price range of competitors indicates that customers are willing to pay for quality coffee.
|
170 |
-
- **Pricing Strategy**: A competitive pricing strategy should be adopted, with prices set between 90-200 THB for standard coffee offerings and 120-250 THB for specialty drinks. This aligns with the pricing of existing competitors while ensuring profitability.
|
171 |
-
- **Optimal Price Range**: Based on competitor pricing and customer demographics, an optimal price range for a new coffee shop in this area would be between 100-200 THB for regular coffee and 150-250 THB for specialty coffee.
|
172 |
|
173 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
|
176 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
177 |
quesion:
|
178 |
-
|
179 |
answer:
|
180 |
-
|
181 |
-
|
182 |
-
#### 1. List of Competitors
|
183 |
-
- **Lotus’s go fresh** (Rating: 4.1)
|
184 |
-
- **Siddhartha Grocery Store** (Rating: 4.5)
|
185 |
-
- **Tops Century** (Rating: 3.7)
|
186 |
-
- **Myanmar Food Grocery Store** (Rating: 3.5)
|
187 |
-
- **Get it Supermarket** (Rating: 0)
|
188 |
-
- **Food Park** (Rating: 0)
|
189 |
-
- **Lotus’** (Rating: 2.6)
|
190 |
-
- **Tops Daily Soi Talad Sri Wanit** (Rating: 0)
|
191 |
-
- **Various other local grocery stores** with varying ratings.
|
192 |
-
|
193 |
-
#### 2. Numerical Data
|
194 |
-
- **Number of Competitors**: 18 grocery stores within a 1 km radius.
|
195 |
-
- **Common Products**: Groceries, fresh produce, packaged foods, household items.
|
196 |
-
- **Price Range**: Average household expenditure in Bangkok is around 30,000 THB per month.
|
197 |
-
- **Competitor Ratings**: Range from 0 to 4.5.
|
198 |
-
- **Community Type**: Urbanized area with a mix of residential and commercial spaces.
|
199 |
-
- **Population**: Approximately 10.5 million in Bangkok.
|
200 |
-
|
201 |
-
#### 3. Descriptive Analytical Summary
|
202 |
-
- **Target Customers**: The target customers are likely to be local residents, office workers, and tourists in the area, looking for convenience and variety in grocery shopping.
|
203 |
-
- **Potential Sales**: Given the high population density and average household expenditure, there is significant potential for sales in grocery items.
|
204 |
-
- **Pricing Strategy**: Competitors have varying ratings, indicating a mix of quality and price. A competitive pricing strategy should be adopted, focusing on quality products at reasonable prices to attract customers.
|
205 |
-
- **Optimal Price Range**: Based on competitor analysis and household expenditures, an optimal price range for grocery items could be set between 30-100 THB for everyday items, ensuring affordability while maintaining quality.
|
206 |
-
|
207 |
-
This report provides a comprehensive overview of the competitive landscape for grocery stores near Victory Monument, along with insights into the target market and potential strategies for success.
|
208 |
|
209 |
|
210 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
211 |
quesion:
|
212 |
-
|
213 |
answer:
|
214 |
-
###
|
215 |
-
|
216 |
-
#### 1.
|
217 |
-
Here
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
|
|
|
|
|
|
228 |
|
229 |
#### 2. Numerical Data
|
230 |
-
- **Number of Competitors**: 10
|
231 |
-
- **
|
232 |
-
- **Average
|
233 |
-
- **
|
234 |
-
- **
|
235 |
-
|
236 |
-
|
237 |
-
- Breads: 20 - 80 THB
|
238 |
|
239 |
#### 3. Descriptive Analytical Summary
|
240 |
-
- **Target Customers**: The target
|
241 |
-
|
242 |
-
- **
|
243 |
-
|
244 |
-
- **Pricing Strategy**: The optimal price range for products should be competitive with existing bakeries. For pastries, a price range of 30 - 80 THB would be attractive, while cakes could be priced between 500 - 1,200 THB depending on size and customization.
|
245 |
|
246 |
-
|
247 |
-
|
248 |
-
This analysis provides a comprehensive overview of the competitive landscape for a bakery near Chatuchak Market, along with insights into potential strategies for success.
|
249 |
|
250 |
|
251 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
252 |
quesion:
|
253 |
-
|
254 |
answer:
|
255 |
-
###
|
256 |
-
|
257 |
-
#### 1.
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
-
|
263 |
-
|
264 |
-
|
265 |
-
-
|
266 |
-
|
267 |
-
|
|
|
|
|
|
|
268 |
|
269 |
#### 2. Numerical Data
|
270 |
-
- **Number of Competitors**:
|
271 |
-
- **Common Products
|
272 |
-
|
273 |
-
|
274 |
-
- **
|
275 |
-
|
276 |
-
- **
|
277 |
-
- **Population Data**: Approximately 22,000 residents in Pathum Wan.
|
278 |
-
- **Household Expenditures**: Average of $1,200 per month.
|
279 |
|
280 |
#### 3. Descriptive Analytical Summary
|
281 |
-
- **Target Customers**: The
|
282 |
-
- **Potential Sales**: Given the
|
283 |
-
- **Pricing Strategy**:
|
284 |
-
- **
|
285 |
|
286 |
-
This report provides a comprehensive overview of the
|
287 |
|
288 |
|
289 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
290 |
quesion:
|
291 |
-
|
292 |
answer:
|
293 |
-
###
|
294 |
-
|
295 |
-
#### 1.
|
296 |
-
Here is a list of
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
|
|
|
|
307 |
|
308 |
#### 2. Numerical Data
|
309 |
-
- **Number of Competitors**:
|
310 |
-
- **
|
311 |
-
- **
|
312 |
-
- **
|
313 |
-
- **
|
314 |
-
- **
|
315 |
-
|
316 |
-
- Specialty Coffee: THB 120 - THB 250
|
317 |
-
- Popular Chains (e.g., Starbucks): THB 100 - THB 200.
|
318 |
-
- **Foot Traffic**: MBK Center attracts over 100,000 visitors per day during peak times.
|
319 |
|
320 |
#### 3. Descriptive Analytical Summary
|
321 |
-
The
|
322 |
-
|
323 |
-
**
|
324 |
-
-
|
325 |
-
- Unique offerings, such as specialty brews or themed events, could attract customers looking for a distinct experience.
|
326 |
|
327 |
-
|
328 |
-
- For a new coffee shop, setting prices slightly below the average of competitors could help in attracting initial customers while maintaining quality. A price range of THB 50 - THB 100 for standard coffee and THB 100 - THB 200 for specialty options could be effective.
|
329 |
-
|
330 |
-
In conclusion, opening a coffee shop near Maboonkrong presents a promising opportunity, especially with the high foot traffic and diverse customer base. A focus on quality, unique offerings, and competitive pricing will be key to success.
|
331 |
|
332 |
|
333 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
334 |
quesion:
|
335 |
-
|
336 |
answer:
|
337 |
-
###
|
338 |
-
|
339 |
-
#### 1.
|
340 |
-
- **
|
341 |
-
- **
|
342 |
-
- **
|
343 |
-
- **
|
344 |
-
- **
|
345 |
-
- **
|
346 |
-
- **
|
347 |
-
- **
|
348 |
-
-
|
349 |
|
350 |
#### 2. Numerical Data
|
351 |
-
- **
|
352 |
-
- **
|
353 |
-
- **
|
354 |
-
|
355 |
-
- **Ratings Range:** 4.2 to 5.0.
|
356 |
-
- **Community Type:** Urban locality with a mix of residential and commercial areas.
|
357 |
-
- **Household Expenditures:**
|
358 |
-
- Average monthly food expenditure: 12,000 THB.
|
359 |
-
- Average monthly dining out expenditure: 4,700 THB.
|
360 |
-
- **Population Data:** Approximately 12,000 residents in the Bang Kapi District.
|
361 |
|
362 |
#### 3. Descriptive Analytical Summary
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
To attract customers, a competitive pricing strategy should be employed, possibly starting at the lower end of the price range while ensuring quality to build a strong reputation. Additionally, offering unique dishes or experiences could differentiate a new restaurant from existing competitors.
|
368 |
|
369 |
-
|
370 |
|
371 |
|
372 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
373 |
-
average execution time:
|
|
|
1 |
quesion:
|
2 |
+
Coffee shop near Central World
|
3 |
answer:
|
4 |
+
### Final Report on Coffee Shops Near Central World
|
5 |
+
|
6 |
+
#### 1. Competitor Analysis
|
7 |
+
Here is a list of coffee shops near Central World, including their ratings and product prices:
|
8 |
+
|
9 |
+
| Coffee Shop Name | Address | Rating | Average Price (THB) |
|
10 |
+
|--------------------------------------|-------------------------------------------------------|--------|----------------------|
|
11 |
+
| Earthy Roaster (Specialty Coffee) | 994 Makkasan, Ratchathewi | 4.8 | 200 (for 250g coffee)|
|
12 |
+
| Salotto Coffee | 813/8 Phetchaburi Rd, Thanon Phaya Thai, Ratchathewi| 5 | 80-150 |
|
13 |
+
| The Basic Coffee BKK | Gaysorn Amarin, 496-502 Phloen Chit Rd, Pathum Wan | 4.7 | 100 |
|
14 |
+
| Bullet Thai Craft Beer | 85 1 Akkharanithi Alley, Thanon Phaya Thai, Ratchathewi| 5 | 120 |
|
15 |
+
| TABLA Craft Coffee | 502, Phloen Chit Rd, Lumphini, Pathum Wan | 4.6 | 100 |
|
16 |
+
| RISE COFFEE - Flagship Store | 888 Phloen Chit Rd, Lumphini, Pathum Wan | 4.8 | 150 |
|
17 |
+
| You Drink Coffee | 89, 25 Witthayu Rd, Lumphini, Pathum Wan | 4.5 | 100 |
|
18 |
+
| Rich Coffee | 20 Phetchaburi 7 Alley, Thung Phaya Thai, Ratchathewi| 5 | 80 |
|
19 |
+
| Early Bird Coffee - Chit Lom BTS | Chit Lom BTS Lumpini, Khet, Pathum Wan | 4.8 | 120 |
|
20 |
+
| Mongkol COFFEE | 266/15 Rama I Rd, Pathum Wan | 4.6 | 100 |
|
21 |
|
22 |
#### 2. Numerical Data
|
23 |
+
- **Number of Competitors**: 10 coffee shops listed.
|
24 |
+
- **Common Products**: Specialty coffee, brewed coffee, espresso drinks, and pastries.
|
25 |
+
- **Price Range of Competitors**: THB 80 to THB 200 for coffee products.
|
26 |
+
- **Competitor Ratings**: Range from 4.5 to 5.
|
27 |
+
- **Community Type**: Urban (Bangkok).
|
28 |
+
- **Population**: Approximately 10.5 million.
|
29 |
+
- **Average Household Expenditures**: Around THB 28,000 per month.
|
30 |
|
31 |
#### 3. Descriptive Analytical Summary
|
32 |
+
**Target Customers**: The target customers for coffee shops in this area are likely to be urban professionals, students, and tourists who frequent Central World for shopping and leisure. The high ratings of these coffee shops suggest a focus on quality and customer experience.
|
|
|
|
|
33 |
|
34 |
+
**Potential Sales and Pricing Strategy**: Given the competitive pricing and high ratings of existing coffee shops, a new coffee shop should consider positioning itself within the THB 100 to THB 150 range for standard coffee offerings. Specialty items could be priced higher, around THB 200, to reflect quality.
|
35 |
|
36 |
+
**Optimal Price Range**: Based on competitor pricing and customer demographics, the optimal price range for a new coffee shop in this area would be between THB 100 and THB 150 for regular coffee, with specialty items priced at THB 200 or more. This pricing strategy would allow for competitive positioning while also appealing to the quality-conscious consumer base in Bangkok.
|
37 |
+
|
38 |
+
This report provides a comprehensive overview of the coffee shop landscape near Central World, offering insights into competitors, pricing strategies, and target demographics.
|
39 |
|
40 |
|
41 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
42 |
quesion:
|
43 |
+
Feasibility analysis for a bookstore near Thonglor
|
44 |
answer:
|
45 |
+
### Final Report: Feasibility Analysis for a Bookstore Near Thonglor
|
46 |
+
|
47 |
+
#### 1. Competitor Overview
|
48 |
+
- **Competitors Identified:**
|
49 |
+
1. **Asia Books Samitivej Hospital**
|
50 |
+
- **Rating:** 4.5
|
51 |
+
- **Address:** 49 Khlong Tan Nuea, Watthana
|
52 |
+
2. **Naiin**
|
53 |
+
- **Rating:** 4.5
|
54 |
+
- **Address:** 135 Khlong Toei Nuea, Watthana
|
55 |
+
3. **Book Link Co., LTD.**
|
56 |
+
- **Rating:** 4.0
|
57 |
+
- **Address:** 47/3 Ekkamai 28 Alley, Khlong Tan Nuea, Watthana
|
58 |
+
4. **Asiabooks Bangkok Hospital**
|
59 |
+
- **Rating:** 3.5
|
60 |
+
- **Address:** 1-06 Bangkok Plaza, New Petchaburi Rd, Bang Kapi, Huai Khwang
|
61 |
+
5. **Rock Paper Scissors Magazine Store**
|
62 |
+
- **Rating:** 4.0
|
63 |
+
- **Address:** 14, DH Grand Tower, Soi Sukhumvit 39, Khlong Tan Nuea, Watthana
|
64 |
+
6. **Various Other Bookstores**
|
65 |
+
- **Rating:** 5.0
|
66 |
+
- **Address:** 2447/7 New Petchaburi Rd, Bang Kapi, Huai Khwang
|
67 |
|
68 |
+
#### 2. Numerical Data
|
69 |
+
- **Total Competitors:** 7 bookstores within a 1 km radius of Thonglor.
|
70 |
+
- **Average Competitor Rating:** Approximately 4.0.
|
71 |
+
- **Household Expenditures on Books:**
|
72 |
+
- Average expenditure: 34 THB
|
73 |
+
- Median expenditure: 45 THB
|
74 |
+
- Total households spending on books: 39
|
75 |
+
- Total households with no expenditure on books: 12
|
76 |
+
- **Price Range for Books:** 1,000 THB to 7,500 THB.
|
77 |
|
78 |
+
#### 3. Descriptive Analytical Summary
|
79 |
+
- **Target Customers:** The target customers in Thonglor include local residents, expatriates, and visitors who are likely to seek English and foreign language books. The presence of high-rated bookstores indicates a demand for quality literature.
|
80 |
+
- **Potential Sales and Pricing Strategy:** Given the competitive landscape, a new bookstore could adopt a pricing strategy that aligns with the average market prices while offering unique products or services. A price range of 1,000 THB to 7,500 THB for premium books could be effective.
|
81 |
+
- **Optimal Price Range:** The optimal price range should consider the average household expenditure on books, which is relatively low. Therefore, offering a mix of affordable and premium products could attract a broader customer base.
|
|
|
82 |
|
83 |
+
### Conclusion
|
84 |
+
The feasibility of establishing a bookstore in Thonglor appears promising, given the high ratings of existing competitors and the potential customer base. However, careful consideration of product offerings, pricing strategies, and additional services (like a café or events) will be crucial for success in this competitive market. Further market research is recommended to refine the business model and ensure alignment with customer preferences.
|
85 |
|
86 |
|
87 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
88 |
quesion:
|
89 |
+
วิเคราะห์คู่แข่งของร้านเบเกอรี่ใกล้ตลาดจตุจักร
|
90 |
+
error:
|
91 |
+
Recursion limit of 20 reached without hitting a stop condition. You can increase the limit by setting the `recursion_limit` config key.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
|
94 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
95 |
quesion:
|
96 |
+
วิเคราะห์ร้านอาหารแถวลุมพินี เซ็นเตอร์ ลาดพร้าว
|
97 |
answer:
|
98 |
+
### Final Report on Restaurants Near Lumpini Center, Lat Phrao
|
99 |
+
|
100 |
+
#### 1. Competitor Analysis
|
101 |
+
Here is a list of notable competitors, their ratings, and product prices:
|
102 |
+
|
103 |
+
| Restaurant Name | Rating | Address | Average Price Range (THB) |
|
104 |
+
|-------------------------------------|--------|---------------------------------------------------|----------------------------|
|
105 |
+
| Thai Restaurant | 4.5 | 3500 Lat Phrao Rd, Khlong Chan, Bang Kapi | 150 - 500 |
|
106 |
+
| Thai Flavours | 5.0 | QJCP+JJW, Soi Lat Phrao 111, Khlong Chan | 150 - 500 |
|
107 |
+
| Khun Young's Kitchen | 4.8 | 67, 16 Lat Phrao 111, Khlong Chan | 150 - 500 |
|
108 |
+
| อร่อยดี (Aroi Dee) | 4.7 | Unnamed Road, Khlong Chan, Bang Kapi | 150 - 500 |
|
109 |
+
| ร้านอาหาร 109 (Restaurant 109) | 5.0 | 397 Lat Phrao 109 Alley, Lane 1, Khlong Chan | 150 - 500 |
|
110 |
+
| SiSiam | 5.0 | 67, 20-21 Lat Phrao 111, Khlong Chan | 150 - 500 |
|
111 |
+
| LT Fish Restaurant The Mall Bangkapi| 4.6 | The Mall Bangkapi, Khwaeng Khlong Chan | 150 - 500 |
|
112 |
+
| Yuzu Ramen Thailand The Mall Bangkapi| 3.2 | 3522 Lat Phrao Rd, Khlong Chan | 150 - 500 |
|
113 |
|
114 |
#### 2. Numerical Data
|
115 |
+
- **Number of Competitors:** 21 restaurants within a 1 km radius.
|
116 |
+
- **Common Products Sold:** Primarily Thai cuisine, with some offering Japanese and seafood options.
|
117 |
+
- **Price Range of Competitors:** 150 - 1,200 THB per meal.
|
118 |
+
- **Community Type:** Urban, with a mix of residential and commercial areas.
|
119 |
+
- **Household Expenditures:**
|
120 |
+
- Average monthly expenditure on food: 12,000 THB
|
121 |
+
- Average monthly expenditure on dining out: 4,700 THB
|
122 |
+
- Average monthly expenditure on entertainment: 3,400 THB
|
123 |
+
- **Population:** Approximately 12,000 residents in the Bang Kapi District.
|
124 |
|
125 |
#### 3. Descriptive Analytical Summary
|
126 |
+
- **Target Customers:** The target customers are likely to be local residents, office workers, and visitors to the area, who are looking for convenient dining options. The average household expenditure indicates a willingness to spend on dining out, especially for casual and mid-range restaurants.
|
127 |
+
|
128 |
+
- **Potential Sales and Pricing Strategy:** Given the competitive landscape, a pricing strategy that aligns with the average price range of 150 - 500 THB for casual dining would be optimal. Offering promotions or loyalty programs could attract repeat customers.
|
129 |
+
|
130 |
+
- **Optimal Price Range:** Based on competitor analysis and household expenditure data, setting menu prices within the range of 150 - 500 THB would be advisable to capture the local market effectively. Additionally, considering the high ratings of competitors, maintaining quality and service will be crucial for success.
|
131 |
|
132 |
+
This report provides a comprehensive overview of the restaurant landscape near Lumpini Center, Lat Phrao, and offers insights for potential business strategies in the area.
|
133 |
|
134 |
|
135 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
136 |
quesion:
|
137 |
+
วิเคราะห์การเปิดร้านกาแฟใกล้มาบุญครอง
|
138 |
answer:
|
139 |
+
### Final Report on Opening a Coffee Shop Near Maboonkrong (มาบุญครอง)
|
140 |
+
|
141 |
+
#### 1. Competitor Analysis
|
142 |
+
Here is a list of notable competitors in the vicinity of Maboonkrong, including their ratings and product prices:
|
143 |
+
|
144 |
+
| Competitor Name | Rating | Address | Price Range (THB) |
|
145 |
+
|------------------------------------------|--------|---------------------------------------------------|--------------------|
|
146 |
+
| Olympic Coffee | 4.8 | 43/4 Rama VI Rd, Rong Muang, Pathum Wan | 60 - 120 |
|
147 |
+
| Salotto Coffee | 5.0 | 813/8 Phetchaburi Rd, Thanon Phaya Thai, Ratchathewi | 120 - 200 |
|
148 |
+
| Bullet Thai Craft Beer | 5.0 | 85 1 Akkharanithi Alley, Thanon Phaya Thai, Ratchathewi | 60 - 120 |
|
149 |
+
| Greatercafe Specialty Coffee Bangkok | 4.7 | 1/11 Rong Muang 5 Alley, Rong Muang, Pathum Wan | 60 - 120 |
|
150 |
+
| กาแฟบ้านนอก (Ban Nok Coffee) | 5.0 | 355 10330 367 Soi Chula3 Wang Mai, Khet Phatumwan | 60 - 120 |
|
151 |
+
| NOONKOTSI KOREAN DESSERT CAFE | 4.9 | 1792 Rama I Rd, Rong Muang, Pathum Wan | 60 - 120 |
|
152 |
+
| Mongkol COFFEE | 4.6 | 266/15 Rama I Rd, Pathum Wan | 60 - 120 |
|
153 |
+
| CONTRAST.BKK | 4.4 | 923 Soi Chulalongkorn 5, Wangmai, Pathum Wan | 60 - 120 |
|
154 |
+
| Pacamara Coffee Roasters | 4.4 | 999/9 Rama I Rd, Pathum Wan | 120 - 200 |
|
155 |
+
| Bantatthong Cafe | 4.8 | 1800 Rama I Rd, Wang Mai, Pathum Wan | 60 - 120 |
|
156 |
|
157 |
#### 2. Numerical Data
|
158 |
+
- **Number of Competitors**: 10 notable coffee shops within a 1 km radius.
|
159 |
+
- **Common Products**: Coffee (standard and specialty), pastries, and snacks.
|
160 |
+
- **Price Range of Competitors**:
|
161 |
+
- Standard Coffee: 60 - 120 THB
|
162 |
+
- Specialty Coffee: 120 - 200 THB
|
163 |
+
- Pastries and Snacks: 30 - 80 THB
|
164 |
+
- **Community Type**: Urban, with a mix of residential and commercial areas.
|
165 |
+
- **Population**: Approximately 22,000 residents in Pathum Wan.
|
166 |
+
- **Average Monthly Household Expenditure**: 17,000 THB.
|
167 |
+
- **Average Spending on Food and Beverages**: 19% of total expenditures.
|
168 |
+
- **Average Spending on Entertainment and Leisure**: 42% of total expenditures.
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
|
170 |
#### 3. Descriptive Analytical Summary
|
171 |
+
**Target Customers**: The target customers for a new coffee shop in this area would primarily be local residents, office workers, and tourists visiting the nearby shopping centers. Given the high ratings of existing competitors, customers are likely looking for quality coffee and a comfortable atmosphere.
|
|
|
|
|
|
|
172 |
|
173 |
+
**Potential Sales and Pricing Strategy**:
|
174 |
+
- **Sales Potential**: With a population of 22,000 and a significant percentage of disposable income allocated to food and beverages, there is a strong potential for sales.
|
175 |
+
- **Pricing Strategy**: To remain competitive, pricing should align with existing coffee shops. A suggested price range for standard coffee could be set at 60 - 120 THB, while specialty coffee could be priced at 120 - 200 THB. Offering promotions or loyalty programs could attract more customers.
|
176 |
+
|
177 |
+
**Optimal Price Range**: Based on competitor analysis and community data, the optimal price range for coffee products should be:
|
178 |
+
- Standard Coffee: 60 - 120 THB
|
179 |
+
- Specialty Coffee: 120 - 200 THB
|
180 |
+
- Pastries and Snacks: 30 - 80 THB
|
181 |
+
|
182 |
+
This pricing strategy, combined with a focus on quality and customer experience, could position the new coffee shop for success in the competitive market near Maboonkrong.
|
183 |
|
184 |
|
185 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
186 |
quesion:
|
187 |
+
วิเคราะห์การเปิดร้านอาหารแถวนวลจันทร์
|
188 |
answer:
|
189 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
|
192 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
193 |
quesion:
|
194 |
+
วิเคราะห์การเปิดร้านอาหารใกล้สยามพารากอน
|
195 |
answer:
|
196 |
+
### Final Report: Analysis of Opening a Restaurant Near Siam Paragon
|
197 |
+
|
198 |
+
#### 1. Competitor Overview
|
199 |
+
Here is a list of competitors within a 1 km radius of Siam Paragon, including their ratings and addresses:
|
200 |
+
|
201 |
+
| Restaurant Name | Rating | Address |
|
202 |
+
|-----------------------------------------------------|--------|-----------------------------------------------------------|
|
203 |
+
| Shree Bhavan Pure South Indian Vegetarian Restaurant | 4.9 | 120 Pratunam Market, 45 Ratchaprarop Rd, Ratchathewi |
|
204 |
+
| The SQUARE Restaurant | 4.4 | 220 Petchaburi Road, Ratchathewi |
|
205 |
+
| Stock.Room | 4.6 | Kimpton Maa-Lai Bangkok, Soi Ton Son, Pathum Wan |
|
206 |
+
| Mickey's Diner BKK | 4.1 | GF Floor, Amarin Plaza, Phloen Chit Rd, Pathum Wan |
|
207 |
+
| Indiagate Restaurant | 4.6 | 567/ Ratchaprarop Rd, Makkasan, Ratchathewi |
|
208 |
+
| Flourish | 4.2 | 80 Soi Ton Son, Lumphini, Pathum Wan |
|
209 |
+
| Angkor Restaurant | 4.7 | 42 Phetchaburi Rd, Ratchathewi |
|
210 |
+
| Medici Kitchen & Bar | 4.4 | 55 Lang Suan Rd, Lumphini, Pathum Wan |
|
211 |
+
| NO.43 Italian Bistro | 4.3 | 43 Soi Langsuan, Lumphini, Pathum Wan |
|
212 |
+
| La VIE Bistronomy | 4.5 | 117 Phaya Thai Rd, Ratchathewi |
|
213 |
|
214 |
#### 2. Numerical Data
|
215 |
+
- **Number of Competitors**: 10 notable restaurants within 1 km.
|
216 |
+
- **Commonly Sold Products**: Varied cuisines including Indian, Italian, and local Thai dishes.
|
217 |
+
- **Price Range**: Average meal prices in the area range from 200 to 1,500 THB depending on the restaurant type and cuisine.
|
218 |
+
- **Competitor Ratings**: Range from 4.1 to 4.9.
|
219 |
+
- **Community Type**: Urban metropolitan area with a mix of residential, commercial, and tourist attractions.
|
220 |
+
- **Population Data**: Approximately 10.5 million in Bangkok.
|
221 |
+
- **Household Expenditures**: Average monthly household expenditure is around 28,000 THB.
|
|
|
222 |
|
223 |
#### 3. Descriptive Analytical Summary
|
224 |
+
- **Target Customers**: The target market includes both tourists and locals, particularly those seeking high-quality dining experiences. The presence of luxury hotels and shopping centers nearby suggests a clientele willing to spend on dining.
|
225 |
+
- **Potential Sales**: Given the high foot traffic and the variety of existing dining options, a restaurant that offers unique or specialized cuisine could attract a significant number of customers.
|
226 |
+
- **Pricing Strategy**: A competitive pricing strategy should be adopted, with menu items priced between 300 to 800 THB to appeal to both budget-conscious diners and those looking for a premium experience.
|
227 |
+
- **Optimal Price Range**: Based on competitor analysis and household expenditure data, an optimal price range for menu items would be between 300 to 600 THB, allowing for a balance between affordability and quality.
|
|
|
228 |
|
229 |
+
This report provides a comprehensive overview of the competitive landscape and market potential for opening a restaurant near Siam Paragon. Further market research and a detailed business plan would be beneficial for a successful launch.
|
|
|
|
|
230 |
|
231 |
|
232 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
233 |
quesion:
|
234 |
+
Search for grocery stores near Victory Monument and analyze the population
|
235 |
answer:
|
236 |
+
### Final Report
|
237 |
+
|
238 |
+
#### 1. Competitor Analysis
|
239 |
+
Here is a list of grocery stores near Victory Monument, including their ratings:
|
240 |
+
|
241 |
+
| Store Name | Address | Rating |
|
242 |
+
|-------------------------------------------------|-------------------------------------------------------|--------|
|
243 |
+
| Lotus’s go fresh | 104, 30-34 Rang Nam Alley, Thanon Phaya Thai, Ratchathewi | 4.1 |
|
244 |
+
| Myanmar food grocery store | 120 Ratchaprarop Rd, Thanon Phaya Thai, Ratchathewi | 3.5 |
|
245 |
+
| Get it Supermarket | 420/8, Ratchawithi Rd, Ratchathewi | Not rated |
|
246 |
+
| Tops daily Soi Talad Sri Wanit | 208/3, 208/4 Thanon Asok - Din Daeng, Khwaeng Din Daeng | Not rated |
|
247 |
+
| Food park | 59 Soi Phetchaburi 15, Thanon Phaya Thai, Ratchathewi | Not rated |
|
248 |
+
| Lotus’ | 17/1 Soi Ratchawithi 9, Thanon Phaya Thai, Ratchathewi | 2.6 |
|
249 |
+
| CP Freshmart | 212/1 Thung Phaya Thai, Ratchathewi | 3.4 |
|
250 |
+
| YS GROCERY STORE (Indian, Pakistani, Bangladeshi Store) | 122/35 Ratchaprarop Rd, Thanon Phaya Thai, Ratchathewi | 5.0 |
|
251 |
+
| Tops Century | 15 Phaya Thai Rd, Thanon Phaya Thai, Ratchathewi | 3.7 |
|
252 |
|
253 |
#### 2. Numerical Data
|
254 |
+
- **Number of Competitors**: 9 grocery stores
|
255 |
+
- **Common Products**: General grocery items, fresh produce, ethnic foods (Indian, Pakistani, Bangladeshi)
|
256 |
+
- **Price Range**: Not specified, but typically varies based on store type and location.
|
257 |
+
- **Community Type**: Urban
|
258 |
+
- **Population**: Approximately 46,000 residents
|
259 |
+
- **Households**: About 19,000 households
|
260 |
+
- **Family Units**: Approximately 39,000 family units
|
|
|
|
|
261 |
|
262 |
#### 3. Descriptive Analytical Summary
|
263 |
+
- **Target Customers**: The area has a diverse population, including local residents and expatriates, which suggests a demand for both local and international grocery products.
|
264 |
+
- **Potential Sales**: Given the population density and the number of households, there is a significant potential for grocery sales, especially for stores that cater to specific ethnic communities.
|
265 |
+
- **Pricing Strategy**: Competitive pricing will be essential, especially against established stores like YS Grocery Store, which has a high rating. Offering promotions or loyalty programs could attract more customers.
|
266 |
+
- **Optimal Price Range**: Prices should be aligned with competitors, likely in the mid-range to accommodate the diverse customer base while ensuring profitability.
|
267 |
|
268 |
+
This report provides a comprehensive overview of the grocery market near Victory Monument, highlighting key competitors, demographic insights, and strategic recommendations for entering or expanding in this market.
|
269 |
|
270 |
|
271 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
272 |
quesion:
|
273 |
+
วิเคราะห์ธุรกิจโรงแรมแถวซอยมิตรภาพ 8
|
274 |
answer:
|
275 |
+
### Final Report on Hotel Business Analysis near Soi Mittraphap 8
|
276 |
+
|
277 |
+
#### 1. Competitor Overview
|
278 |
+
Here is a list of competitors in the hotel business near Soi Mittraphap 8, including their ratings:
|
279 |
+
|
280 |
+
| Hotel Name | Address | Rating |
|
281 |
+
|--------------------------------|------------------------------------------------------|--------|
|
282 |
+
| Hotel CHADA VERANDA | 88 Sri Chant Rd, Tambon Nai Mueang, Mueang Khon Kaen District | 4.0 |
|
283 |
+
| V Wish Hotel | 56 Glang Muang Rd, Tambon Nai Mueang, Mueang Khon Kaen District | 4.1 |
|
284 |
+
| Khon Kaen Orchid Hotel | 149 96 Thanon Mittraphap, Tambon Nai Mueang, Mueang Khon Kaen District | 4.2 |
|
285 |
+
| Glacier Hotel | 141 Pracha Samran Rd, Nai Mueang, Mueang Khon Kaen District | 3.8 |
|
286 |
+
| Ad Lib Khon Kaen | Khon Kaen Innovation Centre 999 Srichan Road Nai Muang Muang | 4.6 |
|
287 |
+
| Charoen Thani Hotel, Khon Kaen | 260 Sri Chant Rd, Nai Mueang, Mueang Khon Kaen District | 4.1 |
|
288 |
+
| OMG HOTEL | 53/1 Phimphasut Rd, Tambon Nai Mueang, Mueang Khon Kaen District | 4.2 |
|
289 |
+
| Goodday Hotel | 164/24 Mueang Khon Kaen District | 4.0 |
|
290 |
+
| LE CASSIA HOTEL | 68 Phimphasut Rd, Tambon Nai Mueang, Mueang Khon Kaen District | 4.2 |
|
291 |
|
292 |
#### 2. Numerical Data
|
293 |
+
- **Number of Competitors**: 9 hotels listed above.
|
294 |
+
- **Commonly Sold Products**: Hotel rooms, food and beverage services, event spaces.
|
295 |
+
- **Price Range**: Average daily rates range from approximately 1,000 to 2,500 THB depending on the hotel and room type.
|
296 |
+
- **Competitor Ratings**: Range from 3.8 to 4.6.
|
297 |
+
- **Community Type**: Urban area with a mix of residential and commercial establishments.
|
298 |
+
- **Household Expenditures**: Average household expenditure in the area is around 30,000 THB per month.
|
299 |
+
- **Population Data**: The population in the vicinity is approximately 150,000 residents.
|
|
|
|
|
|
|
300 |
|
301 |
#### 3. Descriptive Analytical Summary
|
302 |
+
- **Target Customers**: The target customers for hotels in this area include business travelers, tourists, and local residents seeking short-term accommodations. The high ratings of the hotels suggest a focus on quality service and customer satisfaction.
|
303 |
+
- **Potential Sales**: Given the occupancy rates and average daily rates, potential sales can be estimated based on the number of rooms and average occupancy. For example, a hotel with 100 rooms at an average occupancy of 70% and an ADR of 1,500 THB could generate approximately 31,500 THB per day.
|
304 |
+
- **Pricing Strategy**: The pricing strategy should consider competitor rates, customer demographics, and seasonal demand. A competitive pricing strategy that offers value-added services (e.g., breakfast, free Wi-Fi) could attract more customers.
|
305 |
+
- **Optimal Price Range**: Based on competitor analysis, an optimal price range for new hotel offerings could be set between 1,200 to 2,000 THB per night, depending on the amenities provided.
|
|
|
306 |
|
307 |
+
This report provides a comprehensive overview of the hotel business landscape around Soi Mittraphap 8, highlighting key competitors, market dynamics, and strategic recommendations for potential hotel ventures in the area.
|
|
|
|
|
|
|
308 |
|
309 |
|
310 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
311 |
quesion:
|
312 |
+
Analyze the feasibility of opening a restaurant near Siam Paragon
|
313 |
answer:
|
314 |
+
### Final Report on the Feasibility of Opening a Restaurant Near Siam Paragon
|
315 |
+
|
316 |
+
#### 1. Competitor Overview
|
317 |
+
- **Total Competitors**: 21 restaurants identified within a 1 km radius of Siam Paragon.
|
318 |
+
- **Notable Competitors**:
|
319 |
+
- **Shree Bhavan Pure South Indian Vegetarian Restaurant**: Rating 4.9
|
320 |
+
- **Indiagate Restaurant**: Rating 4.6
|
321 |
+
- **NILA Coastal Indian Cuisine**: Rating 5.0
|
322 |
+
- **The SQUARE Restaurant**: Rating 4.4
|
323 |
+
- **Angkor Restaurant**: Rating 4.7
|
324 |
+
- **Price Range**:
|
325 |
+
- Street food prices to upscale dining (up to HK$195 or approximately $25).
|
326 |
|
327 |
#### 2. Numerical Data
|
328 |
+
- **Common Products**: Thai cuisine, Indian cuisine, vegetarian options, street food.
|
329 |
+
- **Competitor Ratings**: Range from 3.3 to 5.0.
|
330 |
+
- **Community Type**: Urban locality with high foot traffic due to shopping and tourism.
|
331 |
+
- **Household Expenditures**: Significant spending on dining out, especially in mid-range and high-end restaurants.
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
|
333 |
#### 3. Descriptive Analytical Summary
|
334 |
+
- **Target Customers**: The area attracts both locals and tourists, with a diverse demographic looking for various dining experiences.
|
335 |
+
- **Potential Sales**: Given the high foot traffic and the presence of hotels and shopping centers, there is a strong potential for sales, especially if the restaurant offers unique or high-demand cuisine.
|
336 |
+
- **Pricing Strategy**: A competitive pricing strategy that offers value while maintaining quality will be essential. Consideration should be given to the pricing of nearby competitors, with options for both affordable and premium dining experiences.
|
337 |
+
- **Optimal Price Range**: Aiming for a price range that aligns with mid-range to high-end dining (approximately $10 to $25 per meal) could attract a broad customer base while ensuring profitability.
|
|
|
338 |
|
339 |
+
In conclusion, opening a restaurant near Siam Paragon is feasible, provided that the business differentiates itself in terms of cuisine, ambiance, and customer service to stand out in a competitive market.
|
340 |
|
341 |
|
342 |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
343 |
+
average execution time: 22.575254702568053sec.
|
tools.ipynb
CHANGED
@@ -91,6 +91,8 @@
|
|
91 |
"from langchain_core.tools import tool\n",
|
92 |
"from langchain_core.tools import Tool\n",
|
93 |
"from langchain_google_community import GoogleSearchAPIWrapper\n",
|
|
|
|
|
94 |
"import utils\n",
|
95 |
"\n",
|
96 |
"utils.load_env()\n",
|
@@ -104,6 +106,11 @@
|
|
104 |
" description=\"Search Google for recent results.\",\n",
|
105 |
" func=search.run,\n",
|
106 |
")\n",
|
|
|
|
|
|
|
|
|
|
|
107 |
"\n",
|
108 |
"tools = [find_place_from_text, nearby_search]\n",
|
109 |
"\n",
|
|
|
91 |
"from langchain_core.tools import tool\n",
|
92 |
"from langchain_core.tools import Tool\n",
|
93 |
"from langchain_google_community import GoogleSearchAPIWrapper\n",
|
94 |
+
"from langchain_community.document_loaders import WebBaseLoader\n",
|
95 |
+
"\n",
|
96 |
"import utils\n",
|
97 |
"\n",
|
98 |
"utils.load_env()\n",
|
|
|
106 |
" description=\"Search Google for recent results.\",\n",
|
107 |
" func=search.run,\n",
|
108 |
")\n",
|
109 |
+
"web_loader = Tool(\n",
|
110 |
+
" name=\"google_search\",\n",
|
111 |
+
" description=\"Search Google for recent results.\",\n",
|
112 |
+
" func=WebBaseLoader,\n",
|
113 |
+
")\n",
|
114 |
"\n",
|
115 |
"tools = [find_place_from_text, nearby_search]\n",
|
116 |
"\n",
|
tools.py
CHANGED
@@ -2,6 +2,12 @@ import gplace
|
|
2 |
from typing import TypedDict, Optional
|
3 |
from langchain_google_community import GoogleSearchAPIWrapper
|
4 |
import utils
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
6 |
utils.load_env()
|
7 |
|
@@ -132,11 +138,48 @@ def google_search(input_dict: GoogleSearchInput):
|
|
132 |
return search.run(input_dict['keyword'])
|
133 |
|
134 |
|
135 |
-
|
136 |
-
|
137 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
from langchain_core.tools import tool
|
139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
google_search = tool(google_search)
|
141 |
find_place_from_text = tool(find_place_from_text)
|
142 |
nearby_search = tool(nearby_search)
|
|
|
2 |
from typing import TypedDict, Optional
|
3 |
from langchain_google_community import GoogleSearchAPIWrapper
|
4 |
import utils
|
5 |
+
## Document vector store for context
|
6 |
+
from langchain_chroma import Chroma
|
7 |
+
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
8 |
+
from langchain_community.document_loaders import CSVLoader
|
9 |
+
from langchain_openai import OpenAIEmbeddings
|
10 |
+
import glob
|
11 |
|
12 |
utils.load_env()
|
13 |
|
|
|
138 |
return search.run(input_dict['keyword'])
|
139 |
|
140 |
|
141 |
+
## Document csv
|
142 |
+
def get_documents(file_pattern="document/*.csv"):
|
143 |
+
file_paths = tuple(glob.glob(file_pattern))
|
144 |
+
|
145 |
+
all_docs = []
|
146 |
+
|
147 |
+
for file_path in file_paths:
|
148 |
+
loader = CSVLoader(file_path=file_path)
|
149 |
+
docs = loader.load()
|
150 |
+
all_docs.extend(docs) # Add the documents to the list
|
151 |
+
|
152 |
+
return all_docs
|
153 |
+
|
154 |
+
|
155 |
+
def get_retriver_from_docs(docs):
|
156 |
+
# Split text into chunks separated.
|
157 |
+
text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=100)
|
158 |
+
splits = text_splitter.split_documents(docs)
|
159 |
+
|
160 |
+
# Text Vectorization.
|
161 |
+
vectorstore = Chroma.from_documents(documents=splits, embedding=OpenAIEmbeddings())
|
162 |
+
|
163 |
+
# Retrieve and generate using the relevant snippets of the blog.
|
164 |
+
retriever = vectorstore.as_retriever()
|
165 |
+
|
166 |
+
return retriever
|
167 |
+
|
168 |
+
|
169 |
+
|
170 |
+
|
171 |
+
from langchain.tools.retriever import create_retriever_tool
|
172 |
from langchain_core.tools import tool
|
173 |
|
174 |
+
|
175 |
+
docs = get_documents()
|
176 |
+
retriever = get_retriver_from_docs(docs)
|
177 |
+
|
178 |
+
population_doc_retriever = create_retriever_tool(
|
179 |
+
retriever,
|
180 |
+
"search_population_community_household_expenditures_data",
|
181 |
+
"Use this tool to retrieve information about population, community and household expenditures. by searching distinct or province"
|
182 |
+
)
|
183 |
google_search = tool(google_search)
|
184 |
find_place_from_text = tool(find_place_from_text)
|
185 |
nearby_search = tool(nearby_search)
|