feat:更新智能体架构
This commit is contained in:
67
tools/bill.py
Normal file
67
tools/bill.py
Normal file
@@ -0,0 +1,67 @@
|
||||
from langchain_core.tools import tool
|
||||
import requests
|
||||
|
||||
BASE_URL = "https://cxx0822.s.3q.hair/home-api/"
|
||||
USERNAME = "Cxx0822"
|
||||
PASSWORD = "19940822Cxx"
|
||||
|
||||
|
||||
def get_token() -> str:
|
||||
"""
|
||||
调用登录接口,返回 saToken.tokenValue
|
||||
"""
|
||||
params = {
|
||||
"name": USERNAME,
|
||||
"password": PASSWORD
|
||||
}
|
||||
|
||||
try:
|
||||
resp = requests.post(f"{BASE_URL}session", params=params, timeout=10)
|
||||
resp.raise_for_status()
|
||||
data = resp.json()
|
||||
|
||||
# 按你给的返回结构取值
|
||||
token_value = data["saToken"]["tokenValue"]
|
||||
return token_value
|
||||
|
||||
except requests.exceptions.RequestException as e:
|
||||
raise RuntimeError(f"登录失败,无法获取 token: {e}")
|
||||
except KeyError as e:
|
||||
raise RuntimeError(f"登录响应结构异常,未找到 tokenValue: {e}")
|
||||
|
||||
|
||||
@tool
|
||||
def bill_search(start_date: str, end_date: str) -> str:
|
||||
"""
|
||||
查询账单列表。
|
||||
|
||||
参数说明:
|
||||
- start_date (必填):
|
||||
- 开始日期,格式:YYYY-MM-DD
|
||||
- 示例:2026-06-01
|
||||
- end_date (必填):
|
||||
- 结束日期,格式:YYYY-MM-DD
|
||||
- 示例:2026-07-01
|
||||
"""
|
||||
|
||||
print(f"start_date: {start_date}, end_date: {end_date}")
|
||||
|
||||
params = {
|
||||
"bookName": "",
|
||||
"type": "",
|
||||
"startDate": start_date,
|
||||
"endDate": end_date
|
||||
}
|
||||
|
||||
token = get_token()
|
||||
|
||||
headers = {
|
||||
"satoken": token
|
||||
}
|
||||
|
||||
try:
|
||||
resp = requests.get(f"{BASE_URL}bill/summary", params=params, headers=headers, timeout=10)
|
||||
resp.raise_for_status()
|
||||
return resp.text
|
||||
except Exception as e:
|
||||
return f"查询账单失败: {e}"
|
||||
Reference in New Issue
Block a user