obot_completion_generator 1.1.0 copy "obot_completion_generator: ^1.1.0" to clipboard
obot_completion_generator: ^1.1.0 copied to clipboard

A completion generator for ObotAI InputCompletion.

example/example.dart

import 'dart:io';

import 'package:obot_completion_generator/obot_completion_generator.dart';

void main(List<String> args) async {
  String host = "";
  String apiKey = "";
  String locale = "ja";
  int? maxResults;

  for (var i = 0; i < args.length; i++) {
    if (i >= args.length - 1) {
      break;
    }
    if (args[i] == "--host") {
      host = args[i + 1];
    } else if (args[i] == "--key") {
      apiKey = args[i + 1];
    } else if (args[i] == "--locale") {
      locale = args[i + 1];
    } else if (args[i] == "--max-results") {
      maxResults = int.tryParse(args[i + 1]) ?? 0;
    }
  }

  MatcherProperties props = MatcherProperties();
  if (maxResults != null) {
    props.maxResults = maxResults;
  }
  KeywordForwardMatcher matcher = KeywordForwardMatcher.fromProperties(props);
  // KeywordForwardMatcher matcher = KeywordForwardMatcher(maxResults: 5);
  Generator generator = Generator.fromMatcher(matcher);

  print("Fetching [$locale] data from $host with API key $apiKey");
  Fetcher fetcher = Fetcher(
      apiKey: apiKey,
      getEndpoint: (String locale) {
        return "$host/input_completion/$locale/";
      });

  try {
    List<LocaleDataItem> localeData = await fetcher.fetch(locale);
    print("Fetched ${localeData.length} items: $localeData");

    generator.loadData(locale, localeData);
  } on FetchFailedException catch (e) {
    print("Failed to fetch data. Exception: $e");
    print("ResponseBody: ${e.responseBody}");
    return;
  } on UnexpectedResponseBodyException catch (e) {
    print("Unexpected response body. Exception: $e");
    return;
  }

  while (true) {
    print("Enter a keyword to get completions:");
    String input = stdin.readLineSync() ?? "";
    if (input.isEmpty) {
      break;
    }

    List<MatchedResultData> results =
        generator.generateCompletions(input, locale);
    print("Results:");
    for (var result in results) {
      print(result);
    }
  }
}
1
likes
140
points
48
downloads

Publisher

verified publisherobot-ai.com

Weekly Downloads

A completion generator for ObotAI InputCompletion.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

More

Packages that depend on obot_completion_generator