2.5 KiB
2.5 KiB
AppClient
The AppClient provides methods for application analytics and logs.
Initialization
from fastgpt_client import AppClient
client = AppClient(
api_key="fastgpt-xxxxx",
base_url="http://localhost:3000"
)
Methods
get_app_logs_chart
Get application analytics chart data.
client.get_app_logs_chart(
appId: str,
dateStart: str,
dateEnd: str,
offset: int = 1,
source: list[str] | None = None,
userTimespan: str = "day",
chatTimespan: str = "day",
appTimespan: str = "day"
) -> httpx.Response
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
appId |
str |
Yes | Application ID |
dateStart |
str |
Yes | Start date (ISO 8601 format: YYYY-MM-DD) |
dateEnd |
str |
Yes | End date (ISO 8601 format: YYYY-MM-DD) |
offset |
int |
No | Offset value (default: 1) |
source |
list[str] |
No | List of sources (default: ["api"]) |
userTimespan |
str |
No | User data timespan: day, week, or month (default: "day") |
chatTimespan |
str |
No | Chat data timespan: day, week, or month (default: "day") |
appTimespan |
str |
No | App data timespan: day, week, or month (default: "day") |
Source Options:
"api"- API interactions"online"- Online usage"share"- Shared links"test"- Test interactions
Example:
from datetime import datetime, timedelta
with AppClient(api_key="fastgpt-xxxxx") as client:
# Get analytics for the last 7 days
end_date = datetime.now()
start_date = end_date - timedelta(days=7)
response = client.get_app_logs_chart(
appId="your-app-id",
dateStart=start_date.strftime("%Y-%m-%d"),
dateEnd=end_date.strftime("%Y-%m-%d"),
source=["api", "online"],
userTimespan="day",
chatTimespan="day",
appTimespan="day"
)
data = response.json()
# Access analytics data
print(f"Users: {data['data'].get('users', {})}")
print(f"Chats: {data['data'].get('chats', {})}")
print(f"App metrics: {data['data'].get('app', {})}")
Response Structure:
The response contains analytics data with the following possible keys:
users- User engagement metricschats- Chat interaction metricsapp- Application-level metricstokens- Token usage statisticsprices- Cost information
Each metric may be organized by the specified timespan (day/week/month).