jan
jan copied to clipboard
feat: Threads can override and inherit default params from Assistants, Models, and Engine
Tasks
- [x] Eng Spec @dan-jan
- [ ] Local Models
- [ ] Remote Models (KIV)
- [x] janhq/internal#66
- Functionality
- [x] Each Recommended Model should have default values defined in respective
model.json
- [x] Each Recommended Model should have default values defined in respective
- Documentation
- [ ] Architecture section should contain page on relationship between
Threads
,Assistants
,Models
,Engines
. - [ ] Docs page on Models Extension,
- [ ] Docs page on Inference Extension
- [ ] Docs page on Engine extensions
- [ ] Architecture section should contain page on relationship between
- [ ] API Reference (i.e. Swaggerfile)
- [ ]
model.json
params are well documented in Swaggerfile - [ ]
assistant.json
params are well documented in Swaggerfile - [ ]
engine.json
params are well documented in Swaggerfile
- [ ]
Spec
Overview
- Threads are a core primitive in Jan, and the main means by which a user will interact with AI
- A Thread is defined as an exchange between a User and an Assistant
- A thread uses default params that are specified for that Assistant (and its associated Model(s) and Engine(s))
- A user may choose to override these default params
- Assistant params are inherited from
assistant.json
- Model params are inherited from the
assistant.model
'smodel.json
- Engine params are inherited from
model.engine
'sengine.json
- The Thread UI offers an optional, slide-in "Right Panel" that allows the user to tinker and change params
- Any user-specified, thread-level params are persisted in an associated
thread.json
-
thread.json
is usually empty, as it auto-inherits properties from the associated defaults
- Any user-specified, thread-level params are persisted in an associated
- The Thread UI should prompt the user to "Reload" the model + engine if required
- Model Params and Engine Params will usually require reload
- We should find way to "automatically" reload it, if user sends new message to Assistant
Wireframes
Excalidraw: https://link.excalidraw.com/l/kFY0dI05mm/3WHim5p2OLu