Debanjum Singh Solanky b8d3e3669a Stream Status Messages via Streaming Response from server to web client
- Overview
Use simpler HTTP Streaming Response to send status messages, alongside
response and references from server to clients via API.

Update web client to use the streamed response to show train of thought,
stream response and render references.

- Motivation
This should allow other Khoj clients to pass auth headers and recieve
Khoj's train of thought messages from server over simple HTTP
streaming API.

It'll also eventually deduplicate chat logic across /websocket and
/chat API endpoints and help maintainability and dev velocity

- Details
  - Pass references as a separate streaming message type for simpler
    parsing. Remove passing "### compiled references" altogether once
    the original /api/chat API is deprecated/merged with the new one
    and clients have been updated to consume the references using this
    new mechanism
  - Save message to conversation even if client disconnects. This is
    done by not breaking out of the async iterator that is sending the
    llm response. As the save conversation is called at the end of the
    iteration
  - Handle parsing chunked json responses as a valid json on client.
    This requires additional logic on client side but makes the client
    more robust to server chunking json response such that each chunk
    isn't itself necessarily a valid json.
2024-07-22 15:41:21 +05:30
2024-07-07 18:26:10 +05:30
2024-07-07 18:26:10 +05:30
2024-07-07 18:26:10 +05:30

Khoj Logo

test dockerize pypi Discord

The open-source, personal AI for your digital brain

🤖 Read Docs   •   🏮 Khoj Cloud   •   💬 Get Involved   •   📚 Read Blog


Khoj is an application that creates always-available, personal AI agents for you to extend your capabilities.

  • You can share your notes and documents to extend your digital brain.
  • Your AI agents have access to the internet, allowing you to incorporate realtime information.
  • Khoj is accessible on Desktop, Emacs, Obsidian, Web and Whatsapp.
  • You can share pdf, markdown, org-mode, notion files and github repositories.
  • You'll get fast, accurate semantic search on top of your docs.
  • Your agents can create deeply personal images and understand your speech.
  • Khoj is open-source, self-hostable. Always.

See it in action

Khoj Demo

Go to https://app.khoj.dev to see Khoj live.

Full feature list

You can see the full feature list here.

Self-Host

To get started with self-hosting Khoj, read the docs.

Contributors

Cheers to our awesome contributors! 🎉

Made with contrib.rocks.

Interested in Contributing?

We are always looking for contributors to help us build new features, improve the project documentation, or fix bugs. If you're interested, please see our Contributing Guidelines and check out our Contributors Project Board.

Sponsors

Shout out to our brilliant sponsors! 🌈

Description
No description provided
Readme AGPL-3.0 116 MiB
Languages
Python 51%
TypeScript 36.1%
CSS 4.1%
HTML 3.2%
Emacs Lisp 2.4%
Other 3.1%