NEW: 推送评测GLM直接生成行为树、直接生成目标状态的代码

This commit is contained in:
wuziji 2023-11-28 09:25:10 +08:00
parent 6efdb2016f
commit 8bb061e7ee
3 changed files with 111 additions and 31 deletions

View File

@ -0,0 +1,57 @@
At(Robot,Bar) 请问您需要什么帮助吗?我就在吧台附近,能否请您自己过来呢?
At(Robot,Bar) 请问你能去一下吧台吗?
At(Robot,Bar) 请问你能帮我到吧台那个位置吗?
At(Robot,WaterTable) 请问你能过来一下吗?我正在茶水桌旁。
At(Robot,WaterTable) 请问你可以去茶水桌一下吗?
At(Robot,WaterTable) 你能带路去茶水桌吗?
At(Robot,CoffeeTable) 请问你可以过来一下吗?我在这张咖啡桌旁边。
At(Robot,CoffeeTable) 请问你可以帮我一下,去一下咖啡桌吗?
At(Robot,CoffeeTable) 请问你能帮我前往咖啡桌那个位置吗?
At(Robot,Bar2) 您好,请问您需要什么帮助吗?我正在另一个吧台处理一些事情。
At(Robot,Bar2) 请问你可以去一下另一个吧台吗?
At(Robot,Bar2) 你能去另一个吧台的位置吗?
At(Robot,Table1) 请问你能过来一下吗?我目前在第一桌,需要你的帮助。
At(Robot,Table1) 请问你能去一下第一桌吗?
At(Robot,Table1) 请问你能帮我到第一张桌子那个位置吗?
At(Robot,Table2) 请问您能过来一下吗?我正在第二张桌子这里。
At(Robot,Table2) 请问你可以去第二张桌子一下吗?
At(Robot,Table2) 请问你能帮我前往第二桌吗?
At(Robot,Table3) 请问你能过来一下吗?我正在第三张桌子旁。
At(Robot,Table3) 请问你能去第三张桌子一下吗?
At(Robot,Table3) 你能告诉我第三张桌子的位置在哪里吗?
On(Softdrink,Bar) 您好,请问您需要我帮您把盒装冰红茶放到哪个位置呢?
On(Softdrink,Bar) 服务员,能否帮我拿来一盒冰红茶放到吧台呢?
On(Softdrink,WaterTable) 您好,请问您需要我帮忙将盒装冰红茶放到哪个位置吗?
On(Softdrink,WaterTable) 服务员,能否帮我把盒装冰红茶拿到茶水桌呢?
On(Softdrink,CoffeeTable) 请问你能把盒装冰红茶放到咖啡桌那个位置吗?
On(Softdrink,CoffeeTable) 服务员,把盒装冰红茶拿到咖啡桌 position 好吗?
On(Softdrink,Bar2) 请问你能把盒装冰红茶放到另一个吧台的位置吗?
On(Softdrink,Bar2) 请问你能把盒装冰红茶拿到另一个吧台位置吗?
On(Softdrink,Table1) 请问您能否把盒装冰红茶放在第一桌的指定位置呢?
On(Softdrink,Table1) 请您把盒装冰红茶拿到第一桌的位置。
On(Softdrink,Table2) 服务员,您好,请问能否帮我將這盒裝冰红茶放 到第二張桌子那個位置呢?
On(Softdrink,Table2) 服务员,请把盒装冰红茶拿到第二张桌子的位置。
On(Softdrink,Table3) 请问你可以把盒装冰红茶放到第三张桌子的那个位置吗?
On(Softdrink,Table3) 请问你能把盒装冰红茶拿到第三张桌子的位置吗?
On(BottledDrink,Bar) 您好,请问您需要我将瓶装饮料放到哪个位置呢?
On(BottledDrink,Bar) 请把瓶装饮料拿到吧台的位置。
On(BottledDrink,WaterTable) 请问你可以把瓶装饮料放到茶水桌那个位置吗?
On(BottledDrink,WaterTable) 请问你能把瓶装饮料拿到茶水桌位置吗?
On(BottledDrink,CoffeeTable) 服务员,能否把瓶装饮料放在咖啡桌那个位置呢?
On(BottledDrink,CoffeeTable) 服务员,能否把瓶装饮料拿到咖啡桌附近呢?
On(BottledDrink,Bar2) 请问你能把瓶装饮料放到另一个吧台的那个位置吗?
On(BottledDrink,Bar2) 请把瓶装饮料拿到另一个吧台位置。
On(BottledDrink,Table1) 请问您能否帮我將瓶裝飲料放至第一張桌子的那個位置呢?
On(BottledDrink,Table1) 请问你能把瓶装饮料拿到第一桌的位置吗?
On(BottledDrink,Table2) 请问,你可以把瓶装饮料放到第二张桌子的那个位置吗?
On(BottledDrink,Table2) 请问你能把瓶装饮料拿到第二张桌子的位置吗?
On(BottledDrink,Table3) 请问,你能把瓶装饮料放到第三桌的哪个位置吗?
On(BottledDrink,Table3) 请问你能把瓶装饮料拿到第三张桌子的位置吗?
On(Yogurt,Bar) 请问你能把酸奶放到吧台那个位置吗?
On(Yogurt,Bar) 请问你能把酸奶拿到吧台位置吗?
On(Yogurt,WaterTable) 请问你能把酸奶放到茶水桌那个位置吗?
On(Yogurt,WaterTable) 服务员,请把酸奶拿到茶水桌的位置。
On(Yogurt,CoffeeTable) 请问,你能把酸奶放在咖啡桌那个位置吗?
On(Yogurt,CoffeeTable) 服务员,能否把酸奶拿到咖啡桌的位置呢?
On(Yogurt,Bar2) 请问你能把酸奶放到另一个吧台的那个位置吗?
On(Yogurt,Bar2) 请问你能把酸奶拿到另一个吧台位置吗?

