adk_dart 0.1.0 copy "adk_dart: ^0.1.0" to clipboard
adk_dart: ^0.1.0 copied to clipboard

Core Dart port of Agent Development Kit (ADK) runtime primitives.

example/adk_dart_example.dart

import 'package:adk_dart/adk_dart.dart';

class EchoModel extends BaseLlm {
  EchoModel() : super(model: 'echo');

  @override
  Stream<LlmResponse> generateContent(
    LlmRequest request, {
    bool stream = false,
  }) async* {
    final String lastUserText = request.contents.isEmpty
        ? ''
        : request.contents.last.parts
              .where((Part part) => part.text != null)
              .map((Part part) => part.text!)
              .join(' ');

    yield LlmResponse(content: Content.modelText('echo: $lastUserText'));
  }
}

Future<void> main() async {
  final Agent agent = Agent(name: 'echo_agent', model: EchoModel());
  final InMemoryRunner runner = InMemoryRunner(agent: agent);

  final Session session = await runner.sessionService.createSession(
    appName: runner.appName,
    userId: 'example_user',
    sessionId: 'example_session',
  );

  await for (final Event event in runner.runAsync(
    userId: 'example_user',
    sessionId: session.id,
    newMessage: Content.userText('hello adk_dart'),
  )) {
    final String text =
        event.content?.parts
            .where((Part part) => part.text != null)
            .map((Part part) => part.text!)
            .join(' ') ??
        '';
    print('[${event.author}] $text');
  }
}
1
likes
0
points
285
downloads

Publisher

unverified uploader

Weekly Downloads

Core Dart port of Agent Development Kit (ADK) runtime primitives.

License

unknown (license)

More

Packages that depend on adk_dart