Compare commits

..

2 Commits
v1.0.0 ... v1

Author SHA1 Message Date
renzhiyuan 03ba799e53 first commit 2025-03-06 10:23:09 +08:00
renzhiyuan ade79c101e first commit 2025-03-05 16:09:49 +08:00
2 changed files with 22 additions and 2 deletions

22
ai.go
View File

@ -2,6 +2,7 @@ package l_ai_address
import (
"context"
"fmt"
"gitea.cdlsxd.cn/self-tools/l_ai_address/ai/doubao"
"strings"
)
@ -20,9 +21,28 @@ func GetAddress(ctx context.Context, address, key, model string) (Address, error
"-根据国家统计局的地址信息 帮我匹配出对应的省市区信息,如果是直辖县级行政区,直接按照区来处理,然后市一级显示上级代管市",
"-只需要给出省市区具体名称,不需要解释",
"-省市区之间用\",\"隔开",
"-区给具体的名称,不要返回市辖区",
}
res, err := modelObj.GetData(ctx, doubao.Text, func(input string) (string, error) {
return input, nil
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
}, text...)
if err != nil {
return Address{}, err

View File

@ -6,6 +6,6 @@ import (
)
func TestAddress(t *testing.T) {
res, err := GetAddress(context.Background(), "江苏省南通市海门市万科翡翠甲第15幢1101室", "236ba4b6-9daa-4755-b22f-2fd274cd223a", "doubao-1-5-lite-32k-250115")
res, err := GetAddress(context.Background(), "上海市市辖县崇明县三星镇社区卫生服务中心", "236ba4b6-9daa-4755-b22f-2fd274cd223a", "doubao-1-5-lite-32k-250115")
t.Log(res, err)
}