ai_sdk_remote 3.0.0 copy "ai_sdk_remote: ^3.0.0" to clipboard
ai_sdk_remote: ^3.0.0 copied to clipboard

Optional Vercel AI UI-message stream transport for AI SDK Dart.

example/example.dart

import 'package:ai_sdk_conversation/ai_sdk_conversation.dart';
import 'package:ai_sdk_remote/ai_sdk_remote.dart';

Future<void> main(List<String> arguments) async {
  if (arguments.length != 1) {
    print('Usage: dart run example/example.dart <backend-chat-url>');
    return;
  }
  final endpoint = Uri.parse(arguments.single);
  if (!endpoint.hasAuthority ||
      (endpoint.scheme != 'http' && endpoint.scheme != 'https')) {
    throw ArgumentError('The backend URL must use HTTP or HTTPS.');
  }
  final transport = RemoteConversationTransport(endpoint: endpoint);
  final conversation = Conversation(
    id: 'example-conversation',
    messages: [
      ConversationMessage(
        id: 'example-user',
        role: ConversationRole.user,
        parts: [TextPart(id: 'example-input', text: 'Hello')],
      ),
    ],
  );
  try {
    var previousText = '';
    await for (final snapshot in transport.send(conversation)) {
      final text = snapshot.messages
          .where((message) => message.role == ConversationRole.assistant)
          .expand((message) => message.parts)
          .whereType<TextPart>()
          .map((part) => part.text)
          .join();
      if (text != previousText) {
        print(text);
        previousText = text;
      }
    }
  } finally {
    transport.dispose();
  }
}
0
likes
150
points
236
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Optional Vercel AI UI-message stream transport for AI SDK Dart.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

ai_sdk_conversation, http

More

Packages that depend on ai_sdk_remote