fisk
v4.3.5
Published
AI modeling and data extraction tools, by Bulldog and Fisk.
Readme
fisk
Pioneering the idea of independent AI studios run by individuals.
"Experts are the new GPUs. The largest AI labs are spending huge amounts of money, like huge amounts of money to acquire more valuable tokens, either paying experts to generate it, working through labeling companies like Scale AI or others." -- Nat Friedman, investor, entrepreneur, and former CEO of GitHub.
Notes
- Structured outputs.
- Multi-agent reasoning.
- Intelligent data sharing and blackboarding
- Virtual files system
- Entity extraction
- Sentence intent discovery
- Vector storange and search engine
- Data chunking
- Chunk reranking
- Local-model runtimes.
- Enterprise-grade applications.
fiskis intended for local use. That is, running on a local machine. You should installfiskindevDependenciesif using it as a npm module.
You can use fisk in one or two ways, as a Terminal UI (TUI) or locally as an npm module.
Using fisk as a TUI
Try this:
fisk app chatUsing fisk as a module
Install it:
yarn add fiskUse it:
import { Fisk } from 'fisk';
const fisk = await Fisk({
addModels: {
'sentiment-toxic': {},
'fill-mask': {},
'object-detection': {},
'text-classification': {},
'image-classification': {},
'translate': {}, // ...and so on
},
databases: {
path: WD,
vector: {
intentCorpusPath: join(WD, 'intents'),
maxResults: 2,
distanceMetric: 'cosine',
minimumQuestionLength: 4
},
relational: {
certificate: await readFile('path/to/ssl.crt'), 'utf8'), // You should enable SSL.
identityEmail: process.env.IDENTITY_EMAIL
}
},
documents: {
chunk: {
maxTokens: 1024,
overlapPercentage: 10
},
cleanText: {
transliterateHomoglyphs: false,
removeLinks: true,
keepNewlines: false
},
summarize: {
minSentences: 3,
maxSentences: 10,
maxTextLength: 20_000
},
extractEntities: {
keywords: [],
minWordLength: 6,
maxWordLength: 14
},
parserOptions: {
html: {
keepAliveTimeout: 10,
keepAliveMaxTimeout: 10
},
git: {
allowedExtensions: ['js', 'ts', 'css', 'html'],
maxFileSize: 51200, // 50kb
globOptions: {}
},
ocr: {
mode: 'speed',
langs: ['eng']
}
}
},
ai: {
openai: {
temperature: 0.1,
topP: 1,
topK: 50,
maxTokens: 1000,
presencePenalty: 0.5,
frequencyPenalty: 1,
}
// ...Anthropic, ollama, Mistral...Using fisk as a TUI
Install fisk globally. For example
npm i -g fiskThen just run > fisk.
Environment variables you must set
When running as a module you'll need to set some environment variables. See .env-example for settings, and the API documentation for details.
