{ "cells": [ { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "import requests\n", "import json\n", "import os\n", "\n", "def callAPI(input_data,audio_file=None,API_URL = \"http://0.0.0.0:8087/audio_llm/\"):\n", " json_data_string = json.dumps(input_data)\n", "\n", " files=None\n", " if audio_file:\n", " files = {\n", " 'audio_file': (os.path.basename(audio_file), open(audio_file, 'rb'), 'audio/wav')\n", " }\n", " data = {\n", " 'data': json_data_string\n", " }\n", " try:\n", " response = requests.post(API_URL, files=files, data=data)\n", " if response.status_code == 200:\n", " processed_data = response.json()\n", " else:\n", " print(f\"請求失敗,狀態碼:{response.status_code}\")\n", " print(f\"錯誤訊息:{response.text}\")\n", "\n", " except requests.exceptions.ConnectionError as e:\n", " print(f\"無法連線到伺服器。請確認 FastAPI 應用程式正在執行。錯誤:{e}\")\n", " return response.json()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "import json\n", "data = json.load(open('/home/jeff/jeff/codes/llm/InCar/data/test_data/nav_0730_noisy.json'))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'from': 'human', 'value': '我在找台東太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台東太平逸境'}\"}}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}, {'from': 'human', 'value': '請帶我去澳洲大堡道acher韓的區'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區'}\"}}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}, {'from': 'human', 'value': '請帶我去澳洲大堡道acher韓的區'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"咔啦咔啦雞\", \"address\": \"南投市中山路120號\", \"latitude\": 23.9133, \"longitude\": 120.685, \"fromMemory\": true}, {\"name\": \"炸物車站\", \"address\": \"新竹市香山區中華路六段88號\", \"latitude\": 24.776, \"longitude\": 120.9331, \"fromMemory\": true}]}'}, {'from': 'gpt', 'value': '上次您是去「咔啦咔啦雞」,這次還要去這裡嗎?'}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}, {'from': 'human', 'value': '請帶我去澳洲大堡道acher韓的區'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"咔啦咔啦雞\", \"address\": \"南投市中山路120號\", \"latitude\": 23.9133, \"longitude\": 120.685, \"fromMemory\": true}, {\"name\": \"炸物車站\", \"address\": \"新竹市香山區中華路六段88號\", \"latitude\": 24.776, \"longitude\": 120.9331, \"fromMemory\": true}]}'}, {'from': 'gpt', 'value': '上次您是去「咔啦咔啦雞」,這次還要去這裡嗎?'}, {'from': 'human', 'value': '這好像不像吧'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}, {'from': 'human', 'value': '請帶我去澳洲大堡道acher韓的區'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"咔啦咔啦雞\", \"address\": \"南投市中山路120號\", \"latitude\": 23.9133, \"longitude\": 120.685, \"fromMemory\": true}, {\"name\": \"炸物車站\", \"address\": \"新竹市香山區中華路六段88號\", \"latitude\": 24.776, \"longitude\": 120.9331, \"fromMemory\": true}]}'}, {'from': 'gpt', 'value': '上次您是去「咔啦咔啦雞」,這次還要去這裡嗎?'}, {'from': 'human', 'value': '這好像不像吧'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '這裡好像不對'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}, {'from': 'human', 'value': '請帶我去澳洲大堡道acher韓的區'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"咔啦咔啦雞\", \"address\": \"南投市中山路120號\", \"latitude\": 23.9133, \"longitude\": 120.685, \"fromMemory\": true}, {\"name\": \"炸物車站\", \"address\": \"新竹市香山區中華路六段88號\", \"latitude\": 24.776, \"longitude\": 120.9331, \"fromMemory\": true}]}'}, {'from': 'gpt', 'value': '上次您是去「咔啦咔啦雞」,這次還要去這裡嗎?'}, {'from': 'human', 'value': '這好像不像吧'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '這裡好像不對'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '我有印象他們有大片玻璃門面'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區大片玻璃門面'}\"}}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}, {'from': 'human', 'value': '請帶我去澳洲大堡道acher韓的區'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"咔啦咔啦雞\", \"address\": \"南投市中山路120號\", \"latitude\": 23.9133, \"longitude\": 120.685, \"fromMemory\": true}, {\"name\": \"炸物車站\", \"address\": \"新竹市香山區中華路六段88號\", \"latitude\": 24.776, \"longitude\": 120.9331, \"fromMemory\": true}]}'}, {'from': 'gpt', 'value': '上次您是去「咔啦咔啦雞」,這次還要去這裡嗎?'}, {'from': 'human', 'value': '這好像不像吧'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '這裡好像不對'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '我有印象他們有大片玻璃門面'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區大片玻璃門面'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"雞丁炸舖\", \"address\": \"台東市中華路一段210號\", \"latitude\": 22.7575, \"longitude\": 121.1457, \"fromMemory\": false}, {\"name\": \"即刻炸\", \"address\": \"桃園市桃園區中正路400號\", \"latitude\": 24.9933, \"longitude\": 121.3121, \"fromMemory\": false}, {\"name\": \"BOOM炸雞\", \"address\": \"台南市永康區中華路88號\", \"latitude\": 23.0349, \"longitude\": 120.25, \"fromMemory\": false}, {\"name\": \"雞咔咔速食站\", \"address\": \"台中市南區建成路160號\", \"latitude\": 24.1217, \"longitude\": 120.6852, \"fromMemory\": false}, {\"name\": \"炸雞一下\", \"address\": \"彰化市民生路188號\", \"latitude\": 24.0801, \"longitude\": 120.5429, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到以下與「澳洲大堡道acher韓的區」相關的地點,請問您要導航到哪一個地點?'}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}, {'from': 'human', 'value': '請帶我去澳洲大堡道acher韓的區'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"咔啦咔啦雞\", \"address\": \"南投市中山路120號\", \"latitude\": 23.9133, \"longitude\": 120.685, \"fromMemory\": true}, {\"name\": \"炸物車站\", \"address\": \"新竹市香山區中華路六段88號\", \"latitude\": 24.776, \"longitude\": 120.9331, \"fromMemory\": true}]}'}, {'from': 'gpt', 'value': '上次您是去「咔啦咔啦雞」,這次還要去這裡嗎?'}, {'from': 'human', 'value': '這好像不像吧'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '這裡好像不對'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '我有印象他們有大片玻璃門面'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區大片玻璃門面'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"雞丁炸舖\", \"address\": \"台東市中華路一段210號\", \"latitude\": 22.7575, \"longitude\": 121.1457, \"fromMemory\": false}, {\"name\": \"即刻炸\", \"address\": \"桃園市桃園區中正路400號\", \"latitude\": 24.9933, \"longitude\": 121.3121, \"fromMemory\": false}, {\"name\": \"BOOM炸雞\", \"address\": \"台南市永康區中華路88號\", \"latitude\": 23.0349, \"longitude\": 120.25, \"fromMemory\": false}, {\"name\": \"雞咔咔速食站\", \"address\": \"台中市南區建成路160號\", \"latitude\": 24.1217, \"longitude\": 120.6852, \"fromMemory\": false}, {\"name\": \"炸雞一下\", \"address\": \"彰化市民生路188號\", \"latitude\": 24.0801, \"longitude\": 120.5429, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到以下與「澳洲大堡道acher韓的區」相關的地點,請問您要導航到哪一個地點?'}, {'from': 'human', 'value': '還是算了,去比較好'}, {'from': 'gpt', 'value': '已為您取消導航清單'}]\n", "[{'from': 'human', 'value': '我在找台中太平逸境'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '台中太平逸境'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'}, {'from': 'human', 'value': '去第一個'}, {'from': 'function_call', 'value': {'name': 'nav_start', 'arguments': \"{'keyword': '台中太平逸境', 'name': '台中太平逸境', 'address': '台中市太平區新仁路一段88號', 'latitude': 24.109912, 'longitude': 120.737201, 'fromMemory': False}\"}}, {'from': 'observation', 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'}, {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'}, {'from': 'human', 'value': '請帶我去澳洲大堡道acher韓的區'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"咔啦咔啦雞\", \"address\": \"南投市中山路120號\", \"latitude\": 23.9133, \"longitude\": 120.685, \"fromMemory\": true}, {\"name\": \"炸物車站\", \"address\": \"新竹市香山區中華路六段88號\", \"latitude\": 24.776, \"longitude\": 120.9331, \"fromMemory\": true}]}'}, {'from': 'gpt', 'value': '上次您是去「咔啦咔啦雞」,這次還要去這裡嗎?'}, {'from': 'human', 'value': '這好像不像吧'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '這裡好像不對'}, {'from': 'gpt', 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道acher韓的區」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'}, {'from': 'human', 'value': '我有印象他們有大片玻璃門面'}, {'from': 'function_call', 'value': {'name': 'search_and_show_place', 'arguments': \"{'keyword': '澳洲大堡道acher韓的區大片玻璃門面'}\"}}, {'from': 'observation', 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"雞丁炸舖\", \"address\": \"台東市中華路一段210號\", \"latitude\": 22.7575, \"longitude\": 121.1457, \"fromMemory\": false}, {\"name\": \"即刻炸\", \"address\": \"桃園市桃園區中正路400號\", \"latitude\": 24.9933, \"longitude\": 121.3121, \"fromMemory\": false}, {\"name\": \"BOOM炸雞\", \"address\": \"台南市永康區中華路88號\", \"latitude\": 23.0349, \"longitude\": 120.25, \"fromMemory\": false}, {\"name\": \"雞咔咔速食站\", \"address\": \"台中市南區建成路160號\", \"latitude\": 24.1217, \"longitude\": 120.6852, \"fromMemory\": false}, {\"name\": \"炸雞一下\", \"address\": \"彰化市民生路188號\", \"latitude\": 24.0801, \"longitude\": 120.5429, \"fromMemory\": false}]}'}, {'from': 'gpt', 'value': '我找到以下與「澳洲大堡道acher韓的區」相關的地點,請問您要導航到哪一個地點?'}, {'from': 'human', 'value': '還是算了,去比較好'}, {'from': 'gpt', 'value': '已為您取消導航清單'}, {'from': 'human', 'value': '還是算了,不去比較好'}, {'from': 'gpt', 'value': '已為您取消導航清單'}]\n" ] } ], "source": [ "for all_conv in data:\n", " history = []\n", " tools = all_conv['tools']\n", " for idx,conv in enumerate(all_conv['conversations']):\n", " if conv['from']=='function_call' or conv['from']=='gpt':continue\n", " elif conv['from']=='human':\n", " history = callAPI(history,audio_file=conv['audio_path'])\n", " elif conv['from']=='observation':\n", " history.append(conv)\n", " history = callAPI(history)\n", " print(history)\n", " break" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'from': 'human', 'value': '我在找台東太平逸境'},\n", " {'from': 'function_call',\n", " 'value': {'name': 'search_and_show_place',\n", " 'arguments': '{\"keyword\":\"台東太平逸境\"}'}},\n", " {'from': 'observation',\n", " 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"台中太平逸境\", \"address\": \"台中市太平區新仁路一段88號\", \"latitude\": 24.109912, \"longitude\": 120.737201, \"fromMemory\": false}]}'},\n", " {'from': 'gpt', 'value': '我找到「台中太平逸境」,請問是要到這裡嗎?'},\n", " {'from': 'human', 'value': '去第一個'},\n", " {'from': 'function_call',\n", " 'value': {'name': 'nav_start',\n", " 'arguments': '{\"keyword\":\"台東太平逸境\",\"name\":\"台中太平逸境\",\"address\":\"台中市太平區新仁路一段88號\",\"latitude\":24.109912,\"longitude\":120.737201,\"fromMemory\":false}'}},\n", " {'from': 'observation',\n", " 'value': '{\"name\": \"nav_start\", \"status\": \"success\", \"message\": \"導航已啟動\"}'},\n", " {'from': 'gpt', 'value': '導航已設定,往「台中太平逸境」出發。'},\n", " {'from': 'human', 'value': '請帶我去澳洲大堡道科韓的區政府店'},\n", " {'from': 'function_call',\n", " 'value': {'name': 'search_and_show_place',\n", " 'arguments': '{\"keyword\":\"澳洲大堡道科韓的區政府店\"}'}},\n", " {'from': 'observation',\n", " 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"咔啦咔啦雞\", \"address\": \"南投市中山路120號\", \"latitude\": 23.9133, \"longitude\": 120.685, \"fromMemory\": true}, {\"name\": \"炸物車站\", \"address\": \"新竹市香山區中華路六段88號\", \"latitude\": 24.776, \"longitude\": 120.9331, \"fromMemory\": true}]}'},\n", " {'from': 'gpt', 'value': '上次您是去「咔啦咔啦雞」,這次還要去這裡嗎?'},\n", " {'from': 'human', 'value': '這好像不像吧'},\n", " {'from': 'gpt',\n", " 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道科韓的區政府店」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'},\n", " {'from': 'human', 'value': '這裡好像不對'},\n", " {'from': 'gpt',\n", " 'value': '請告訴我目的地附近的標誌性景點或描述「澳洲大堡道科韓的區政府店」的具體特徵,這樣我可以更精準地幫你搜尋並導航到正確的地址'},\n", " {'from': 'human', 'value': '我有印象他們有大片玻璃門面'},\n", " {'from': 'function_call',\n", " 'value': {'name': 'search_and_show_place',\n", " 'arguments': '{\"keyword\":\"澳洲大堡道科韓的區政府店大片玻璃門面\"}'}},\n", " {'from': 'observation',\n", " 'value': '{\"name\": \"search_and_show_place\", \"status\": \"success\", \"message\": \"地點查詢成功\", \"poi\": [{\"name\": \"雞丁炸舖\", \"address\": \"台東市中華路一段210號\", \"latitude\": 22.7575, \"longitude\": 121.1457, \"fromMemory\": false}, {\"name\": \"即刻炸\", \"address\": \"桃園市桃園區中正路400號\", \"latitude\": 24.9933, \"longitude\": 121.3121, \"fromMemory\": false}, {\"name\": \"BOOM炸雞\", \"address\": \"台南市永康區中華路88號\", \"latitude\": 23.0349, \"longitude\": 120.25, \"fromMemory\": false}, {\"name\": \"雞咔咔速食站\", \"address\": \"台中市南區建成路160號\", \"latitude\": 24.1217, \"longitude\": 120.6852, \"fromMemory\": false}, {\"name\": \"炸雞一下\", \"address\": \"彰化市民生路188號\", \"latitude\": 24.0801, \"longitude\": 120.5429, \"fromMemory\": false}]}'},\n", " {'from': 'gpt', 'value': '我找到以下與「澳洲大堡道科韓的區政府店」相關的地點,請問您要導航到哪一個地點?'},\n", " {'from': 'human', 'value': '還是算了,去比較好'},\n", " {'from': 'gpt', 'value': '已為您取消導航清單'},\n", " {'from': 'human', 'value': '還是算了,不去比較好'},\n", " {'from': 'gpt', 'value': '已為您取消導航清單'}]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "history" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "py10", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.18" } }, "nbformat": 4, "nbformat_minor": 2 }