From c65be2299919375a493326927055c32538d1d7d5 Mon Sep 17 00:00:00 2001 From: Nolan Tremelling <34580718+NolanTrem@users.noreply.github.com> Date: Fri, 30 Aug 2024 16:48:44 -0700 Subject: [PATCH] Update README.md --- README.md | 149 +----------------------------------------------------- 1 file changed, 1 insertion(+), 148 deletions(-) diff --git a/README.md b/README.md index 4cf1966..60f709b 100644 --- a/README.md +++ b/README.md @@ -1,148 +1 @@ -

- Docs - Discord - Github Stars - Commits-per-week - License: MIT - npm version -

- -R2R JavaScript Client -

-The ultimate open source RAG answer engine - JavaScript Client -

- -# About - -The official JavaScript client for R2R (Retrieval-Augmented Generation to Riches). R2R is designed to bridge the gap between local LLM experimentation and scalable, production-ready Retrieval-Augmented Generation (RAG). This JavaScript client provides a seamless interface to interact with the R2R RESTful API. - -For a more complete view of R2R, check out the [full documentation](https://r2r-docs.sciphi.ai/). - -## Key Features - -- **📁 Multimodal Support**: Ingest files ranging from `.txt`, `.pdf`, `.json` to `.png`, `.mp3`, and more. -- **🔍 Hybrid Search**: Combine semantic and keyword search with reciprocal rank fusion for enhanced relevancy. -- **🔗 Graph RAG**: Automatically extract relationships and build knowledge graphs. -- **🗂️ App Management**: Efficiently manage documents and users with rich observability and analytics. -- **🌐 Client-Server**: RESTful API support out of the box. -- **🧩 Configurable**: Provision your application using intuitive configuration files. -- **🔌 Extensible**: Develop your application further with easy builder + factory pattern. -- **🖥️ Dashboard**: Use the [R2R Dashboard](https://github.com/SciPhi-AI/R2R-Dashboard), an open-source React+Next.js app for a user-friendly interaction with R2R. - -## Table of Contents - -1. [Install](#install) -2. [R2R JavaScript Client Quickstart](#r2r-javascript-client-quickstart) -3. [Community and Support](#community-and-support) -4. [Contributing](#contributing) - -# Install - -```bash -npm install r2r-js -``` - -# R2R JavaScript Client Quickstart - -## Initialize the R2R client - -```javascript -const { r2rClient } = require("r2r-js"); - -const client = new r2rClient("http://localhost:8000"); -``` - -## Login - -```javascript -const EMAIL = "admin@example.com"; -const PASSWORD = "change_me_immediately"; -console.log("Logging in..."); -await client.login(EMAIL, PASSWORD); -``` - -## Ingest files - -```javascript -const files = [ - { path: "examples/data/raskolnikov.txt", name: "raskolnikov.txt" }, - { path: "examples/data/karamozov.txt", name: "karamozov.txt" }, -]; - -const ingestResult = await client.ingestFiles(files, { - metadatas: [{ title: "raskolnikov.txt" }, { title: "karamozov.txt" }], - user_ids: [ - "123e4567-e89b-12d3-a456-426614174000", - "123e4567-e89b-12d3-a456-426614174000", - ], - skip_document_info: false, -}); -console.log(ingestResult); -``` - -## Perform a search - -```javascript -const searchResult = await client.search("Who was Raskolnikov?"); -console.log(searchResult); -``` - -## Perform RAG - -```javascript -const ragResult = await client.rag({ - query: "Who was Raskolnikov?", - use_vector_search: true, - search_filters: {}, - search_limit: 10, - do_hybrid_search: false, - use_kg_search: false, - kg_generation_config: {}, - rag_generation_config: { - model: "gpt-4o", - temperature: 0.0, - stream: false, - }, -}); -console.log(ragResult); -``` - -## Stream a RAG Response - -```javascript -const streamingRagResult = await client.rag({ - query: "Who was Raskolnikov?", - rag_generation_config: { - stream: true, - }, -}); - -if (streamingRagResult instanceof ReadableStream) { - const reader = streamingRagResult.getReader(); - while (true) { - const { done, value } = await reader.read(); - if (done) break; - console.log(new TextDecoder().decode(value)); - } -} -``` - -# Community and Support - -- [Discord](https://discord.gg/p6KqD2kjtB): Chat live with maintainers and community members -- [Github Issues](https://github.com/SciPhi-AI/R2R-js/issues): Report bugs and request features - -**Explore our [R2R Docs](https://r2r-docs.sciphi.ai/) for tutorials and cookbooks on various R2R features and integrations.** - -# Contributing - -We welcome contributions of all sizes! Here's how you can help: - -- Open a PR for new features, improvements, or better documentation. -- Submit a [feature request](https://github.com/SciPhi-AI/R2R-js/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=) or [bug report](https://github.com/SciPhi-AI/R2R-js/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=) - -### Our Contributors - - - - +The R2R JavaScript client has moved to the R2R repository. [You can find it here!](https://github.com/SciPhi-AI/R2R)