View File

@ -1,6 +1,8 @@
import os
import requests
import urllib3
from tqdm import tqdm
########################################
# 该文件实现了与大模型的简单通信
########################################
@ -9,23 +11,28 @@ import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
def single_round(question,prefix=""):
def single_round(question, prefix=""):
url = "https://45.125.46.134:25344/v1/chat/completions"
headers = {"Content-Type": "application/json"}
data = {
"model": "RoboWaiter",
"messages": [
{
"role": "system",
# "content": "你是一个机器人服务员RoboWaiter. 你的职责是为顾客提供对话及具身服务。"
"content": "请将以下你对咖啡厅服务员说的话改写成更清晰更合理的顾客表述。"
},
{
"role": "user",
"content": prefix + question
}
{
"role": "system",
# "content": "你是一个机器人服务员RoboWaiter. 你的职责是为顾客提供对话及具身服务。"
"content": """
假设现在你是咖啡厅的一个顾客请将以下你对咖啡厅服务员说的话改写成更清晰更合理的顾客表述注意句中的你指的是咖啡厅服务员也不要说能帮我
例如麻烦你去一下吧台可以转述成服务员你能去下吧台吗
另一个例子请你拿一下酸奶到吧台位置可以转述成服务员拿一杯酸奶来吧台
"""
},
{
"role": "user",
"content": prefix + question
}
]
}
}
response = requests.post(url, headers=headers, json=data, verify=False)
@ -37,14 +44,18 @@ def single_round(question,prefix=""):
if __name__ == '__main__':
with open('goal_states_with_description.txt', 'r', encoding='utf-8') as file:
with open('./goal_states_with_description.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
for line in lines:
output_file = './expansion_out/output2.txt'
with open(output_file, 'a', encoding='utf-8') as file:
file.truncate(0)
for line in tqdm(lines):
tmp = line[:-1].split('\t')
#file.write("""{"title":"%s","text":"%s"}\n""" % (tmp[1], tmp[0]))
# file.write("""{"title":"%s","text":"%s"}\n""" % (tmp[1], tmp[0]))
question = tmp[1]
#print(single_round(question))
#print(tmp[1])
with open('output1.txt', 'a',encoding='utf-8') as file:
file.write(tmp[0]+"\t"+single_round(question)+'\n')
print("输出完成")
# print(single_round(question))
# print(tmp[1])
with open(output_file, 'a', encoding='utf-8') as file:
file.write(tmp[0] + "\t" + single_round(question, prefix="现在改写一下句子:") + '\n')
print("输出完成")

View File

@ -1,6 +1,8 @@
import time
import requests
import urllib3
########################################
# 该文件实现了与大模型的简单通信
########################################
@ -9,22 +11,29 @@ import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
def single_round(question,prefix=""):
def single_round(question, prefix=""):
url = "https://45.125.46.134:25344/v1/chat/completions"
headers = {"Content-Type": "application/json"}
data = {
"model": "RoboWaiter",
"messages": [
{
"role": "system",
"content": "你是一个机器人服务员RoboWaiter. 你的职责是为顾客提供对话及具身服务。"
},
{
"role": "user",
"content": prefix + question
}
{
"role": "system",
"content": "你是一个机器人服务员RoboWaiter. 你的职责是为顾客提供对话及具身服务。"
# "content":
# """
# 你是一个熟悉行为树的工程师,你的职责是根据用户需求,为一个人型的机器人设计完成用户需求的行为树序列。
# 行为树是一种有向根树,他的内部节点称为控制节点,控制节点包括选择、顺序,顺序节点只有所有子节点返回成功之后他才成功。
# 选择节点只要有一个子节点返回成功最后就成功。叶节点称为执行节点,执行节点包括动作节点和条件节点。动作节点执行具体的动作,条件节点检查环境中的条件是否满足。
# """
# "content": "你是一个优秀的目标状态规划师能够根据用户输入规划出所需要的目标状态。例如打开窗帘的目标状态可以是Is(Curtain, On)"
},
{
"role": "user",
"content": prefix + question
}
]
}
}
response = requests.post(url, headers=headers, json=data, verify=False)
@ -37,7 +46,10 @@ def single_round(question,prefix=""):
if __name__ == '__main__':
question = '''
给我一杯拿铁
能做一杯咖啡吗咖啡就行
'''
import timeit
print(single_round(question))
cur_time = time.time()
print(single_round(question, prefix='现在给出符合这句话要求的目标状态: '))
print(f"单次生成耗时:{time.time() - cur_time} s \n")