Add IP Address query

This commit is contained in:
2024-12-22 03:59:09 +08:00
parent 12df62d7fe
commit ef25b06aab
2 changed files with 35 additions and 1 deletions

View File

@ -279,7 +279,8 @@ object JChatGPT : KotlinPlugin(
private val myTools = listOf( private val myTools = listOf(
WebSearch(), WebSearch(),
WeatherService(), WeatherService(),
CrazyKfc() CrazyKfc(),
IpAddressQuery(),
) )

View File

@ -0,0 +1,33 @@
package top.jie65535.mirai.tools
import com.aallam.openai.api.chat.Tool
import com.aallam.openai.api.core.Parameters
import io.ktor.client.request.*
import io.ktor.client.statement.*
import kotlinx.serialization.json.*
class IpAddressQuery : BaseAgent(
tool = Tool.function(
name = "ipAddressQuery",
description = "可查询IP地址归属地",
parameters = Parameters.buildJsonObject {
put("type", "object")
putJsonObject("properties") {
putJsonObject("ip") {
put("type", "string")
put("description", "IPv4地址")
}
}
putJsonArray("required") {
add("ip")
}
}
)
) {
override suspend fun execute(args: JsonObject?): String {
requireNotNull(args)
val ip = args.getValue("ip").jsonPrimitive.content
val response = httpClient.get("https://api.52vmy.cn/api/query/itad?ip=$ip")
return response.bodyAsText()
}
}