LiteAgent SDK for Dart
English · 中文
The LiteAgent Dart SDK is used for interacting with LiteAgent in Dart and Flutter applications.
Features
- Initialize an Agent session
- Send client messages to the Agent
- Subscribe to Agent messages, including: Agent messages, chunk messages during word-by-word typing, SSE Done and Error, and Function Call callback requests
- Send Function Call callback results
- Stop the current session
- Clear the current session
Installation
Add the following dependency in your pubspec.yaml
file:
dependencies:
liteagent_sdk_dart: ^0.1.1
Then run:
dart pub get
Usage
- Implement AgentMessageHandler to subscribe to various Agent push messages
Future<void> main() async {
String baseUrl = "<BASE_URL>";
String apiKey = "<API_KEY>";
String userPrompt = "hi";
String agentId = "<AGENT_ID>";
LiteAgentSDK liteAgent = LiteAgentSDK(baseUrl: baseUrl, apiKey: apiKey);
Session session = await liteAgent.initSession(agentId);
UserTask userTaskDto = UserTask(content: [Content(type: ContentType.text, message: userPrompt)], stream: true);
AgentMessageHandler agentMessageHandler = AgentMessageHandlerImpl();
await liteAgent.chat(session, userTaskDto, agentMessageHandler);
}
class AgentMessageHandlerImpl extends AgentMessageHandler {
@override
Future<ToolReturn> onFunctionCall(String sessionId, FunctionCall functionCall) async {
print(functionCall.toJson().toString());
return ToolReturn(id: functionCall.id, result: {"name": functionCall.name, "params": {"status": "success"}});
}
@override
Future<void> onDone() async {
print("[onDone]");
}
@override
Future<void> onError(Exception e) async {
print("[onError]$e");
}
@override
Future<void> onMessage(String sessionId, AgentMessage agentMessageDto) async {
print("sessionId: $sessionId, agentMessage: ${agentMessageDto.toJson().toString()}");
}
@override
Future<void> onChunk(String sessionId, AgentMessageChunk agentMessageChunkDto) async {
print("sessionId: $sessionId, agentMessageChunk: agentMessageChunkDto.toJson().toString()}");
}
}