Skip to main content

A minimal LLM network chat server/client app.

Project description

chatthy

An asynchronous terminal server/multiple-client setup for conducting and managing chats with LLMs.

This is the successor project to llama-farm

The RAG/agent functionality should be split out into an API layer.

network architecture

  • client/server RPC-type architecture
  • message signing
  • ensure stream chunk ordering

chat management

  • basic chat persistence and management
  • set, switch to saved system prompts (personalities)
  • manage prompts like chats (as files)
  • chat truncation to token length
  • rename chat
  • profiles (profile x personalities -> sets of chats)
  • import/export chat to client-side file
  • remove text between tags when saving

context workspace

  • context workspace (load/drop files)
  • client inject from file
  • client inject from other sources, e.g. youtube (trag)
  • templates for standard instruction requests (trag)
  • context workspace - bench/suspend files (hidden by filename)
  • local files / folders in transient workspace
  • checkboxes for delete / show / hide

client interface

  • can switch between Anthropic, OpenAI, tabbyAPI providers and models
  • streaming
  • syntax highlighting
  • decent REPL
  • REPL command mode
  • cut/copy from output
  • client-side prompt editing
  • vimish keys in output
  • client-side chat/message editing (how? temporarily set the input field history? Fire up $EDITOR in client?) - edit via chat local import/export
  • latex rendering (this is tricky in the context of prompt-toolkit, but see flatlatex).
  • generation cancellation
  • tkinter UI

multimodal

  • design with multimodal models in mind
  • image sending and use
  • image display

miscellaneous / extensions

  • use proper config dir (group?)
  • dump default conf if missing

tool / agentic use

Use agents at the API level, which is to say, use an intelligent router. This separates the chatthy system from the RAG/LLM logic.

  • (auto) tools (evolve from llama-farm -> trag)
  • user defined tool plugins
  • server use vdb context at LLM will (tool)
  • iterative workflows (refer to llama-farm, consider smolagents)
  • tool chains
  • tool: workspace file write, delete
  • tool: workspace file patch/diff
  • tool: rag query tool
  • MCP agents?
  • smolagents / archgw?

RAG

  • summaries and standard client instructions (trag)
  • server use vdb context on request
  • set RAG provider client-side (e.g. Mistral Small, Phi-4)
  • consider best method of pdf conversion / ingestion (fvdb), OOB (image models?)
  • full arxiv paper ingestion (fvdb) - consolidate into one latex file OOB
  • vdb result reranking with context, and winnowing (agent?)
  • vdb results -> workspace (agent?)

unallocated / out of scope

audio streaming ? - see matatonic's servers workflows (tree of instruction templates) tasks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chatthy-0.2.10.tar.gz (39.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chatthy-0.2.10-py3-none-any.whl (40.4 kB view details)

Uploaded Python 3

File details

Details for the file chatthy-0.2.10.tar.gz.

File metadata

  • Download URL: chatthy-0.2.10.tar.gz
  • Upload date:
  • Size: 39.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for chatthy-0.2.10.tar.gz
Algorithm Hash digest
SHA256 69bd654ca528138e3b1de74ff822c69ae81f8a6bc047d1ba8bf3b9d301debb2f
MD5 68e098ec7effbc69f711ee1f0f7ee821
BLAKE2b-256 541dacec1843e00e8397bca783b9019d32bb07d34ab140fa61f39c4a9edf39c3

See more details on using hashes here.

File details

Details for the file chatthy-0.2.10-py3-none-any.whl.

File metadata

  • Download URL: chatthy-0.2.10-py3-none-any.whl
  • Upload date:
  • Size: 40.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for chatthy-0.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 3802ab57e5177d7535fc29296e1a9c402644692431bba3fe82c2ce129809ae69
MD5 9b5990df1ab5320f3091bc4d0540a337
BLAKE2b-256 44d8bd47eacfc0eb29ac21a8b8045891ecb8219e277f7f7f45410e1d087bea9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page