Ollama
Installation
Section titled “Installation”npm i llamaindex @llamaindex/ollama
import { Ollama } from "@llamaindex/ollama";import { Settings } from "llamaindex";
Settings.llm = ollamaLLM;Settings.embedModel = ollamaLLM;
Load and index documents
Section titled “Load and index documents”For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index.
import { Document, VectorStoreIndex } from "llamaindex";
const document = new Document({ text: essay, id_: "essay" });
const index = await VectorStoreIndex.fromDocuments([document]);
const queryEngine = index.asQueryEngine();
const query = "What is the meaning of life?";
const results = await queryEngine.query({ query,});
Using JSON Response Format
Section titled “Using JSON Response Format”You can configure Ollama to return responses in JSON format:
import { Ollama } from "@llamaindex/llms/ollama";import { z } from "zod";
// Simple JSON formatconst llm = new Ollama({ model: "llama2", temperature: 0, responseFormat: { type: "json_object" }});
// Using Zod schema for validationconst responseSchema = z.object({ summary: z.string(), topics: z.array(z.string()), sentiment: z.enum(["positive", "negative", "neutral"])});
const llm = new Ollama({ model: "llama2", temperature: 0, responseFormat: responseSchema});
Full Example
Section titled “Full Example”import { Ollama } from "@llamaindex/ollama";import { Document, VectorStoreIndex, Settings } from "llamaindex";
import fs from "fs/promises";
const ollama = new Ollama({ model: "llama2", temperature: 0.75 });
// Use Ollama LLM and Embed ModelSettings.llm = ollama;Settings.embedModel = ollama;
async function main() { const essay = await fs.readFile("./paul_graham_essay.txt", "utf-8");
const document = new Document({ text: essay, id_: "essay" });
// Load and index documents const index = await VectorStoreIndex.fromDocuments([document]);
// get retriever const retriever = index.asRetriever();
// Create a query engine const queryEngine = index.asQueryEngine({ retriever, });
const query = "What is the meaning of life?";
// Query const response = await queryEngine.query({ query, });
// Log the response console.log(response.response);}