```typescript import { CheerioWebBaseLoader } from 'langchain/document_loaders/web/cheerio'; import
import { CheerioWebBaseLoader } from 'langchain/document_loaders/web/cheerio';
import { MemoryVectorStore } from 'langchain/vectorstores/memory';
import { OpenAI } from 'langchain/llms/openai';
import { OpenAIEmbeddings } from 'langchain/embeddings/openai';
import { RetrievalQAChain } from 'langchain/chains';
export default {
async fetch(request, env, ctx) {
const loader = new CheerioWebBaseLoader('https://en.wikipedia.org/wiki/Brooklyn');
const docs = await loader.loadAndSplit();
//console.log(docs);
const store = await MemoryVectorStore.fromDocuments(docs, new OpenAIEmbeddings({ openAIApiKey: env.OPENAI_API_KEY }));
const model = new OpenAI({ openAIApiKey: env.OPENAI_API_KEY });
const chain = RetrievalQAChain.fromLLM(model, store.asRetriever());
const { searchParams } = new URL(request.url);
const question = searchParams.get('question') ?? 'What is this article about? Can you give me 3 facts about it?';
const res = await chain.call({
query: question,
});
console.log(res.text);
return new Response(res.text);
},
};import { CheerioWebBaseLoader } from 'langchain/document_loaders/web/cheerio';
import { MemoryVectorStore } from 'langchain/vectorstores/memory';
import { OpenAI } from 'langchain/llms/openai';
import { OpenAIEmbeddings } from 'langchain/embeddings/openai';
import { RetrievalQAChain } from 'langchain/chains';
export default {
async fetch(request, env, ctx) {
const loader = new CheerioWebBaseLoader('https://en.wikipedia.org/wiki/Brooklyn');
const docs = await loader.loadAndSplit();
//console.log(docs);
const store = await MemoryVectorStore.fromDocuments(docs, new OpenAIEmbeddings({ openAIApiKey: env.OPENAI_API_KEY }));
const model = new OpenAI({ openAIApiKey: env.OPENAI_API_KEY });
const chain = RetrievalQAChain.fromLLM(model, store.asRetriever());
const { searchParams } = new URL(request.url);
const question = searchParams.get('question') ?? 'What is this article about? Can you give me 3 facts about it?';
const res = await chain.call({
query: question,
});
console.log(res.text);
return new Response(res.text);
},
};how to make this work with cf embeddings instead of openai? any blog or guide?
i got this code from https://blog.cloudflare.com/langchain-and-cloudflare


