@jsilvanus/chattydeer
v0.2.0
Published
A Node.js minimal LLM chat completionist — wraps embedeer with Explainer and LLM adapter capabilities
Maintainers
Readme
chattydeer

A Node.js minimal chat completions tool
A Node.js minimal LLM chat completionist built on top of @jsilvanus/embedeer.
Provides Explainer, LLMAdapter, and prompt utilities for structured LLM-based explanation and narration tasks.
Install
npm install @jsilvanus/chattydeerUsage
import { Explainer } from '@jsilvanus/chattydeer';
const explainer = await Explainer.create('llama-3.2-3b', { deterministic: true });
const result = await explainer.explain({
task: 'narrate',
domain: 'evolution',
context: { filePath: 'src/auth/handler.ts' },
evidence: [
{ id: 1, source: 'src/auth/handler.ts', excerpt: '2024-03-15 *** LARGE CHANGE' },
],
maxTokens: 256,
});
console.log(result.explanation); // "The auth handler underwent a major rewrite..."
await explainer.destroy();API
Explainer.create(modelName, opts)— create an explainer bound to a modelexplainer.explain(request)— explain using structured evidence blocksLLMAdapter.create(modelName, opts)— low-level text-generation adapterexplainForGitsema(payload, opts)— gitsema-compatible adapterrenderTemplate(domain, vars)— render a domain-specific prompt templateestimateTokensFromChars(chars)/trimEvidenceForBudget(prelude, evidence, budget)— prompt utilities
See explainer-contract.md for the full interface contract.
License
MIT
