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 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 local file

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

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)
  • 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
  • consider best method of pdf conversion / ingestion, OOB
  • 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

arXiv paper -> latex / md pdf paper -> latex / md

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.5.tar.gz (60.4 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.5-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for chatthy-0.2.5.tar.gz
Algorithm Hash digest
SHA256 709ae45b2d5aef944ab457c4b852a37b45291fb5d145cdfa394e971bbf8e5e7e
MD5 8e8dfe80e862603dd8871a03942772b3
BLAKE2b-256 088ff559fd003d2c2050b0d7f2a82648a611d617e5fbb462875e511d687c3948

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for chatthy-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9e857b4d5e341b9d49b8acab5fd474ae58c09289b2acaf507bec097c4ab016d1
MD5 61dfa38ca0acd02610e058228935a2c4
BLAKE2b-256 c09699dee11514cf43851552fc66a762230cf20838d9e708da4e4b7626b4404f

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