|
@@ -51,8 +51,9 @@ def inputMsg():
|
|
|
# 定义输入信息变量
|
|
|
# 生成提示信息
|
|
|
|
|
|
+ # 生成提示信息
|
|
|
prompt = f"""请扮演文本提取工具,把这句话:"{msg}",基于以下因子选择、选址范围和用地类型提取其对应的相关数据,提取结果请严格将json格式字符串输出并保障寄送格式正确无误,
|
|
|
- 选址范围 = ['天涯区','崖州区','海棠区','吉阳区' ],
|
|
|
+ 选址范围 = ['抱坡区','天涯区','崖州区','海棠区','吉阳区' ],
|
|
|
因子选择 = [
|
|
|
"高程",
|
|
|
"坡度",
|
|
@@ -93,14 +94,15 @@ def inputMsg():
|
|
|
landType是用地类型
|
|
|
districtName是选址范围
|
|
|
area是用地大小,单位统一转换为亩
|
|
|
+ factors.type是因子选择
|
|
|
其他公里、千米的单位转换为米
|
|
|
输出的json格式数据如下:
|
|
|
{{
|
|
|
"districtName": "抱坡区",
|
|
|
"landType": "耕地",
|
|
|
"area": {{
|
|
|
- "min": 50,
|
|
|
- "max": 80
|
|
|
+ "min": 30,
|
|
|
+ "max": 50
|
|
|
}},
|
|
|
"factors": [
|
|
|
{{
|
|
@@ -123,12 +125,12 @@ def inputMsg():
|
|
|
}}
|
|
|
]
|
|
|
}}
|
|
|
- 并把json中"condition"的值"大于"、 "小于"、"大于等于"、"小于等于"、"介于"分别替换为"gt"、"lt"、"get"、"let"、"between"
|
|
|
- 并把json中"condition"的值"不相交"、 "相交"、"不包含"、"包含"、"介于"分别替换为"not_intersect"、"intersect"、"not_contain"、"contain"、"between"
|
|
|
- 并把json中"type"的值与因子选择中的因子语义相近,有重复字段的保持与因子选择中的名称一致,如医院转换为医疗卫生设施
|
|
|
+ factors.type是因子名称,需与因子选择中的信息保持一致
|
|
|
+ json中"condition"的值为"gt"、"lt"、"get"、"let"、"between","not_intersect"、"intersect"、"not_contain"、"contain"、"between"
|
|
|
+ json中"type"的值如果为"医院"则需改为"医疗卫生设施"
|
|
|
"""
|
|
|
|
|
|
- try:
|
|
|
+ try:
|
|
|
res = ollama.generate(
|
|
|
model="qwen2:7b",
|
|
|
stream=False,
|