Integrations
OpenRouter
OpenRouter is a language model provider. Check out OpenRouter Models for more information about their models and pricing.
Install RAG Chat SDK
Initialize the project and install the required packages:
npm init es6
npm install dotenv
npm install @upstash/rag-chat
Setup Upstash Redis
Create a Redis database using Upstash Console or Upstash CLI and copy the UPSTASH_REDIS_REST_URL
and UPSTASH_REDIS_REST_TOKEN
into your .env
file.
.env
UPSTASH_REDIS_REST_URL=<YOUR_URL>
UPSTASH_REDIS_REST_TOKEN=<YOUR_TOKEN>
Setup Upstash Vector
Create a Vector index using Upstash Console or Upstash CLI and copy the UPSTASH_VECTOR_REST_URL
and UPSTASH_VECTOR_REST_TOKEN
into your .env
file.
.env
UPSTASH_VECTOR_REST_URL=<YOUR_URL>
UPSTASH_VECTOR_REST_TOKEN=<YOUR_TOKEN>
Setup OpenRouter
Create an OpenRouter account and get an API key from OpenRouter -> Settings -> API Keys. Set your OpenRouter API key as an environment variable:
.env
OPEN_ROUTER_KEY=<YOUR_API_KEY>
Setup the Project
Initialize RAGChat with the OpenRouter model:
index.ts
import { RAGChat, openrouter } from "@upstash/rag-chat";
import "dotenv/config";
export const ragChat = new RAGChat({
model: openrouter("sao10k/l3-lunaris-8b",{apiKey: process.env.OPEN_ROUTER_KEY}),
});
Add context to the RAG Chat:
index.ts
await ragChat.context.add("The speed of light is approximately 299,792,458 meters per second.");
Chat with the RAG Chat:
index.ts
const response = await ragChat.chat("What is the speed of light?");
console.log(response);
Run
Run the project:
npx tsx index.ts
Was this page helpful?