lite_embeddings_sdk_dart 0.1.0
lite_embeddings_sdk_dart: ^0.1.0 copied to clipboard
A dart sdk for lite_embeddings_dart_server http API.
Lite Embeddings Dart SDK Client #
A lightweight Dart client for the lite_embeddings_dart_server HTTP API. Use it to create, query, and manage vectorized documents from Dart or Flutter apps.
Features #
- Full coverage of server endpoints (docs, segments, batch and multi-doc queries).
- Simple, typed request/response models.
- Optional Bearer token authentication.
- Small dependency footprint (
package:http).
Getting Started #
Add the dependency to your pubspec.yaml (or use dart pub add lite_embeddings_sdk_dart).
dependencies:
lite_embeddings_sdk_dart: ^1.0.0
Start the server first (default: http://localhost:9537/api).
Usage #
import 'package:lite_embeddings_sdk_dart/lite_embeddings_sdk_dart.dart';
Future<void> main() async {
final client = LiteEmbeddingsClient(
baseUrl: 'http://localhost:9537',
apiPathPrefix: '/api',
bearerToken: 'YOUR_TOKEN', // optional
);
try {
final version = await client.getVersion();
print('server version: ${version.version}');
} finally {
await client.close();
}
}
Create docs by text #
final request = CreateDocsTextRequest(
docsName: 'notes.md',
text: 'A\n<!--SEPARATOR-->\nB',
separator: '<!--SEPARATOR-->',
llmConfig: LLMConfig(
baseUrl: 'https://api.openai.com/v1',
apiKey: 'sk-xxxx',
model: 'text-embedding-3-small',
),
);
final result = await client.createDocsByText(request);
print(result.docsId);
Query docs #
final result = await client.queryDocs(
QueryRequest(
docsId: 'your-doc-id',
queryText: 'What is this about?',
nResults: 3,
llmConfig: LLMConfig(
baseUrl: 'https://api.openai.com/v1',
apiKey: 'sk-xxxx',
model: 'text-embedding-3-small',
),
),
);
print(result.segmentResultList.length);
Configuration #
baseUrl: Server base URL (e.g.,http://localhost:9537).apiPathPrefix: API prefix (default:/api).bearerToken: Optional token forAuthorization: Bearer <token>.defaultHeaders: Provide custom headers;AuthorizationoverridesbearerTokenif present.
Error Handling #
LiteEmbeddingsApiException: Non-2xx responses, with status code and optional JSON body.LiteEmbeddingsClientException: JSON parse errors or unexpected response shapes.
Development #
- Run tests:
dart test - Format code:
dart format . - Analyze:
dart analyze