Update
This commit is contained in:
parent
cb637bf2f6
commit
bef5faa12a
|
@ -35,7 +35,7 @@ all_loc_en = ['bar', 'Table', 'sofa', 'stove', 'Gate', 'light switch', 'aircondi
|
||||||
'cake display', 'ChargingStations', 'refrigerator', 'bookshelf']
|
'cake display', 'ChargingStations', 'refrigerator', 'bookshelf']
|
||||||
|
|
||||||
loc_map_en = {'bar': {'工作台', '服务台', '收银台', '蛋糕柜'},
|
loc_map_en = {'bar': {'工作台', '服务台', '收银台', '蛋糕柜'},
|
||||||
'Table': {'沙发', '大门', '窗户', '休闲区', '墙角', '椅子', '书架'},
|
'Table': {'大门', '休闲区', '墙角'},
|
||||||
'sofa': {'餐桌', '窗户', '音响', '休闲区', '墙角', '书架'},
|
'sofa': {'餐桌', '窗户', '音响', '休闲区', '墙角', '书架'},
|
||||||
'stove': {'吧台', '橱柜', '工作台', '服务台', '收银台', '蛋糕柜', '冰箱'},
|
'stove': {'吧台', '橱柜', '工作台', '服务台', '收银台', '蛋糕柜', '冰箱'},
|
||||||
'Gate': {'吧台', '灯开关', '空调开关', '卫生间', '墙角'},
|
'Gate': {'吧台', '灯开关', '空调开关', '卫生间', '墙角'},
|
||||||
|
|
|
@ -60,7 +60,7 @@ def run_conversation(query: str, stream=False, max_retry=5):
|
||||||
"content": tool_response, # 调用函数返回结果
|
"content": tool_response, # 调用函数返回结果
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
# del params["functions"]
|
del params["functions"]
|
||||||
else:
|
else:
|
||||||
reply = response["choices"][0]["message"]["content"]
|
reply = response["choices"][0]["message"]["content"]
|
||||||
return {
|
return {
|
||||||
|
@ -116,12 +116,24 @@ if __name__ == "__main__":
|
||||||
query = "卫生间在哪里" #
|
query = "卫生间在哪里" #
|
||||||
print(run_conversation(query, stream=False))
|
print(run_conversation(query, stream=False))
|
||||||
|
|
||||||
query = "我想看看冰箱,请问哪里可以找到冰箱"
|
|
||||||
print(run_conversation(query, stream=False))
|
|
||||||
|
|
||||||
query = "我想找个充电的地方,你能告诉我在哪儿吗"
|
|
||||||
print(run_conversation(query, stream=False))
|
|
||||||
|
|
||||||
query = "我想找张桌子" #
|
query = "我想找张桌子" #
|
||||||
print(run_conversation(query, stream=False))
|
print(run_conversation(query, stream=False))
|
||||||
# for query in
|
|
||||||
|
query = "我想看看休闲区,请问哪里可以找到休闲区"
|
||||||
|
print(run_conversation(query, stream=False))
|
||||||
|
#
|
||||||
|
# query = "我想找个充电的地方,你能告诉我在哪儿吗"
|
||||||
|
# print(run_conversation(query, stream=False))
|
||||||
|
|
||||||
|
|
||||||
|
query = "我想来一个面包"
|
||||||
|
print(run_conversation(query, stream=False))
|
||||||
|
|
||||||
|
query = "哪里有卫生纸"
|
||||||
|
print(run_conversation(query, stream=False))
|
||||||
|
|
||||||
|
query = "插座在哪里你知道吗"
|
||||||
|
print(run_conversation(query, stream=False))
|
||||||
|
|
||||||
|
query = "你们的咖啡厅里有香蕉吗"
|
||||||
|
print(run_conversation(query, stream=False))
|
|
@ -11,7 +11,7 @@ import spacy
|
||||||
_TOOL_HOOKS = {}
|
_TOOL_HOOKS = {}
|
||||||
_TOOL_DESCRIPTIONS = {}
|
_TOOL_DESCRIPTIONS = {}
|
||||||
nlp = spacy.load('en_core_web_lg')
|
nlp = spacy.load('en_core_web_lg')
|
||||||
|
all_object = find_obj_utils.all_loc + find_obj_utils.all_obj
|
||||||
|
|
||||||
def register_tool(func: callable):
|
def register_tool(func: callable):
|
||||||
tool_name = func.__name__
|
tool_name = func.__name__
|
||||||
|
@ -147,37 +147,27 @@ def create_sub_task(
|
||||||
|
|
||||||
return goal
|
return goal
|
||||||
|
|
||||||
# @register_tool
|
@register_tool
|
||||||
# def get_object_info(
|
def find_object(
|
||||||
# obj: Annotated[str, '需要获取信息的物体名称', True]
|
object: Annotated[str, '客人咨询的物品', True]
|
||||||
# ) -> str:
|
) -> str:
|
||||||
# """
|
""""
|
||||||
# 获取场景中指定物体 `object` 在哪里,不涉及到具体的执行任务
|
用户想找某个物品,获取的object中文
|
||||||
# 如果`object` 是一个地点,例如洗手间,则输出大门。
|
在输出中可以找到
|
||||||
# 如果`object`是咖啡,则输出桌子,咖啡在桌子上。
|
基于生活经验从输出中选择一个可以与object相关联的来描述物品
|
||||||
# 如果`object` 是空桌子,则输出一号桌
|
"""
|
||||||
# """
|
near_object = None
|
||||||
# near_object = None
|
|
||||||
# # if obj == "Table":
|
if object in find_obj_utils.all_obj: # object是一个物品
|
||||||
# # near_object = "Bar"
|
near_object = random.choices(all_object, k=10)
|
||||||
# # if obj == "洗手间":
|
# near_object.append(object)
|
||||||
# # near_object = "大门"
|
return near_object
|
||||||
# # if obj == "空桌子":
|
|
||||||
# # near_object = "一号桌"
|
|
||||||
# if obj in find_obj_utils.all_loc: # object是一个地点
|
|
||||||
# mp = list(find_obj_utils.loc_map[obj])
|
|
||||||
# # near_object = random.choice(mp)
|
|
||||||
# near_object = mp
|
|
||||||
# if obj in find_obj_utils.all_obj: # object是一个物品
|
|
||||||
# near_ls = find_obj_utils.all_loc + find_obj_utils.all_obj
|
|
||||||
# near_object = random.choices(near_ls,k=5)
|
|
||||||
# return near_object
|
|
||||||
|
|
||||||
@register_tool
|
@register_tool
|
||||||
def find_location(
|
def find_location(
|
||||||
location: Annotated[str, '客人咨询的地点', True]
|
location: Annotated[str, '客人咨询的地点', True]
|
||||||
) -> str:
|
) -> str:
|
||||||
""""
|
"""
|
||||||
获取的location为英文
|
获取的location为英文
|
||||||
用户想找某个地点
|
用户想找某个地点
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -483,11 +483,8 @@ class Scene:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def adjust_kongtiao(self,op_type):
|
def adjust_kongtiao(self,op_type):
|
||||||
print("self.obj_loc:",self.obj_loc)
|
|
||||||
obj_loc = self.obj_loc[:]
|
obj_loc = self.obj_loc[:]
|
||||||
print("obj_loc:",obj_loc,"self.obj_loc:", self.obj_loc)
|
|
||||||
obj_loc[2] -= 5
|
obj_loc[2] -= 5
|
||||||
print("obj_loc:",obj_loc)
|
|
||||||
if op_type == 13: obj_loc[1] -= 2
|
if op_type == 13: obj_loc[1] -= 2
|
||||||
if op_type == 14: obj_loc[1] -= 0
|
if op_type == 14: obj_loc[1] -= 0
|
||||||
if op_type == 15: obj_loc[1] += 2
|
if op_type == 15: obj_loc[1] += 2
|
||||||
|
|
Loading…
Reference in New Issue