Compare commits
No commits in common. "v1" and "v1.0.0" have entirely different histories.
22
ai.go
22
ai.go
|
@ -2,7 +2,6 @@ package l_ai_address
|
|||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"gitea.cdlsxd.cn/self-tools/l_ai_address/ai/doubao"
|
||||
"strings"
|
||||
)
|
||||
|
@ -21,28 +20,9 @@ func GetAddress(ctx context.Context, address, key, model string) (Address, error
|
|||
"-根据国家统计局的地址信息 帮我匹配出对应的省市区信息,如果是直辖县级行政区,直接按照区来处理,然后市一级显示上级代管市",
|
||||
"-只需要给出省市区具体名称,不需要解释",
|
||||
"-省市区之间用\",\"隔开",
|
||||
"-区给具体的名称,不要返回市辖区",
|
||||
}
|
||||
res, err := modelObj.GetData(ctx, doubao.Text, func(input string) (string, error) {
|
||||
var resStr string
|
||||
inputSlice := strings.Split(input, ",")
|
||||
|
||||
if len(inputSlice) < 3 {
|
||||
switch len(inputSlice) {
|
||||
case 2:
|
||||
if strings.HasSuffix(inputSlice[0], "市") {
|
||||
runes := []rune(inputSlice[0])
|
||||
resStr = fmt.Sprintf("%s,%s", string(runes[:len(runes)-1]), input)
|
||||
} else {
|
||||
resStr = fmt.Sprintf("%s,%s,%s", inputSlice[0], inputSlice[0]+"市", inputSlice[1])
|
||||
}
|
||||
default:
|
||||
return input, fmt.Errorf("地址解析失败:%s", input)
|
||||
}
|
||||
} else {
|
||||
resStr = input
|
||||
}
|
||||
return resStr, nil
|
||||
return input, nil
|
||||
}, text...)
|
||||
if err != nil {
|
||||
return Address{}, err
|
||||
|
|
|
@ -6,6 +6,6 @@ import (
|
|||
)
|
||||
|
||||
func TestAddress(t *testing.T) {
|
||||
res, err := GetAddress(context.Background(), "上海市市辖县崇明县三星镇社区卫生服务中心", "236ba4b6-9daa-4755-b22f-2fd274cd223a", "doubao-1-5-lite-32k-250115")
|
||||
res, err := GetAddress(context.Background(), "江苏省南通市海门市万科翡翠甲第15幢1101室", "236ba4b6-9daa-4755-b22f-2fd274cd223a", "doubao-1-5-lite-32k-250115")
|
||||
t.Log(res, err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue