mirror of
https://github.com/marvinscham/masterthesis-playground.git
synced 2025-12-06 18:20:53 +01:00
RAFT test setup
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,3 +4,4 @@ __pycache__/
|
||||
**.bertopic
|
||||
history*.json
|
||||
model.pkl
|
||||
all-MiniLM-L6-v2/
|
||||
147662
bertopic.ipynb
147662
bertopic.ipynb
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
619
raft/create_raft_dataset_notebook.py
Normal file
619
raft/create_raft_dataset_notebook.py
Normal file
@@ -0,0 +1,619 @@
|
||||
# This script programmatically creates a Jupyter Notebook tailored for
|
||||
# "Retrieval-Augmented Fine-Tuning (RAFT) dataset generation using local Ollama".
|
||||
# It saves the notebook to /mnt/data/ so you can download and run it.
|
||||
|
||||
import json
|
||||
from datetime import datetime
|
||||
import nbformat as nbf
|
||||
|
||||
nb = nbf.v4.new_notebook()
|
||||
nb["metadata"].update(
|
||||
{
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3",
|
||||
},
|
||||
"language_info": {"name": "python", "version": "3.x"},
|
||||
}
|
||||
)
|
||||
|
||||
cells = []
|
||||
|
||||
# Title / Overview
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
# Retrieval-Augmented **Fine-Tuning** (RAFT) Dataset Generation with **Local Ollama**
|
||||
|
||||
This notebook builds a **supervised fine-tuning dataset** (JSONL) for *retrieval-augmented* tasks, by:
|
||||
1. **Ingesting** your local corpus (Markdown, text, HTML; PDFs optional with extra deps).
|
||||
2. **Chunking** and **embedding** documents using Ollama's local **embedding model** (e.g., `nomic-embed-text`, `mxbai-embed-large`).
|
||||
3. Building a **lightweight vector index** (FAISS).
|
||||
4. **Sampling contexts** and using a local **generation model** via Ollama (e.g., `llama3.1`, `qwen2`, `phi3`) to synthesize **grounded Q&A** or instruction–response pairs.
|
||||
5. Emitting a **RAFT-style JSONL** for supervised training (e.g., `input`, `output`, `meta` with source citations).
|
||||
|
||||
> **Requirements**
|
||||
>
|
||||
> - Local [Ollama](https://ollama.com/) running at `http://localhost:11434`
|
||||
> - At least one **embedding** model pulled (e.g., `ollama pull nomic-embed-text`)
|
||||
> - At least one **generation** model pulled (e.g., `ollama pull llama3.1`)
|
||||
>
|
||||
> You can adapt the prompts and schema for your specific downstream trainer (Llama.cpp, vLLM, Axolotl, mlx, etc.).
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Setup
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 0) Setup
|
||||
|
||||
Install Python dependencies. If you're offline, pre-install or remove what you don't need.
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
# If needed, uncomment:
|
||||
# %pip install --quiet requests faiss-cpu rich markdownify python-frontmatter pypdf regex
|
||||
# Optional extras:
|
||||
# %pip install --quiet tiktoken beautifulsoup4 lxml
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Config
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 1) Configuration
|
||||
|
||||
Set paths, models, and chunking/index params.
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
from dataclasses import dataclass, asdict
|
||||
from pathlib import Path
|
||||
from typing import List, Dict, Any, Optional, Tuple
|
||||
import os, re, json, uuid, math, glob, random, time
|
||||
import hashlib
|
||||
import requests
|
||||
from rich import print
|
||||
import regex
|
||||
import numpy as np
|
||||
|
||||
# ---- Core config ----
|
||||
DATA_DIR = Path("./corpus") # Put your source docs here
|
||||
OUTPUT_DIR = Path("./outputs") # Where artifacts are saved
|
||||
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Ollama endpoints & models
|
||||
OLLAMA_URL = os.environ.get("OLLAMA_URL", "http://localhost:11434")
|
||||
EMBED_MODEL = os.environ.get("EMBED_MODEL", "nomic-embed-text")
|
||||
GEN_MODEL = os.environ.get("GEN_MODEL", "llama3.1")
|
||||
|
||||
# Chunking
|
||||
CHUNK_SIZE = 1200 # characters
|
||||
CHUNK_OVERLAP = 200 # characters
|
||||
MIN_CHARS = 200 # minimum viable chunk length
|
||||
|
||||
# Index
|
||||
USE_FAISS = True
|
||||
TOP_K = 4
|
||||
|
||||
# RAFT generation
|
||||
SEED = 7
|
||||
SAMPLES_PER_DOC = 4
|
||||
MAX_TOKENS_GEN = 512 # Generation max tokens (approx; Ollama supports 'num_predict')
|
||||
TEMPERATURE = 0.6
|
||||
|
||||
random.seed(SEED)
|
||||
np.random.seed(SEED)
|
||||
|
||||
print({
|
||||
"DATA_DIR": str(DATA_DIR.resolve()),
|
||||
"OUTPUT_DIR": str(OUTPUT_DIR.resolve()),
|
||||
"OLLAMA_URL": OLLAMA_URL,
|
||||
"EMBED_MODEL": EMBED_MODEL,
|
||||
"GEN_MODEL": GEN_MODEL,
|
||||
"CHUNK_SIZE": CHUNK_SIZE,
|
||||
"CHUNK_OVERLAP": CHUNK_OVERLAP,
|
||||
"TOP_K": TOP_K,
|
||||
"SAMPLES_PER_DOC": SAMPLES_PER_DOC
|
||||
})
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Helpers: loaders
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 2) Load & Normalize Documents
|
||||
|
||||
Basic loaders for `.md`, `.txt`, `.html`. PDF support is optional (requires `pypdf`). You can extend as needed.
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
from bs4 import BeautifulSoup # if you didn't install bs4, comment HTML support below
|
||||
try:
|
||||
import frontmatter
|
||||
except Exception:
|
||||
frontmatter = None
|
||||
|
||||
def read_text_file(p: Path) -> str:
|
||||
return p.read_text(encoding="utf-8", errors="ignore")
|
||||
|
||||
def read_markdown(p: Path) -> str:
|
||||
text = p.read_text(encoding="utf-8", errors="ignore")
|
||||
# Optional: strip YAML frontmatter
|
||||
if frontmatter:
|
||||
try:
|
||||
fm = frontmatter.loads(text)
|
||||
return fm.content
|
||||
except Exception:
|
||||
return text
|
||||
return text
|
||||
|
||||
def read_html(p: Path) -> str:
|
||||
html = p.read_text(encoding="utf-8", errors="ignore")
|
||||
soup = BeautifulSoup(html, "lxml")
|
||||
# Remove script/style
|
||||
for tag in soup(["script", "style", "noscript"]):
|
||||
tag.decompose()
|
||||
text = soup.get_text(" ", strip=True)
|
||||
return text
|
||||
|
||||
def read_pdf(p: Path) -> str:
|
||||
try:
|
||||
from pypdf import PdfReader
|
||||
except Exception as e:
|
||||
print("[yellow]Install pypdf to enable PDF parsing: %pip install pypdf[/yellow]")
|
||||
raise e
|
||||
reader = PdfReader(str(p))
|
||||
parts = []
|
||||
for page in reader.pages:
|
||||
try:
|
||||
parts.append(page.extract_text() or "")
|
||||
except Exception:
|
||||
parts.append("")
|
||||
return "\\n".join(parts)
|
||||
|
||||
SUPPORTED_EXTS = {".txt": read_text_file, ".md": read_markdown, ".markdown": read_markdown,
|
||||
".html": read_html, ".htm": read_html, ".pdf": read_pdf}
|
||||
|
||||
def load_corpus(data_dir: Path) -> Dict[str, str]:
|
||||
docs = {}
|
||||
for p in data_dir.rglob("*"):
|
||||
if not p.is_file():
|
||||
continue
|
||||
fn = p.suffix.lower()
|
||||
if fn in SUPPORTED_EXTS:
|
||||
try:
|
||||
docs[str(p)] = SUPPORTED_EXTS[fn](p)
|
||||
except Exception as e:
|
||||
print(f"[red]Failed to read {p}: {e}[/red]")
|
||||
print(f"[green]Loaded {len(docs)} documents[/green]")
|
||||
return docs
|
||||
|
||||
docs = load_corpus(DATA_DIR)
|
||||
len(docs)
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Chunking
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 3) Chunking
|
||||
|
||||
Simple character-based chunker with overlap. Swap in a token-based chunker if you prefer.
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
@dataclass
|
||||
class Chunk:
|
||||
id: str
|
||||
doc_path: str
|
||||
start: int
|
||||
end: int
|
||||
text: str
|
||||
sha1: str
|
||||
|
||||
def chunk_text(text: str, doc_path: str, chunk_size: int = CHUNK_SIZE, overlap: int = CHUNK_OVERLAP) -> List[Chunk]:
|
||||
chunks: List[Chunk] = []
|
||||
i = 0
|
||||
n = len(text)
|
||||
while i < n:
|
||||
j = min(i + chunk_size, n)
|
||||
piece = text[i:j].strip()
|
||||
if len(piece) >= MIN_CHARS:
|
||||
sha1 = hashlib.sha1(piece.encode("utf-8")).hexdigest()
|
||||
chunks.append(Chunk(
|
||||
id=str(uuid.uuid4()),
|
||||
doc_path=doc_path,
|
||||
start=i, end=j,
|
||||
text=piece,
|
||||
sha1=sha1
|
||||
))
|
||||
if j == n:
|
||||
break
|
||||
i = j - overlap
|
||||
if i < 0:
|
||||
i = 0
|
||||
if i >= n:
|
||||
break
|
||||
return chunks
|
||||
|
||||
all_chunks: List[Chunk] = []
|
||||
for path, text in docs.items():
|
||||
all_chunks.extend(chunk_text(text, path))
|
||||
|
||||
print(f"[green]Total chunks: {len(all_chunks)}[/green]")
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Embeddings via Ollama
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 4) Embeddings via Ollama
|
||||
|
||||
Uses Ollama's `POST /api/embeddings` endpoint with your selected embedding model.
|
||||
Make sure you've pulled it locally: `ollama pull nomic-embed-text` (or your chosen model).
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
EMBED_ENDPOINT = f"{OLLAMA_URL}/api/embeddings"
|
||||
|
||||
def embed_texts(texts: List[str], model: str = EMBED_MODEL, batch_size: int = 32) -> np.ndarray:
|
||||
vectors = []
|
||||
for i in range(0, len(texts), batch_size):
|
||||
batch = texts[i:i+batch_size]
|
||||
# Ollama supports a single prompt or list? We'll call one by one to be safe with large content.
|
||||
for t in batch:
|
||||
r = requests.post(EMBED_ENDPOINT, json={"model": model, "prompt": t})
|
||||
r.raise_for_status()
|
||||
data = r.json()
|
||||
vec = np.array(data["embedding"], dtype=np.float32)
|
||||
vectors.append(vec)
|
||||
return np.vstack(vectors) if vectors else np.zeros((0, 768), dtype=np.float32)
|
||||
|
||||
chunk_texts = [c.text for c in all_chunks]
|
||||
emb_matrix = embed_texts(chunk_texts, model=EMBED_MODEL, batch_size=8)
|
||||
emb_matrix.shape
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Build FAISS
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 5) Build Vector Index (FAISS)
|
||||
|
||||
We normalize vectors and use inner product (equivalent to cosine on normalized vectors).
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
def normalize_rows(x: np.ndarray) -> np.ndarray:
|
||||
norms = np.linalg.norm(x, axis=1, keepdims=True) + 1e-12
|
||||
return x / norms
|
||||
|
||||
if USE_FAISS:
|
||||
import faiss
|
||||
xb = normalize_rows(emb_matrix).astype(np.float32)
|
||||
d = xb.shape[1]
|
||||
index = faiss.IndexFlatIP(d)
|
||||
index.add(xb)
|
||||
print("[green]FAISS index built:[/green]", index.ntotal, "vectors")
|
||||
else:
|
||||
index = None
|
||||
xb = normalize_rows(emb_matrix).astype(np.float32)
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Retrieval helper
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 6) Retrieval Helper
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
def search(query: str, top_k: int = TOP_K) -> List[Tuple[int, float]]:
|
||||
# Embed the query
|
||||
qv = embed_texts([query], model=EMBED_MODEL, batch_size=1)
|
||||
qv = normalize_rows(qv).astype(np.float32)
|
||||
if USE_FAISS and index is not None:
|
||||
D, I = index.search(qv, top_k)
|
||||
hits = list(zip(I[0].tolist(), D[0].tolist()))
|
||||
else:
|
||||
sims = (xb @ qv.T).ravel()
|
||||
I = np.argsort(-sims)[:top_k]
|
||||
hits = [(int(i), float(sims[i])) for i in I]
|
||||
return hits
|
||||
|
||||
# quick smoke test (no error means it's wired up)
|
||||
# print(search("What does this corpus talk about?", 3))
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Generation via Ollama
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 7) Synthesize Grounded Q&A / Instructions with Ollama
|
||||
|
||||
We sample chunks, retrieve neighbors for richer context, and prompt a local LLM to create **high-quality** pairs.
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
GEN_ENDPOINT = f"{OLLAMA_URL}/api/generate"
|
||||
|
||||
SYSTEM_PROMPT = (
|
||||
"You are a careful dataset writer. Given only the provided CONTEXT, craft high-quality, factual "
|
||||
"question–answer pairs for supervised fine-tuning. Answers must be grounded strictly in the context. "
|
||||
"If the context lacks the answer, say 'INSUFFICIENT_CONTEXT'. Focus on clarity, specificity, and avoid hallucinations."
|
||||
)
|
||||
|
||||
USER_PROMPT_TEMPLATE = (
|
||||
"CONTEXT:\\n\\n{context}\\n\\n"
|
||||
"Task: Produce {n} diverse Q&A pairs about the content above. "
|
||||
"Use JSON lines (one JSON object per line) with keys: 'input' (question/instruction), 'output' (concise grounded answer), "
|
||||
"'meta' (object with 'source_path', 'chunk_ids', and optional 'citations': list of quotes). "
|
||||
"Do NOT include markdown; output JSON objects only."
|
||||
)
|
||||
|
||||
def ollama_generate(prompt: str, model: str = GEN_MODEL, temperature: float = TEMPERATURE, num_predict: int = MAX_TOKENS_GEN) -> str:
|
||||
payload = {
|
||||
"model": model,
|
||||
"prompt": prompt,
|
||||
"system": SYSTEM_PROMPT,
|
||||
"options": {
|
||||
"temperature": temperature,
|
||||
"num_predict": num_predict
|
||||
},
|
||||
"stream": False
|
||||
}
|
||||
r = requests.post(GEN_ENDPOINT, json=payload)
|
||||
r.raise_for_status()
|
||||
data = r.json()
|
||||
return data.get("response", "")
|
||||
|
||||
def build_context(primary_idx: int, k: int = TOP_K) -> Tuple[str, List[str]]:
|
||||
primary_chunk = all_chunks[primary_idx]
|
||||
query = primary_chunk.text[:400] # use the start of the chunk as a pseudo-query
|
||||
hits = search(query, k)
|
||||
pieces, ids = [], []
|
||||
for i, score in hits:
|
||||
ch = all_chunks[i]
|
||||
ids.append(ch.id)
|
||||
pieces.append(f"[{Path(ch.doc_path).name}::{ch.start}-{ch.end}]\\n{ch.text}")
|
||||
return "\\n\\n---\\n\\n".join(pieces), ids
|
||||
|
||||
def parse_llm_jsonl(text: str) -> List[Dict[str, Any]]:
|
||||
rows = []
|
||||
for line in text.splitlines():
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
# be forgiving for trailing commas etc.
|
||||
try:
|
||||
obj = json.loads(line)
|
||||
if isinstance(obj, dict):
|
||||
rows.append(obj)
|
||||
except Exception:
|
||||
# try to salvage with regex for JSON-ish
|
||||
try:
|
||||
fixed = regex.sub(r",\\s*}", "}", line)
|
||||
fixed = regex.sub(r",\\s*]", "]", fixed)
|
||||
obj = json.loads(fixed)
|
||||
if isinstance(obj, dict):
|
||||
rows.append(obj)
|
||||
except Exception:
|
||||
pass
|
||||
return rows
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Sampling and synthesis loop
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 8) Generate the RAFT Dataset
|
||||
|
||||
This step iterates over documents, samples chunks, retrieves neighbors, and asks the model to produce JSONL rows.
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
def synthesize_dataset(samples_per_doc: int = SAMPLES_PER_DOC, out_path: Path = OUTPUT_DIR / "raft_dataset.jsonl") -> Path:
|
||||
rng = random.Random(SEED)
|
||||
doc_to_chunk_idx = {}
|
||||
for i, ch in enumerate(all_chunks):
|
||||
doc_to_chunk_idx.setdefault(ch.doc_path, []).append(i)
|
||||
|
||||
total_target = 0
|
||||
with out_path.open("w", encoding="utf-8") as f:
|
||||
for doc_path, idxs in doc_to_chunk_idx.items():
|
||||
if not idxs:
|
||||
continue
|
||||
chosen = rng.sample(idxs, min(samples_per_doc, len(idxs)))
|
||||
for pi in chosen:
|
||||
ctx, ids = build_context(pi, k=TOP_K)
|
||||
user = USER_PROMPT_TEMPLATE.format(context=ctx, n=3)
|
||||
raw = ollama_generate(user, model=GEN_MODEL, temperature=TEMPERATURE, num_predict=MAX_TOKENS_GEN)
|
||||
rows = parse_llm_jsonl(raw)
|
||||
for r in rows:
|
||||
# enforce schema & enrich meta
|
||||
inp = r.get("input") or r.get("question") or r.get("query")
|
||||
out = r.get("output") or r.get("answer") or r.get("response")
|
||||
meta = r.get("meta") or {}
|
||||
if not isinstance(meta, dict):
|
||||
meta = {}
|
||||
meta.update({
|
||||
"source_path": str(doc_path),
|
||||
"chunk_ids": ids,
|
||||
"generated_at": datetime.utcnow().isoformat() + "Z",
|
||||
"model": GEN_MODEL,
|
||||
"embed_model": EMBED_MODEL
|
||||
})
|
||||
if inp and out:
|
||||
obj = {"input": inp, "output": out, "meta": meta}
|
||||
f.write(json.dumps(obj, ensure_ascii=False) + "\\n")
|
||||
total_target += 1
|
||||
print(f"[green]Wrote {total_target} rows -> {out_path}[/green]")
|
||||
return out_path
|
||||
|
||||
OUT_JSONL = synthesize_dataset(samples_per_doc=SAMPLES_PER_DOC)
|
||||
OUT_JSONL
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Sanity check / preview
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 9) Preview Samples
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
from itertools import islice
|
||||
|
||||
def head_jsonl(p: Path, n: int = 5):
|
||||
with p.open("r", encoding="utf-8") as f:
|
||||
for line in islice(f, n):
|
||||
print(line.rstrip())
|
||||
|
||||
head_jsonl(OUT_JSONL, 5)
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Optional: small eval
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 10) Optional: Spot-Check Generation Quality
|
||||
|
||||
Run a tiny evaluation by asking the model with and without retrieval and compare answers.
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
EVAL_QUESTIONS = []
|
||||
|
||||
# Collect inputs from the dataset (first N)
|
||||
with (OUTPUT_DIR / "raft_dataset.jsonl").open("r", encoding="utf-8") as f:
|
||||
for i, line in enumerate(f):
|
||||
try:
|
||||
obj = json.loads(line)
|
||||
EVAL_QUESTIONS.append(obj["input"])
|
||||
except Exception:
|
||||
pass
|
||||
if len(EVAL_QUESTIONS) >= 5:
|
||||
break
|
||||
|
||||
def rag_answer(q: str, k: int = TOP_K) -> str:
|
||||
hits = search(q, k)
|
||||
ctx = "\\n\\n".join([all_chunks[i].text for i,_ in hits])
|
||||
user = f"Answer the question using ONLY this context. If missing, say INSUFFICIENT_CONTEXT.\\n\\nCONTEXT:\\n{ctx}\\n\\nQUESTION: {q}"
|
||||
return ollama_generate(user, model=GEN_MODEL, temperature=0.2, num_predict=256)
|
||||
|
||||
for q in EVAL_QUESTIONS:
|
||||
print("\\n[bold]Q:[/bold]", q)
|
||||
ans = rag_answer(q)
|
||||
print("[bold]A:[/bold]", ans.strip()[:500], "...")
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Save artifacts list
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 11) Artifacts
|
||||
|
||||
- `outputs/raft_dataset.jsonl` — your RAFT dataset (input/output/meta per line)
|
||||
- `corpus/` — your source documents (you provide)
|
||||
- You can also persist `emb_matrix.npy` and a FAISS index for reuse.
|
||||
"""
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
# Optionally persist embeddings and index for later reuse
|
||||
np.save(OUTPUT_DIR / "emb_matrix.npy", emb_matrix)
|
||||
|
||||
if USE_FAISS:
|
||||
import faiss
|
||||
faiss.write_index(index, str(OUTPUT_DIR / "faiss.index"))
|
||||
print("[green]Saved FAISS index and embeddings.[/green]")
|
||||
else:
|
||||
print("[yellow]FAISS disabled; only saved embeddings.[/yellow]")
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Troubleshooting
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 12) Troubleshooting
|
||||
|
||||
- **Connection error to Ollama**: ensure `ollama serve` is running and models are pulled (`ollama pull nomic-embed-text`, `ollama pull llama3.1`).
|
||||
- **Empty dataset**: your corpus may be too small or the parser skipped files. Check `corpus/` content and chunk parameters.
|
||||
- **Hallucinations**: tighten the system prompt, lower temperature, or increase `TOP_K` and chunk size.
|
||||
- **JSON parsing issues**: the notebook tries to be forgiving; you can harden `parse_llm_jsonl` per your needs.
|
||||
- **PDFs**: `pip install pypdf` and try again.
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
# Save the notebook
|
||||
nb["cells"] = cells
|
||||
|
||||
out_path = "raft_ollama_dataset.ipynb"
|
||||
with open(out_path, "w", encoding="utf-8") as f:
|
||||
nbf.write(nb, f)
|
||||
|
||||
out_path
|
||||
417
raft/create_raft_tuning_notebook.py
Normal file
417
raft/create_raft_tuning_notebook.py
Normal file
@@ -0,0 +1,417 @@
|
||||
# Re-create the Jupyter Notebook for RAFT QLoRA fine-tuning and save to /mnt/data
|
||||
|
||||
import nbformat as nbf
|
||||
from pathlib import Path
|
||||
|
||||
nb = nbf.v4.new_notebook()
|
||||
nb.metadata.update(
|
||||
{
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3",
|
||||
},
|
||||
"language_info": {"name": "python", "version": "3.x"},
|
||||
}
|
||||
)
|
||||
|
||||
cells = []
|
||||
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
# RAFT Supervised Fine-Tuning (QLoRA) — Local Training
|
||||
|
||||
This notebook fine-tunes an open-source base model on a RAFT-style dataset (`input` → `output`) using **QLoRA** with **PEFT** and **Transformers**. It is designed to run locally (single or multi-GPU) and to export both **LoRA adapters** and (optionally) a **merged** model for inference.
|
||||
|
||||
> **Assumptions**
|
||||
> - Your dataset lives at `./outputs/raft_dataset.jsonl` (from the previous notebook). Adjust the path if needed.
|
||||
> - You have a CUDA-capable GPU and can install `bitsandbytes`. (CPU training is possible but slow.)
|
||||
> - You have enough VRAM for the chosen base model when loaded in 4-bit NF4.
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 0) Install dependencies"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
# If needed, uncomment the following installs:
|
||||
# %pip install --quiet transformers==4.44.2 datasets==2.20.0 peft==0.12.0 accelerate==0.34.2 bitsandbytes==0.43.3 evaluate==0.4.2 sentencepiece==0.2.0
|
||||
# Optional extras:
|
||||
# %pip install --quiet trl==0.9.6 sacrebleu==2.4.3 rouge-score==0.1.2
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 1) Configuration"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
from pathlib import Path
|
||||
|
||||
# Paths
|
||||
DATA_JSONL = Path("./outputs/raft_dataset.jsonl") # change if different
|
||||
RUN_NAME = "raft_qlora_run"
|
||||
OUTPUT_DIR = Path(f"./finetuned/{RUN_NAME}")
|
||||
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Base model — examples: "meta-llama/Llama-3.1-8B", "Qwen/Qwen2-7B-Instruct", "mistralai/Mistral-7B-Instruct-v0.3"
|
||||
# Prefer an instruction-tuned base for better stability on SFT.
|
||||
BASE_MODEL = "mistralai/Mistral-7B-Instruct-v0.3"
|
||||
|
||||
# Tokenization/prompt formatting
|
||||
SYSTEM_PREFIX = "You are a helpful assistant. Answer concisely and truthfully based ONLY on the user's request."
|
||||
USE_CHAT_TEMPLATE = True # if the tokenizer has a chat template, we'll leverage it
|
||||
|
||||
# QLoRA/PEFT params
|
||||
LORA_R = 16
|
||||
LORA_ALPHA = 32
|
||||
LORA_DROPOUT = 0.05
|
||||
TARGET_MODULES = None # None = let PEFT auto-detect common modules (works for most models)
|
||||
|
||||
# 4-bit quantization (QLoRA)
|
||||
LOAD_IN_4BIT = True
|
||||
BNB_4BIT_COMPUTE_DTYPE = "bfloat16" # "float16" or "bfloat16"
|
||||
BNB_4BIT_QUANT_TYPE = "nf4" # "nf4" or "fp4"
|
||||
BNB_4BIT_USE_DOUBLE_QUANT = True
|
||||
|
||||
# Training
|
||||
TRAIN_VAL_SPLIT = 0.98
|
||||
MAX_SEQ_LEN = 2048
|
||||
PER_DEVICE_TRAIN_BATCH = 1
|
||||
PER_DEVICE_EVAL_BATCH = 1
|
||||
GRADIENT_ACCUM_STEPS = 16
|
||||
LEARNING_RATE = 2e-4
|
||||
NUM_TRAIN_EPOCHS = 2
|
||||
WEIGHT_DECAY = 0.0
|
||||
WARMUP_RATIO = 0.03
|
||||
LR_SCHEDULER_TYPE = "cosine"
|
||||
LOGGING_STEPS = 10
|
||||
EVAL_STEPS = 200
|
||||
SAVE_STEPS = 200
|
||||
BF16 = True
|
||||
FP16 = False
|
||||
|
||||
SEED = 7
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 2) Load dataset (JSONL)"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
import json, random
|
||||
from datasets import Dataset
|
||||
|
||||
def read_jsonl(p: Path):
|
||||
rows = []
|
||||
with p.open("r", encoding="utf-8") as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
try:
|
||||
obj = json.loads(line)
|
||||
if "input" in obj and "output" in obj:
|
||||
rows.append(obj)
|
||||
except Exception:
|
||||
pass
|
||||
return rows
|
||||
|
||||
rows = read_jsonl(DATA_JSONL)
|
||||
print(f"Loaded {len(rows)} rows from {DATA_JSONL}")
|
||||
|
||||
random.Random(SEED).shuffle(rows)
|
||||
split = int(len(rows) * TRAIN_VAL_SPLIT)
|
||||
train_rows = rows[:split]
|
||||
val_rows = rows[split:] if split < len(rows) else rows[-max(1, len(rows)//50):]
|
||||
|
||||
train_ds = Dataset.from_list(train_rows)
|
||||
eval_ds = Dataset.from_list(val_rows) if val_rows else None
|
||||
train_ds, eval_ds
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 3) Prompt formatting"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
from transformers import AutoTokenizer
|
||||
|
||||
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, use_fast=True)
|
||||
if tokenizer.pad_token is None:
|
||||
tokenizer.pad_token = tokenizer.eos_token
|
||||
|
||||
def format_example(ex):
|
||||
user = ex["input"]
|
||||
assistant = ex["output"]
|
||||
|
||||
if USE_CHAT_TEMPLATE and hasattr(tokenizer, "apply_chat_template"):
|
||||
messages = [
|
||||
{"role": "system", "content": SYSTEM_PREFIX},
|
||||
{"role": "user", "content": user},
|
||||
{"role": "assistant", "content": assistant},
|
||||
]
|
||||
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=False)
|
||||
else:
|
||||
text = f"<s>[SYSTEM]\\n{SYSTEM_PREFIX}\\n[/SYSTEM]\\n[USER]\\n{user}\\n[/USER]\\n[ASSISTANT]\\n{assistant}</s>"
|
||||
return {"text": text}
|
||||
|
||||
train_ds_fmt = train_ds.map(format_example, remove_columns=train_ds.column_names)
|
||||
eval_ds_fmt = eval_ds.map(format_example, remove_columns=eval_ds.column_names) if eval_ds else None
|
||||
|
||||
print(train_ds_fmt[0]["text"][:400])
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 4) Tokenize"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
def tokenize(batch):
|
||||
return tokenizer(
|
||||
batch["text"],
|
||||
truncation=True,
|
||||
max_length=MAX_SEQ_LEN,
|
||||
padding="max_length",
|
||||
return_tensors=None,
|
||||
)
|
||||
|
||||
train_tok = train_ds_fmt.map(tokenize, batched=True, remove_columns=train_ds_fmt.column_names)
|
||||
eval_tok = eval_ds_fmt.map(tokenize, batched=True, remove_columns=eval_ds_fmt.column_names) if eval_ds_fmt else None
|
||||
|
||||
train_tok = train_tok.rename_column("input_ids", "input_ids")
|
||||
train_tok = train_tok.add_column("labels", train_tok["input_ids"])
|
||||
if eval_tok:
|
||||
eval_tok = eval_tok.add_column("labels", eval_tok["input_ids"])
|
||||
|
||||
train_tok, (eval_tok[0]['input_ids'][:10] if eval_tok else [])
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"## 5) Load base model with 4-bit quantization and prepare QLoRA"
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
import torch
|
||||
from transformers import AutoModelForCausalLM, BitsAndBytesConfig
|
||||
from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training
|
||||
|
||||
bnb_config = None
|
||||
if LOAD_IN_4BIT:
|
||||
bnb_config = BitsAndBytesConfig(
|
||||
load_in_4bit=True,
|
||||
bnb_4bit_use_double_quant=BNB_4BIT_USE_DOUBLE_QUANT,
|
||||
bnb_4bit_quant_type=BNB_4BIT_QUANT_TYPE,
|
||||
bnb_4bit_compute_dtype=getattr(torch, BNB_4BIT_COMPUTE_DTYPE)
|
||||
)
|
||||
|
||||
model = AutoModelForCausalLM.from_pretrained(
|
||||
BASE_MODEL,
|
||||
quantization_config=bnb_config,
|
||||
torch_dtype=torch.bfloat16 if BF16 else (torch.float16 if FP16 else None),
|
||||
device_map="auto",
|
||||
)
|
||||
|
||||
model = prepare_model_for_kbit_training(model)
|
||||
|
||||
peft_config = LoraConfig(
|
||||
r=LORA_R,
|
||||
lora_alpha=LORA_ALPHA,
|
||||
lora_dropout=LORA_DROPOUT,
|
||||
bias="none",
|
||||
task_type="CAUSAL_LM",
|
||||
target_modules=TARGET_MODULES,
|
||||
)
|
||||
|
||||
model = get_peft_model(model, peft_config)
|
||||
model.print_trainable_parameters()
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 6) Train"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
from transformers import TrainingArguments, Trainer, DataCollatorForLanguageModeling
|
||||
import math
|
||||
|
||||
data_collator = DataCollatorForLanguageModeling(tokenizer=tokenizer, mlm=False)
|
||||
|
||||
args = TrainingArguments(
|
||||
output_dir=str(OUTPUT_DIR),
|
||||
run_name=RUN_NAME,
|
||||
num_train_epochs=NUM_TRAIN_EPOCHS,
|
||||
per_device_train_batch_size=PER_DEVICE_TRAIN_BATCH,
|
||||
per_device_eval_batch_size=PER_DEVICE_EVAL_BATCH,
|
||||
gradient_accumulation_steps=GRADIENT_ACCUM_STEPS,
|
||||
learning_rate=LEARNING_RATE,
|
||||
lr_scheduler_type=LR_SCHEDULER_TYPE,
|
||||
warmup_ratio=WARMUP_RATIO,
|
||||
weight_decay=WEIGHT_DECAY,
|
||||
logging_steps=LOGGING_STEPS,
|
||||
evaluation_strategy="steps",
|
||||
eval_steps=EVAL_STEPS,
|
||||
save_steps=SAVE_STEPS,
|
||||
save_total_limit=2,
|
||||
bf16=BF16,
|
||||
fp16=FP16,
|
||||
gradient_checkpointing=True,
|
||||
report_to=["none"],
|
||||
seed=SEED,
|
||||
)
|
||||
|
||||
trainer = Trainer(
|
||||
model=model,
|
||||
tokenizer=tokenizer,
|
||||
args=args,
|
||||
train_dataset=train_tok,
|
||||
eval_dataset=eval_tok,
|
||||
data_collator=data_collator,
|
||||
)
|
||||
|
||||
train_result = trainer.train()
|
||||
metrics = trainer.evaluate() if eval_tok else {}
|
||||
perplexity = math.exp(metrics["eval_loss"]) if metrics and "eval_loss" in metrics else None
|
||||
metrics, perplexity
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 7) Save LoRA adapters"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
adapter_dir = OUTPUT_DIR / "lora_adapter"
|
||||
adapter_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
model.save_pretrained(str(adapter_dir))
|
||||
tokenizer.save_pretrained(str(adapter_dir))
|
||||
|
||||
print(f"Saved LoRA adapter to: {adapter_dir}")
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"## 8) (Optional) Merge adapters into base model and save full weights"
|
||||
)
|
||||
)
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
DO_MERGE = False # set True to produce a standalone merged model
|
||||
|
||||
if DO_MERGE:
|
||||
from peft import PeftModel
|
||||
base_model = AutoModelForCausalLM.from_pretrained(
|
||||
BASE_MODEL,
|
||||
torch_dtype=torch.bfloat16 if BF16 else (torch.float16 if FP16 else None),
|
||||
device_map="auto",
|
||||
)
|
||||
merged = PeftModel.from_pretrained(base_model, str(adapter_dir)).merge_and_unload()
|
||||
merged_dir = OUTPUT_DIR / "merged_model"
|
||||
merged.save_pretrained(str(merged_dir))
|
||||
tokenizer.save_pretrained(str(merged_dir))
|
||||
print(f"Merged full model saved to: {merged_dir}")
|
||||
else:
|
||||
print("Skipping merge (set DO_MERGE=True to enable).")
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 9) Quick inference with the trained adapter"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
from peft import PeftModel
|
||||
import torch
|
||||
|
||||
test_model = AutoModelForCausalLM.from_pretrained(
|
||||
BASE_MODEL,
|
||||
quantization_config=bnb_config,
|
||||
torch_dtype=torch.bfloat16 if BF16 else (torch.float16 if FP16 else None),
|
||||
device_map="auto",
|
||||
)
|
||||
test_model = PeftModel.from_pretrained(test_model, str(adapter_dir))
|
||||
test_model.eval()
|
||||
|
||||
def generate_answer(prompt, max_new_tokens=256, temperature=0.2, top_p=0.9):
|
||||
if USE_CHAT_TEMPLATE and hasattr(tokenizer, "apply_chat_template"):
|
||||
messages = [
|
||||
{"role": "system", "content": SYSTEM_PREFIX},
|
||||
{"role": "user", "content": prompt},
|
||||
]
|
||||
model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(test_model.device)
|
||||
else:
|
||||
text = f"<s>[SYSTEM]\\n{SYSTEM_PREFIX}\\n[/SYSTEM]\\n[USER]\\n{prompt}\\n[/USER]\\n[ASSISTANT]\\n"
|
||||
model_inputs = tokenizer([text], return_tensors="pt").to(test_model.device)
|
||||
|
||||
with torch.no_grad():
|
||||
out = test_model.generate(
|
||||
**model_inputs,
|
||||
do_sample=True,
|
||||
max_new_tokens=max_new_tokens,
|
||||
temperature=temperature,
|
||||
top_p=top_p,
|
||||
eos_token_id=tokenizer.eos_token_id,
|
||||
pad_token_id=tokenizer.pad_token_id,
|
||||
)
|
||||
return tokenizer.decode(out[0], skip_special_tokens=True)
|
||||
|
||||
sample_prompt = (train_rows[0]["input"] if len(train_rows)>0 else "What are the visitor crowd levels like?")
|
||||
print(generate_answer(sample_prompt)[:800])
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(nbf.v4.new_markdown_cell("## 10) Light evaluation on the validation set"))
|
||||
cells.append(
|
||||
nbf.v4.new_code_cell(
|
||||
"""
|
||||
import evaluate
|
||||
|
||||
if eval_ds:
|
||||
rouge = evaluate.load("rouge")
|
||||
preds, refs = [], []
|
||||
for ex in val_rows[:50]:
|
||||
preds.append(generate_answer(ex["input"], max_new_tokens=192, temperature=0.0))
|
||||
refs.append(ex["output"])
|
||||
results = rouge.compute(predictions=preds, references=refs)
|
||||
print(results)
|
||||
else:
|
||||
print("No eval split available; skipped.")
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
cells.append(
|
||||
nbf.v4.new_markdown_cell(
|
||||
"""
|
||||
## 11) (Optional) Use with other runtimes
|
||||
|
||||
- **Python Inference (PEFT)**: Load base model + adapter as shown in Section 9.
|
||||
- **Merged model**: Set `DO_MERGE=True` to create a standalone model directory; you can then convert to other runtimes (e.g., llama.cpp GGUF) using their conversion tools.
|
||||
- **Ollama**: If your runtime supports adapters or merged weights for the chosen base model, create a `Modelfile` pointing to them. Need a concrete path? Tell me your base and target runtime and I’ll add exact steps.
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
nb["cells"] = cells
|
||||
|
||||
out_path = Path("./raft_finetune_qlora.ipynb")
|
||||
with open(out_path, "w", encoding="utf-8") as f:
|
||||
nbf.write(nb, f)
|
||||
|
||||
str(out_path)
|
||||
505
raft/outputs/raft_dataset_attempt1.jsonl
Normal file
505
raft/outputs/raft_dataset_attempt1.jsonl
Normal file
@@ -0,0 +1,505 @@
|
||||
{"input": "What is the name of the temple mentioned in this text?", "output": "Tanah Lot", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "generated_at": "2025-10-13 17:14:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter the temple?", "output": "20,000 IDR", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "citations": ["(21)"], "generated_at": "2025-10-13 17:14:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good time to visit the temple to avoid crowds?", "output": "Before noon", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "citations": ["(27)"], "generated_at": "2025-10-13 17:14:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen from the cliff top restaurants at Tanah Lot?", "output": "The temple and ocean views", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "citations": ["(51)"], "generated_at": "2025-10-13 17:14:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it safe to visit the temple at high tide or big swell?", "output": "No, it can be dangerous", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "citations": ["(51)"], "generated_at": "2025-10-13 17:14:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good thing to do at sunset when visiting Tanah Lot?", "output": "Watch the Kecak Dance Show", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "citations": ["(21)"], "generated_at": "2025-10-13 17:14:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature about Tanah Lot Temple?", "output": "It was built on rocks in the ocean.", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "generated_at": "2025-10-13 17:14:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should one be prepared for when visiting Tanah Lot Temple?", "output": "Crowds and traffic.", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "generated_at": "2025-10-13 17:14:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can one do besides watching the sunset at Tanah Lot Temple?", "output": "Visit a sizeable market with shops selling various goods, including clothes and souvenirs.", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "generated_at": "2025-10-13 17:14:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction at Tanah Lot temple?", "output": "The main attraction is the breathtaking view, especially during sunset.", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["8b4521ce-1137-41c6-a889-f761eaffc629", "85b78fb3-bffa-46a2-8f8f-75bbc46a5450", "2450a936-1a64-42b3-938d-5c81c42d4f09", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2"], "generated_at": "2025-10-13 17:14:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can non-Balinese people enter the actual temple?", "output": "No, the temple does not allow non-Balinese people to enter.", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["8b4521ce-1137-41c6-a889-f761eaffc629", "85b78fb3-bffa-46a2-8f8f-75bbc46a5450", "2450a936-1a64-42b3-938d-5c81c42d4f09", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2"], "generated_at": "2025-10-13 17:14:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Tanah Lot temple?", "output": "The entrance fee is IDR 60,000 per adult.", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["8b4521ce-1137-41c6-a889-f761eaffc629", "85b78fb3-bffa-46a2-8f8f-75bbc46a5450", "2450a936-1a64-42b3-938d-5c81c42d4f09", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2"], "generated_at": "2025-10-13 17:14:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Tanah Lot Temple?", "output": "30,000 IDR per person", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["b03901f6-3795-43e1-aaa1-1cbfb664bcba", "ef2acae3-c5fe-4b27-a25a-d204dd6a47de", "1d445378-7009-4295-9ff8-8d77f97efedd", "a53d90dc-584e-426a-a2e7-92cdaef78f7e"], "generated_at": "2025-10-13 17:15:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why should I visit Tanah Lot Temple during sunrise or sunset?", "output": "For its exotic location and photography opportunities", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["b03901f6-3795-43e1-aaa1-1cbfb664bcba", "ef2acae3-c5fe-4b27-a25a-d204dd6a47de", "1d445378-7009-4295-9ff8-8d77f97efedd", "a53d90dc-584e-426a-a2e7-92cdaef78f7e"], "citations": ["Perched precariously on tumbling rocks in an outcrop on the crashing waves on a sublime beach one marvels at the builders of this temple for its exotic location,"], "generated_at": "2025-10-13 17:15:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Where is Tanah Lot Temple located?", "output": "Beraban village, south coast of Bali island", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["b03901f6-3795-43e1-aaa1-1cbfb664bcba", "ef2acae3-c5fe-4b27-a25a-d204dd6a47de", "1d445378-7009-4295-9ff8-8d77f97efedd", "a53d90dc-584e-426a-a2e7-92cdaef78f7e"], "generated_at": "2025-10-13 17:15:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear for the sunrise trek?", "output": "Good steady shoes, warm clothes, and a flashlight", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["3e578457-d058-45b5-86c0-c74fdc03d0dc", "9b45f71b-f25a-44e3-85ab-6e18b85e6e14", "73579352-9a34-4935-ac47-a14be3854cd0", "60f71a6a-bf68-48a2-9250-e87bd887a44f"], "generated_at": "2025-10-13 17:15:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I do the sunrise trek without a guide?", "output": "Yes, but be prepared to answer questions from other guides and follow their pace", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["3e578457-d058-45b5-86c0-c74fdc03d0dc", "9b45f71b-f25a-44e3-85ab-6e18b85e6e14", "73579352-9a34-4935-ac47-a14be3854cd0", "60f71a6a-bf68-48a2-9250-e87bd887a44f"], "generated_at": "2025-10-13 17:15:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does the sunrise trek take in total?", "output": "At least 3 hours, including a 90-minute to 2-hour climb and a 90-minute descent", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["3e578457-d058-45b5-86c0-c74fdc03d0dc", "9b45f71b-f25a-44e3-85ab-6e18b85e6e14", "73579352-9a34-4935-ac47-a14be3854cd0", "60f71a6a-bf68-48a2-9250-e87bd887a44f"], "generated_at": "2025-10-13 17:15:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the difficulty level of the hike to the summit of Mount Batur?", "output": "The hike is strenuous, but if you're in somewhat good shape, it should be fine.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["d81cb6eb-ce63-4a79-96d5-781431e9cc5f", "6e931483-8d7f-4e78-b285-7558d8a9f398", "cea91eaf-07cd-4559-af72-b960608e2851", "886d620c-f5d9-4c7c-91ab-6a0bf6e28912"], "generated_at": "2025-10-13 17:15:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I hike to the summit of Mount Batur alone?", "output": "No, locals will tell you that you need to hire a guide for 1.000.000 IDR.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["d81cb6eb-ce63-4a79-96d5-781431e9cc5f", "6e931483-8d7f-4e78-b285-7558d8a9f398", "cea91eaf-07cd-4559-af72-b960608e2851", "886d620c-f5d9-4c7c-91ab-6a0bf6e28912"], "generated_at": "2025-10-13 17:15:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear on the hike to the summit of Mount Batur?", "output": "Bring a jacket, hat, and gloves as it gets cold at the summit.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["d81cb6eb-ce63-4a79-96d5-781431e9cc5f", "6e931483-8d7f-4e78-b285-7558d8a9f398", "cea91eaf-07cd-4559-af72-b960608e2851", "886d620c-f5d9-4c7c-91ab-6a0bf6e28912"], "generated_at": "2025-10-13 17:15:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the difficulty level of hiking Mount Batur?", "output": "A 6.5-7/10 difficulty, comparable to Camelback Mountain in Arizona or Mission Peak in Fremont.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["e2d2a644-c193-4df4-ab6d-403dc0ea2fa9", "cd8e9850-c26c-4441-9d76-5f07f0e1743f", "926cb0b3-a543-4893-b039-b251df00ee51", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "citations": ["It isn't as challenging as everyone says. If you take your time, you'll make it."], "generated_at": "2025-10-13 17:15:18", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up Mount Batur?", "output": "About 2 hours", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["e2d2a644-c193-4df4-ab6d-403dc0ea2fa9", "cd8e9850-c26c-4441-9d76-5f07f0e1743f", "926cb0b3-a543-4893-b039-b251df00ee51", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "generated_at": "2025-10-13 17:15:18", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I be aware of when hiking down Mount Batur?", "output": "Loose rocks and tiredness, which can cause people to fall", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["e2d2a644-c193-4df4-ab6d-403dc0ea2fa9", "cd8e9850-c26c-4441-9d76-5f07f0e1743f", "926cb0b3-a543-4893-b039-b251df00ee51", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "generated_at": "2025-10-13 17:15:18", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to start the trek to Mount Agung?", "output": "3am", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "generated_at": "2025-10-13 17:15:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did it take for the author and their driver to drive from Seminyak to the parking?", "output": "2 hours", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "generated_at": "2025-10-13 17:15:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What was the total cost of the trip including the drive from Seminyak and the guide?", "output": "INSUFFICIENT_CONTEXT", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "generated_at": "2025-10-13 17:15:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much did it cost to pay for the 'sarong' at Lempuyang Temple?", "output": "INSUFFICIENT_CONTEXT", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "generated_at": "2025-10-13 17:15:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What was the name of the guide who helped climb to the top of Mount Batur?", "output": "Kadet", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "citations": ["I was met by Mafia guys .. no joke he had to pay for a guide otherwise he wasn't going to be allowed to get past them."], "generated_at": "2025-10-13 17:15:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did it take to reach the summit of Mount Batur?", "output": "1 hour and 45 minutes", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "generated_at": "2025-10-13 17:15:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of an adult entrance ticket to Uluwatu Temple?", "output": "Rp.30,000", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["0dcb5605-4dff-438e-a474-51e3be6b23d4", "229bae8c-d88f-42e1-ace2-feeb9563b883", "4f7e568e-322d-44e2-880e-11803cefa765", "3a973561-e2ec-4e4a-a975-669375333a4d"], "citations": ["(50) We got our entrance ticket – Adult Rp.30,000 and Child Rp.20,000."], "generated_at": "2025-10-13 17:15:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can visitors protect themselves from aggressive monkeys at Uluwatu Temple?", "output": "Avoid wearing valuables or items that may attract the attention of the monkeys.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["0dcb5605-4dff-438e-a474-51e3be6b23d4", "229bae8c-d88f-42e1-ace2-feeb9563b883", "4f7e568e-322d-44e2-880e-11803cefa765", "3a973561-e2ec-4e4a-a975-669375333a4d"], "generated_at": "2025-10-13 17:15:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some recommended activities to do at Uluwatu Temple?", "output": "Watch the Kecak dance performance and take in the spectacular views.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["0dcb5605-4dff-438e-a474-51e3be6b23d4", "229bae8c-d88f-42e1-ace2-feeb9563b883", "4f7e568e-322d-44e2-880e-11803cefa765", "3a973561-e2ec-4e4a-a975-669375333a4d"], "citations": ["(35) Amazing scenery from Uluwatu Temple. Monkeys are keen to say hi and can be annoying! Be sure to visit the Ketuck dance performance."], "generated_at": "2025-10-13 17:15:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors hire sarongs at Uluwatu Temple?", "output": "Yes, they can buy or rent them.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["0dcb5605-4dff-438e-a474-51e3be6b23d4", "229bae8c-d88f-42e1-ace2-feeb9563b883", "4f7e568e-322d-44e2-880e-11803cefa765", "3a973561-e2ec-4e4a-a975-669375333a4d"], "citations": ["(36) We hired a driver to take us to Uluwatu and Rock bar.\nHe suggested to pick us up at 3pm as the traffic can sometime be terrible . He was right , so glad we left early , had plenty of time to wander around Uluwatu and get some splendid photos. Be aware the you need to be covered up . We had two sarongs with us, but I think they were making you hire them otherwise, so perhaps just chuck one In your bag."], "generated_at": "2025-10-13 17:15:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for the temple?", "output": "Rp20,000", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 17:15:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time is best to visit the temple for a Kecak Fire Dance?", "output": "About 2-3 pm", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 17:15:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of the Kecak Fire Dance?", "output": "Rp100,000", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 17:15:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you not do when interacting with the monkeys at the temple?", "output": "Make eye contact", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 17:15:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended seating area for watching the sunset during the Kecak Fire Dance?", "output": "The middle part", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 17:15:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of renting a sarong to visit the temple?", "output": "INSUFFICIENT_CONTEXT", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 17:15:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the dance performance that takes place at Uluwatu Temple every day?", "output": "Kecak dance", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["29afc1bf-65fa-44a2-94f6-bcc6c29d8155", "07a8ba70-f5df-42bd-8d27-150a22717c41", "d31cb945-b7fc-4a97-95ed-271ead12e874", "63b32ff2-f502-47cd-9c8c-90561fa61d64"], "generated_at": "2025-10-13 17:15:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why should tourists be careful when visiting Uluwatu Temple?", "output": "The monkeys at the temple can be aggressive and may snatch belongings such as glasses, jewelry, or food.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["29afc1bf-65fa-44a2-94f6-bcc6c29d8155", "07a8ba70-f5df-42bd-8d27-150a22717c41", "d31cb945-b7fc-4a97-95ed-271ead12e874", "63b32ff2-f502-47cd-9c8c-90561fa61d64"], "generated_at": "2025-10-13 17:15:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the approximate cost of watching the Kecak Ramayana & Fire Dance at Uluwatu Temple?", "output": "70,000 Rupiah (less than $8 US)", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["29afc1bf-65fa-44a2-94f6-bcc6c29d8155", "07a8ba70-f5df-42bd-8d27-150a22717c41", "d31cb945-b7fc-4a97-95ed-271ead12e874", "63b32ff2-f502-47cd-9c8c-90561fa61d64"], "citations": ["The Kecak Ramayana & Fire Dance is 70,000 Rupiah (less than $8 US)"], "generated_at": "2025-10-13 17:15:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the volcano mentioned in the reviews?", "output": "Mt. Batur", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["d1fa72c0-c5e9-417f-83a2-b73007b6aa60", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61", "d8692a1b-05ab-4aa1-a69c-e736cde560ff", "3d1ccbc2-f623-48f0-8f0e-c634f8be260a"], "generated_at": "2025-10-13 17:15:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up and down Mt. Batur, according to one reviewer?", "output": "2-2.5 hours up and 1.5 hours down", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["d1fa72c0-c5e9-417f-83a2-b73007b6aa60", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61", "d8692a1b-05ab-4aa1-a69c-e736cde560ff", "3d1ccbc2-f623-48f0-8f0e-c634f8be260a"], "generated_at": "2025-10-13 17:15:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique experience mentioned by one reviewer as part of the trip to Mt. Batur?", "output": "Hiking up the mountain under the stars using a flashlight", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["d1fa72c0-c5e9-417f-83a2-b73007b6aa60", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61", "d8692a1b-05ab-4aa1-a69c-e736cde560ff", "3d1ccbc2-f623-48f0-8f0e-c634f8be260a"], "generated_at": "2025-10-13 17:15:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the difficulty level of the hike mentioned in these reviews?", "output": "Moderate to challenging", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["315134ca-6ca2-4851-9592-4c134d3cd6bf", "97fd3d2d-87a6-4ad4-a7f6-2d9a0b16c4ac", "31b48523-eab3-4c20-a609-1663ef20be90", "6f3de7eb-65d2-4426-9877-f2b5a037c3fe"], "generated_at": "2025-10-13 17:16:02", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did it take to reach the summit for one of the climbers?", "output": "1 hour and 20 minutes", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["315134ca-6ca2-4851-9592-4c134d3cd6bf", "97fd3d2d-87a6-4ad4-a7f6-2d9a0b16c4ac", "31b48523-eab3-4c20-a609-1663ef20be90", "6f3de7eb-65d2-4426-9877-f2b5a037c3fe"], "generated_at": "2025-10-13 17:16:02", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What did the guides offer to the climbers at the top of the volcano?", "output": "Bananas, eggs, and possibly other snacks", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["315134ca-6ca2-4851-9592-4c134d3cd6bf", "97fd3d2d-87a6-4ad4-a7f6-2d9a0b16c4ac", "31b48523-eab3-4c20-a609-1663ef20be90", "6f3de7eb-65d2-4426-9877-f2b5a037c3fe"], "generated_at": "2025-10-13 17:16:02", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear on the hike?", "output": "Hiking shoes, pants, a light jacket, gloves, and layers for chilly weather.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["dea904f8-7fc6-4b7c-9665-e82f7c654d88", "238247ad-4fed-442d-81ce-912c298340b8", "cb17196f-7b0f-429b-bdaf-27526dc85c20", "6c43684b-cc4a-4619-bc96-05fdc12a6c8d"], "generated_at": "2025-10-13 17:16:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to descend Mount Batur?", "output": "Up to 8 hours.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["dea904f8-7fc6-4b7c-9665-e82f7c654d88", "238247ad-4fed-442d-81ce-912c298340b8", "cb17196f-7b0f-429b-bdaf-27526dc85c20", "6c43684b-cc4a-4619-bc96-05fdc12a6c8d"], "citations": ["I recommend bringing..."], "generated_at": "2025-10-13 17:16:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time should I start the hike if I'm a beginner?", "output": "2 AM or earlier, depending on your pace.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["dea904f8-7fc6-4b7c-9665-e82f7c654d88", "238247ad-4fed-442d-81ce-912c298340b8", "cb17196f-7b0f-429b-bdaf-27526dc85c20", "6c43684b-cc4a-4619-bc96-05fdc12a6c8d"], "generated_at": "2025-10-13 17:16:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended fitness level for climbing this mountain?", "output": "Anyone with a reasonable fitness can scale it.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["642b21a6-0879-486f-beef-e37860224e5a", "2c39b70c-8ade-4239-b9ae-291ceed88b67", "14aef982-1eac-473a-931c-8867a385fc98", "487031a0-b0ea-4991-9549-f6d3de939bd9"], "citations": ["6. As this is a non-technical climb, anyone with a reasonable fitness is able to scale it."], "generated_at": "2025-10-13 17:16:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to reach the top of the mountain?", "output": "It takes about 1-30 to 2 hours to go to the top.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["642b21a6-0879-486f-beef-e37860224e5a", "2c39b70c-8ade-4239-b9ae-291ceed88b67", "14aef982-1eac-473a-931c-8867a385fc98", "487031a0-b0ea-4991-9549-f6d3de939bd9"], "citations": ["If u are travelling in rainy season (like we did) make sure u have a raincoat with you... It takes about 1-30 to 2hrs to go to the top..."], "generated_at": "2025-10-13 17:16:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the reason for the accident that happened on this mountain?", "output": "Ego led to the fall, according to the guide.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["642b21a6-0879-486f-beef-e37860224e5a", "2c39b70c-8ade-4239-b9ae-291ceed88b67", "14aef982-1eac-473a-931c-8867a385fc98", "487031a0-b0ea-4991-9549-f6d3de939bd9"], "citations": ["I asked my guide about it and he said that it was ego that led to the fall."], "generated_at": "2025-10-13 17:16:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of the temple grounds?", "output": "The view from around the temple grounds is truly spectacular", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "citations": ["Great temple and perfirmance of tari Kecak.. and the sunset ooooh so beautiful."], "generated_at": "2025-10-13 17:16:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is it recommended to visit this temple?", "output": "It's a must-to-visit place when you are in Bali, with great views and performances", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "citations": ["Great temple and perfirmance of tari Kecak.. and the sunset ooooh so beautiful. It's a must-to-visit place when you are in Bali"], "generated_at": "2025-10-13 17:16:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the temple architecture?", "output": "The temple itself is not as decorated as other temples", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "citations": ["I think it doesn't worth the drive to go for the temple unless you want to experience the history."], "generated_at": "2025-10-13 17:16:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at this temple?", "output": "The traditional dance in the evening is a delight", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "citations": ["Traditional dance in the evening is a delight."], "generated_at": "2025-10-13 17:16:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended time to visit this temple?", "output": "It's best to go early morning or late afternoon due to extreme heat", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "citations": ["The views are beautiful and it's a really nice place to visit. It gets extremely hot throughout the day, best to go early morning or late afternoon."], "generated_at": "2025-10-13 17:16:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the behavior of monkeys at Uluwatu Temple?", "output": "They can be aggressive in snatching visitors' items, including glasses and hats.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["af803e0e-149e-47e8-b798-32a2baa9711f", "f51b2824-0ab0-4a75-bb20-b17aa4802f85", "701319e4-6e10-4b44-8ba2-16ddbdf8483e", "43fb4e3e-0d6d-46ba-af04-955bc79bad4e"], "generated_at": "2025-10-13 17:16:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can you protect your belongings from monkeys at the temple?", "output": "Keep them secure and be aware of your surroundings, as the monkeys are sneaky.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["af803e0e-149e-47e8-b798-32a2baa9711f", "f51b2824-0ab0-4a75-bb20-b17aa4802f85", "701319e4-6e10-4b44-8ba2-16ddbdf8483e", "43fb4e3e-0d6d-46ba-af04-955bc79bad4e"], "generated_at": "2025-10-13 17:16:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What happened to the writer's glasses at Uluwatu Temple?", "output": "They were snatched by a monkey and broken, but the writer was able to recover them with the help of a park guide.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["af803e0e-149e-47e8-b798-32a2baa9711f", "f51b2824-0ab0-4a75-bb20-b17aa4802f85", "701319e4-6e10-4b44-8ba2-16ddbdf8483e", "43fb4e3e-0d6d-46ba-af04-955bc79bad4e"], "citations": ["I screamed in shock and fortunately there was a park guide nearby who heard my scream and quickly came to my rescue."], "generated_at": "2025-10-13 17:16:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of the temple's surroundings?", "output": "Aggressive monkeys that steal belongings", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["0b51ab06-b7b2-49e7-9416-a696040a49c8", "7c68b002-d1b6-4517-8be7-ed52928de15c", "2b3cc895-eeeb-4760-a737-5e7ab44f5afd", "11092baa-9847-45a7-93a5-12821b3576ab"], "generated_at": "2025-10-13 17:16:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why should tourists be cautious when visiting this location?", "output": "The aggressive monkeys may take your belongings, including phones and sunglasses", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["0b51ab06-b7b2-49e7-9416-a696040a49c8", "7c68b002-d1b6-4517-8be7-ed52928de15c", "2b3cc895-eeeb-4760-a737-5e7ab44f5afd", "11092baa-9847-45a7-93a5-12821b3576ab"], "citations": ["BE CAREFUL WITH THE MONKEYS - THEY ARE A BIT AGGRESSIVE & THEY STEAL PHONES AND SUNGLASSES!"], "generated_at": "2025-10-13 17:16:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity for tourists at this temple?", "output": "Watching the Kecak dance/theater show", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["0b51ab06-b7b2-49e7-9416-a696040a49c8", "7c68b002-d1b6-4517-8be7-ed52928de15c", "2b3cc895-eeeb-4760-a737-5e7ab44f5afd", "11092baa-9847-45a7-93a5-12821b3576ab"], "generated_at": "2025-10-13 17:16:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you do if a monkey takes your sunglasses?", "output": "Keep alert and secure them, as the monkeys will steal them quickly.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["3bd3ee14-cbb6-4156-a6fd-2dbe622bf6ee", "dd79172d-96eb-44ad-b727-b347a58e2e19", "c87542c9-2fa3-41f1-a06b-68dbc7c426ee", "c34bef1c-fc03-407b-b7b4-e78ec91b73d9"], "generated_at": "2025-10-13 17:16:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting this temple?", "output": "Yes, for the stunning views of the sea and cliffs, even if the temple itself is not impressive.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["3bd3ee14-cbb6-4156-a6fd-2dbe622bf6ee", "dd79172d-96eb-44ad-b727-b347a58e2e19", "c87542c9-2fa3-41f1-a06b-68dbc7c426ee", "c34bef1c-fc03-407b-b7b4-e78ec91b73d9"], "generated_at": "2025-10-13 17:16:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can you protect your belongings from monkeys?", "output": "Don't feed them, keep food out of sight, and don't directly look into their eyes or disturb them.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["3bd3ee14-cbb6-4156-a6fd-2dbe622bf6ee", "dd79172d-96eb-44ad-b727-b347a58e2e19", "c87542c9-2fa3-41f1-a06b-68dbc7c426ee", "c34bef1c-fc03-407b-b7b4-e78ec91b73d9"], "generated_at": "2025-10-13 17:16:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction at this temple?", "output": "The Kecak Dance", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["a0eb8bea-0e78-4c64-9400-b083eda99e36", "1fa80ab2-11bc-4874-9af4-36b7c0cf8689", "fd0f2377-b3a1-4eb6-93d3-a907fcff969f", "fdde2eae-8f8d-4121-8d8a-5f7f53117cd1"], "citations": ["What a place. It's one of the best place I visited in entire South Asia.", "The tranquility of the place is no doubt the best Bali."], "generated_at": "2025-10-13 17:16:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do visitors protect their belongings from monkeys?", "output": "They should keep a close eye on their belongings, especially shiny objects like sunglasses and mobile phones", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["a0eb8bea-0e78-4c64-9400-b083eda99e36", "1fa80ab2-11bc-4874-9af4-36b7c0cf8689", "fd0f2377-b3a1-4eb6-93d3-a907fcff969f", "fdde2eae-8f8d-4121-8d8a-5f7f53117cd1"], "citations": ["They are cute but have the inclination to steal any loose item (hat, bag, sunnies) so I don't recommend engaging with them."], "generated_at": "2025-10-13 17:16:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I be aware of when visiting this temple?", "output": "The monkeys can be aggressive and steal items, so it's essential to keep a close eye on your belongings.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["eff2afba-cfd5-4da6-8b74-bb0fe9b283f5", "8dca2415-06a5-4ccc-b844-7d3b0a028655", "82ad0fc1-51d1-426f-9588-19784c85754f", "b51aebc1-0a48-4b13-a476-fa8a1c794519"], "citations": ["that is what happened to my husband and a local man, used to that, had to give a banana to the monkey in order to get them back."], "generated_at": "2025-10-13 17:16:46", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting this temple for its dance performance?", "output": "Yes, but arrive early to secure a good spot as the amphitheatre can fill up quickly.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["eff2afba-cfd5-4da6-8b74-bb0fe9b283f5", "8dca2415-06a5-4ccc-b844-7d3b0a028655", "82ad0fc1-51d1-426f-9588-19784c85754f", "b51aebc1-0a48-4b13-a476-fa8a1c794519"], "citations": ["the dance performance starts at 6 pm so better be there around 5.30 to save your place in the stone amphitheatre."], "generated_at": "2025-10-13 17:16:46", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you wear to protect yourself from the monkeys?", "output": "Sarongs and sashes provided by the temple", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["7de3f1fb-4def-46c8-851f-b15cfc8a5bc8", "987538cc-6553-4852-9bd6-f1681acad185", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "8c26f36b-f9c7-47bd-baf4-a5bcabea33c3"], "generated_at": "2025-10-13 17:16:51", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I bring food or drinks to the temple?", "output": "No, as monkeys can jump up and try to grab them", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["7de3f1fb-4def-46c8-851f-b15cfc8a5bc8", "987538cc-6553-4852-9bd6-f1681acad185", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "8c26f36b-f9c7-47bd-baf4-a5bcabea33c3"], "citations": ["When walking towards the Temple along a wide, tree-lined path, beware of the monkeys which roam about at will. Be very sure not to have any food or drink in your bag or hand, as the monkeys can jump up on you and try to grab things."], "generated_at": "2025-10-13 17:16:51", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction at this temple?", "output": "The view", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["7de3f1fb-4def-46c8-851f-b15cfc8a5bc8", "987538cc-6553-4852-9bd6-f1681acad185", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "8c26f36b-f9c7-47bd-baf4-a5bcabea33c3"], "citations": ["Temple is not the main attraction. It's the view."], "generated_at": "2025-10-13 17:16:51", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you wear to visit Uluwatu Temple?", "output": "You should wear full-length clothes or take a sarong, as some temples may not allow visitors wearing dresses, skirts, shorts, etc.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "generated_at": "2025-10-13 17:16:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can you protect your belongings from the monkeys at Uluwatu Temple?", "output": "You can bring some fruits to distract them, or have a driver with you who can help protect your belongings and even bribe the monkeys to let you take pictures.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "citations": ["Our driver was able to protect us from the monkeys and even managed to bribe them so we could take pictures with them."], "generated_at": "2025-10-13 17:16:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the Kecak dance performance at Uluwatu Temple?", "output": "It's an enchanting performance that takes about an hour, and it's worth seeing.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "citations": ["Around sunset there is a small theater on the temple grounds also an enchanting performance of the Kecak dance."], "generated_at": "2025-10-13 17:16:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Uluwatu Temple?", "output": "During sunset", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 17:17:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak dance performance?", "output": "IDR 100K for an hour performance", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 17:17:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any shops to buy snacks and water near Uluwatu Temple?", "output": "No, it's recommended to bring plenty of water and snacks as there aren't any shops nearby", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 17:17:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear to enter Uluwatu Temple?", "output": "You must wear a sarong/cover your knee and shoulder", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 17:17:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does the Kecak dance performance last?", "output": "About an hour, from 6 pm to 7 pm", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 17:17:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the dance performance at Uluwatu Temple?", "output": "Kecak dance", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 17:17:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I be careful about when visiting Uluwatu Temple?", "output": "The monkeys that might steal your belongings", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 17:17:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is special about Uluwatu Temple?", "output": "It offers breathtaking views, beautiful architecture, and a brilliant performance of the famous Balinese Kecak Dance.", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "citations": ["You have to be prepared to travel to this place though...", "The view from the cliff was amazing."], "generated_at": "2025-10-13 17:17:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of dance is performed at Uluwatu Temple?", "output": "Kecak Dance and Fire Dance", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "citations": ["If you have not seen a Kecak dance before...", "the best Kecak Dance by sunset."], "generated_at": "2025-10-13 17:17:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time is the Kecak and Fire Dance performed?", "output": "6 pm", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "citations": ["side of the temple, the temple offers a Kecak and Fire Dance...", "at 6 pm.soo very nice temple for to see when you are in Bali island."], "generated_at": "2025-10-13 17:17:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Uluwatu Temple?", "output": "20,000 IDR per person", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["0dfd108c-d407-49e5-a831-5ed2bdc82925", "608c5b6d-9490-41c6-975d-0c2094f3ea66", "41519b32-c89c-49bd-876f-c584990b2b1e", "732b9384-39dc-4da7-adb5-7b0b8208605b"], "generated_at": "2025-10-13 17:17:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do I dress to visit Uluwatu Temple?", "output": "You can borrow a scarf or sarong for free, and it's okay to wear sleeveless tops", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["0dfd108c-d407-49e5-a831-5ed2bdc82925", "608c5b6d-9490-41c6-975d-0c2094f3ea66", "41519b32-c89c-49bd-876f-c584990b2b1e", "732b9384-39dc-4da7-adb5-7b0b8208605b"], "citations": ["No need to worry about attire..."], "generated_at": "2025-10-13 17:17:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the Kecak dance performance like?", "output": "It tells the story of Ramayana through singing, acting, and dancing", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["0dfd108c-d407-49e5-a831-5ed2bdc82925", "608c5b6d-9490-41c6-975d-0c2094f3ea66", "41519b32-c89c-49bd-876f-c584990b2b1e", "732b9384-39dc-4da7-adb5-7b0b8208605b"], "citations": ["This dance performance is worth experiencing..."], "generated_at": "2025-10-13 17:17:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to visit Uluwatu Temple for sunset?", "output": "around 4:30 PM to get a good spot", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["abe742f7-a9a1-405d-9990-d5bc70284cb7", "07c72af3-59ae-40ad-8ea3-509853fd005e", "6ceb2e3e-16a5-4202-82d5-785c9f7bde14", "ad055029-ace7-4b82-8629-3ddcca6938c0"], "citations": ["(39) Try to be there before sunset and enjoy the beauty and vastness of the setting sun, mountain and ocean."], "generated_at": "2025-10-13 17:17:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can tourists enter the Uluwatu Temple?", "output": "no, it's reserved for worshipers", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["abe742f7-a9a1-405d-9990-d5bc70284cb7", "07c72af3-59ae-40ad-8ea3-509853fd005e", "6ceb2e3e-16a5-4202-82d5-785c9f7bde14", "ad055029-ace7-4b82-8629-3ddcca6938c0"], "citations": ["(43) 1. If you plan to visit Uluwatu Temple just for the sake of taking pictures, please consider doing other things too such as having dinner, watching the Kecak dance during sunset, feeding monkeys etc as there is a lot of traffic going in and out of Uluwatu."], "generated_at": "2025-10-13 17:17:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of dance performance can be seen at Uluwatu Temple?", "output": "Kecak Fire Dance, which depicts the story of Ramayana", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["abe742f7-a9a1-405d-9990-d5bc70284cb7", "07c72af3-59ae-40ad-8ea3-509853fd005e", "6ceb2e3e-16a5-4202-82d5-785c9f7bde14", "ad055029-ace7-4b82-8629-3ddcca6938c0"], "citations": ["(41) The Kachak Dance show was incredible. This show depicts Few stories of Ramayana."], "generated_at": "2025-10-13 17:17:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of clothing is recommended for the Mount Batur trek?", "output": "Warm clothing, including a fleece or jacket", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["2b1cdc43-c1d6-4086-a524-dabdef55d020", "d6407a58-2227-4c98-8bac-71e5c84f994b", "714e8fdd-801b-410a-ae29-50280b21247d", "d670c23b-bef7-4f01-8dcf-cf09c9207ad2"], "generated_at": "2025-10-13 17:17:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to reach the summit of Mount Batur?", "output": "2 hours from the base of the volcano", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["2b1cdc43-c1d6-4086-a524-dabdef55d020", "d6407a58-2227-4c98-8bac-71e5c84f994b", "714e8fdd-801b-410a-ae29-50280b21247d", "d670c23b-bef7-4f01-8dcf-cf09c9207ad2"], "generated_at": "2025-10-13 17:17:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you bring with you on the Mount Batur trek?", "output": "Trekking shoes, head lamps or request from tour operator, jacket or layers for cold weather, snacks and water", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["2b1cdc43-c1d6-4086-a524-dabdef55d020", "d6407a58-2227-4c98-8bac-71e5c84f994b", "714e8fdd-801b-410a-ae29-50280b21247d", "d670c23b-bef7-4f01-8dcf-cf09c9207ad2"], "generated_at": "2025-10-13 17:17:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the difficulty level of climbing Mount Batur?", "output": "Moderate to challenging", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["831c6aa4-6f99-49dd-8cdb-d88a293f62ae", "49f71619-5d1d-4afb-8537-e705001814d4", "d06a7979-9d80-40b8-accf-2f718a94890a", "bddf63f3-3dc0-4bf3-b133-172f44d277dd"], "generated_at": "2025-10-13 17:17:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to hire a guide for the hike?", "output": "IDR 300,000", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["831c6aa4-6f99-49dd-8cdb-d88a293f62ae", "49f71619-5d1d-4afb-8537-e705001814d4", "d06a7979-9d80-40b8-accf-2f718a94890a", "bddf63f3-3dc0-4bf3-b133-172f44d277dd"], "generated_at": "2025-10-13 17:17:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some safety precautions to take during the hike?", "output": "Be careful when walking around the caldera, as it can be narrow and have steep drops on either side.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["831c6aa4-6f99-49dd-8cdb-d88a293f62ae", "49f71619-5d1d-4afb-8537-e705001814d4", "d06a7979-9d80-40b8-accf-2f718a94890a", "bddf63f3-3dc0-4bf3-b133-172f44d277dd"], "generated_at": "2025-10-13 17:17:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to start hiking Mount Batur?", "output": "4 am", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["4c25eb1b-5a8d-4182-9761-a29103b221b3", "b3f2dd38-c7ba-4000-b73d-93a6e112ae77", "331f41eb-1cd6-4fc1-b517-29803459286c", "f2100fcb-0adb-4fc4-9eb5-a8c67d333ec2"], "citations": ["We started at 4 and were at the top at 6 and the sun was up at 6.30."], "generated_at": "2025-10-13 17:17:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the difficulty level of climbing Mount Batur?", "output": "Easy trek", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["4c25eb1b-5a8d-4182-9761-a29103b221b3", "b3f2dd38-c7ba-4000-b73d-93a6e112ae77", "331f41eb-1cd6-4fc1-b517-29803459286c", "f2100fcb-0adb-4fc4-9eb5-a8c67d333ec2"], "generated_at": "2025-10-13 17:17:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you describe the weather conditions for watching the sunrise from Kintamani?", "output": "There was cloud cover so we didn't have a spectacular sunrise but we did get beautiful views of the three mountains.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["4c25eb1b-5a8d-4182-9761-a29103b221b3", "b3f2dd38-c7ba-4000-b73d-93a6e112ae77", "331f41eb-1cd6-4fc1-b517-29803459286c", "f2100fcb-0adb-4fc4-9eb5-a8c67d333ec2"], "citations": ["It was a bit chilly at the top (so be prepared with hats, scarves and jackets).\nThere was cloud cover so we didn't have a spectacular sunrise but we did get beautiful views of the three mountains,"], "generated_at": "2025-10-13 17:17:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the volcano in Bali?", "output": "Batur", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["b0aa38a2-373e-4bc0-92f5-ffa231b8355e", "cd050985-101b-45c7-8f7d-222c9e1a9396", "e307c2e7-1982-46bc-9e7a-0ea170d42efa", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc"], "generated_at": "2025-10-13 17:17:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to reach the base of Batur volcano from Canggu?", "output": "2 hours", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["b0aa38a2-373e-4bc0-92f5-ffa231b8355e", "cd050985-101b-45c7-8f7d-222c9e1a9396", "e307c2e7-1982-46bc-9e7a-0ea170d42efa", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc"], "citations": ["It too about 2 hours to reach the base of volcano,"], "generated_at": "2025-10-13 17:17:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of shoes is recommended for climbing Batur volcano?", "output": "hiking shoes or sport shoes with good gear", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["b0aa38a2-373e-4bc0-92f5-ffa231b8355e", "cd050985-101b-45c7-8f7d-222c9e1a9396", "e307c2e7-1982-46bc-9e7a-0ea170d42efa", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc"], "citations": ["will be better wear hiking shoes or sport shoes w/good gear."], "generated_at": "2025-10-13 17:17:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction at this temple?", "output": "The sunset and view", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["f23eb4a2-d00f-4502-9e0d-ff9171da45ad", "ec584975-0903-40f9-bc4a-e4daef0b1b4c", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "1d60ed73-5e18-48c1-872e-da36f822d7f6"], "generated_at": "2025-10-13 17:17:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any concerns when visiting the temple with children?", "output": "Yes, be aware of the monkeys that can grab shiny objects", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["f23eb4a2-d00f-4502-9e0d-ff9171da45ad", "ec584975-0903-40f9-bc4a-e4daef0b1b4c", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "1d60ed73-5e18-48c1-872e-da36f822d7f6"], "generated_at": "2025-10-13 17:17:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of dance is performed at this temple?", "output": "Kecak dance and fire dance", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "citations": ["The kecak dance there is something not to be missed and worth every dime."], "chunk_ids": ["f23eb4a2-d00f-4502-9e0d-ff9171da45ad", "ec584975-0903-40f9-bc4a-e4daef0b1b4c", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "1d60ed73-5e18-48c1-872e-da36f822d7f6"], "generated_at": "2025-10-13 17:17:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the famous dance performance that takes place at this temple?", "output": "Kecak Dance", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "generated_at": "2025-10-13 17:17:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak dance performance?", "output": "IDR70,000/person", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "citations": ["The kecak dance cost IDR70,000/person"], "generated_at": "2025-10-13 17:17:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time should you arrive at the temple to get a good seat for the Kecak dance?", "output": "At least an hour before the attraction starts", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "citations": ["Make sure you arrive here an hour before the attraction start or you'll ended sitting on the floor like me and missed out the sun set."], "generated_at": "2025-10-13 17:17:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is special about this temple's location?", "output": "It's located on a cliff", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "generated_at": "2025-10-13 17:17:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you take photos inside the temple?", "output": "No, it is closed to tourists", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "citations": ["you can only take photos at various gates"], "generated_at": "2025-10-13 17:17:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the view like from the cliff?", "output": "Beautiful, with a stunning sunset and ocean view", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "citations": ["The view from the cliff is simply stunning"], "generated_at": "2025-10-13 17:17:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to watch the Kecak dance?", "output": "6pm", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["12650122-157e-48dc-861c-cc58134765a8", "8cea135b-a7da-47e9-bf2f-1491068bf180", "99076811-2d04-40f4-bb9e-7e4d0499feca", "65ab406b-c8ba-4d5c-ac39-662c122800fd"], "generated_at": "2025-10-13 17:17:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does a ticket for the fire dance cost?", "output": "100,000 IDR per person", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "citations": ["(39)", "(40)"], "chunk_ids": ["12650122-157e-48dc-861c-cc58134765a8", "8cea135b-a7da-47e9-bf2f-1491068bf180", "99076811-2d04-40f4-bb9e-7e4d0499feca", "65ab406b-c8ba-4d5c-ac39-662c122800fd"], "generated_at": "2025-10-13 17:17:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Uluwatu for photography?", "output": "5pm", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["12650122-157e-48dc-861c-cc58134765a8", "8cea135b-a7da-47e9-bf2f-1491068bf180", "99076811-2d04-40f4-bb9e-7e4d0499feca", "65ab406b-c8ba-4d5c-ac39-662c122800fd"], "generated_at": "2025-10-13 17:17:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the traditional dance performed at this temple?", "output": "Kecak Dance", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["73bbb438-0903-46d7-b5f2-3c97b02044eb", "5004ca75-246c-4a93-8900-1224e8f4b1f8", "08374f80-e183-49e6-99b4-9ef9eb4bebd7", "7ac7ac2e-641d-4bba-84e6-ca0125612bc5"], "generated_at": "2025-10-13 17:18:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Should I arrive early to get a seat with a good view of the temple?", "output": "Yes, it is recommended to arrive well ahead of time.", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["73bbb438-0903-46d7-b5f2-3c97b02044eb", "5004ca75-246c-4a93-8900-1224e8f4b1f8", "08374f80-e183-49e6-99b4-9ef9eb4bebd7", "7ac7ac2e-641d-4bba-84e6-ca0125612bc5"], "citations": ["\"Make sure to be at dance arena well ahead of time though to get a seat with view of the temple.\""], "generated_at": "2025-10-13 17:18:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is the temple open to the public for exploration?", "output": "No, it is not open to the public.", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["73bbb438-0903-46d7-b5f2-3c97b02044eb", "5004ca75-246c-4a93-8900-1224e8f4b1f8", "08374f80-e183-49e6-99b4-9ef9eb4bebd7", "7ac7ac2e-641d-4bba-84e6-ca0125612bc5"], "citations": ["\"Just don't go with the expectation of wandering around the temple, as it's not open to the public.\""], "generated_at": "2025-10-13 17:18:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists be careful about when visiting this temple?", "output": "The monkeys that live there.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["b6629dd1-069b-4089-8537-8e8a1691a8fb", "a6c05952-862c-482a-967e-24b55a7082f0", "eb083131-d65d-4bf9-a15d-047345f571f8", "f0982348-22f8-4c66-a016-df70f0a7bf85"], "generated_at": "2025-10-13 17:18:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do visitors dress for the temple?", "output": "The temple will provide sarongs/sashes to visitors.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["b6629dd1-069b-4089-8537-8e8a1691a8fb", "a6c05952-862c-482a-967e-24b55a7082f0", "eb083131-d65d-4bf9-a15d-047345f571f8", "f0982348-22f8-4c66-a016-df70f0a7bf85"], "generated_at": "2025-10-13 17:18:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can tourists do to prevent monkeys from stealing their belongings?", "output": "They should be aware of their belongings and not leave them unattended.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["b6629dd1-069b-4089-8537-8e8a1691a8fb", "a6c05952-862c-482a-967e-24b55a7082f0", "eb083131-d65d-4bf9-a15d-047345f571f8", "f0982348-22f8-4c66-a016-df70f0a7bf85"], "generated_at": "2025-10-13 17:18:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple mentioned in these reviews?", "output": "Uluwatu Temple", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "generated_at": "2025-10-13 17:18:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What kind of wildlife can be found at Uluwatu Temple?", "output": "Monkeys", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "citations": ["We did see a young girl lose a flip flop for a few minutes and most people were enchanted by being able to see and photograph the monkeys close up.", "The monkeys are cheeky and can be aggressive so do heed the warnings about them."], "generated_at": "2025-10-13 17:18:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it possible to enter the temple at Uluwatu?", "output": "No", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "generated_at": "2025-10-13 17:18:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors wear to show respect at this temple?", "output": "Sarongs are required, and they are available for free at the ticket counter.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["41ff9593-d7dd-4f1c-aa38-b177dde54814", "376aa759-b555-4849-8b83-a9f071155846", "fb095731-8628-498f-a762-817935b01219", "fa91daab-83d3-4b86-8ccf-8458aa926f3d"], "generated_at": "2025-10-13 17:18:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a common problem that visitors face at this temple?", "output": "The monkeys can be aggressive and snatch sunglasses, phones, etc.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["41ff9593-d7dd-4f1c-aa38-b177dde54814", "376aa759-b555-4849-8b83-a9f071155846", "fb095731-8628-498f-a762-817935b01219", "fa91daab-83d3-4b86-8ccf-8458aa926f3d"], "generated_at": "2025-10-13 17:18:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What makes this temple a must-visit during sunset?", "output": "The stunning views of the sea and the cliffs, as well as the sunset dance performance.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["41ff9593-d7dd-4f1c-aa38-b177dde54814", "376aa759-b555-4849-8b83-a9f071155846", "fb095731-8628-498f-a762-817935b01219", "fa91daab-83d3-4b86-8ccf-8458aa926f3d"], "generated_at": "2025-10-13 17:18:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the location of the temple described in the text?", "output": "It is located on a cliff overlooking the Indian Ocean.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["f5a68853-93da-46d7-bcef-3c25e3d80acc", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "df51eb72-33de-4f82-9277-f199e3472de3", "94fb061b-ee15-42dd-beb9-91354486fa18"], "generated_at": "2025-10-13 17:18:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of dance is performed at the temple?", "output": "The Kecak fire dance, a traditional Balinese performance.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["f5a68853-93da-46d7-bcef-3c25e3d80acc", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "df51eb72-33de-4f82-9277-f199e3472de3", "94fb061b-ee15-42dd-beb9-91354486fa18"], "generated_at": "2025-10-13 17:18:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What precautions should visitors take when visiting the temple?", "output": "Keep loose items like mobile phones and sunglasses secure, as monkeys may steal them.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["f5a68853-93da-46d7-bcef-3c25e3d80acc", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "df51eb72-33de-4f82-9277-f199e3472de3", "94fb061b-ee15-42dd-beb9-91354486fa18"], "citations": ["1. many monkeys as you enter the temple, keep your belongings in your bag especially loose items like mobile phones and sunglasses."], "generated_at": "2025-10-13 17:18:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for this temple?", "output": "30,000 Rp per person", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["62cd1988-013d-4ebd-bb08-5dec405c747c", "5bd23d25-8a24-46e8-bd15-0bf7486e242f", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2", "6253a704-8504-419f-885b-06b87a3af76a"], "generated_at": "2025-10-13 17:18:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why should I visit the Ulun Danu Temple?", "output": "It has beautiful views, a lake surrounded by mountains, and a unique temple.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["62cd1988-013d-4ebd-bb08-5dec405c747c", "5bd23d25-8a24-46e8-bd15-0bf7486e242f", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2", "6253a704-8504-419f-885b-06b87a3af76a"], "generated_at": "2025-10-13 17:18:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any specific times or days to avoid visiting this temple?", "output": "Yes, it's best to visit in the morning and not on holidays, as it can be crowded with tourists.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["62cd1988-013d-4ebd-bb08-5dec405c747c", "5bd23d25-8a24-46e8-bd15-0bf7486e242f", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2", "6253a704-8504-419f-885b-06b87a3af76a"], "generated_at": "2025-10-13 17:18:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the reaction of tourists to the temple in Bali?", "output": "Many tourists feel that the temple has lost its holiness due to excessive tourism.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["f1c2a75d-5fca-4464-a4f7-848ffaf2335e", "adb73191-4648-4292-8aad-516f6d5850e5", "06483297-bdbe-4e55-abce-018b97cd6f6e", "2e116ec9-4d0e-4b7c-8e65-e06a0122f898"], "generated_at": "2025-10-13 17:18:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why was the author unable to enter the temple?", "output": "The temple was closed for a ceremony, and later it was explained that many temples in Bali are closed due to tourists.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["f1c2a75d-5fca-4464-a4f7-848ffaf2335e", "adb73191-4648-4292-8aad-516f6d5850e5", "06483297-bdbe-4e55-abce-018b97cd6f6e", "2e116ec9-4d0e-4b7c-8e65-e06a0122f898"], "generated_at": "2025-10-13 17:18:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the author's opinion on the commercialization of the temple?", "output": "The author expresses disappointment and frustration with the commercialization, citing fake reflections and overpriced amenities.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["f1c2a75d-5fca-4464-a4f7-848ffaf2335e", "adb73191-4648-4292-8aad-516f6d5850e5", "06483297-bdbe-4e55-abce-018b97cd6f6e", "2e116ec9-4d0e-4b7c-8e65-e06a0122f898"], "generated_at": "2025-10-13 17:18:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the Hindu temple in Bali that offers boating services?", "output": "Ulun Danu Bratan Temple", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "generated_at": "2025-10-13 17:18:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much is the entrance fee for Ulun Danu Bratan Temple?", "output": "Rp$50,000/person", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "citations": ["It is nice to walk around. Entrance fee is Rp$50,000/person."], "generated_at": "2025-10-13 17:18:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What makes Ulun Danu Bratan Temple a must-visit destination?", "output": "The temple's picturesque setting with a lake and mountains, as well as its beautiful gardens and scenery", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "generated_at": "2025-10-13 17:18:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What activities can be done at Ulun Danu Bratan Temple?", "output": "Boating, walking around the temple and gardens, and taking in the views", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "generated_at": "2025-10-13 17:18:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why might some visitors be disappointed with Ulun Danu Bratan Temple?", "output": "The price is relatively high, and the temple feels overly cultivated for tourists", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "citations": ["This is a tourist photo op spot. After a picture there is little to see."], "generated_at": "2025-10-13 17:18:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Ulun Danu Bratan Temple for photography?", "output": "In the morning", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "generated_at": "2025-10-13 17:18:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the dance performance mentioned in the reviews?", "output": "Kecak dance", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["2efbec05-c328-40df-be6d-85158dac1dfe", "71d85bde-b1a7-430f-abd9-b3822fda040a", "8729d9c6-fd64-40c1-8fa6-a1b00c7faf25", "5985bcf7-7059-4d53-9a90-c083d7c1c45e"], "generated_at": "2025-10-13 17:18:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much did it cost to visit the temple?", "output": "Rp 30,000 for tourists", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["2efbec05-c328-40df-be6d-85158dac1dfe", "71d85bde-b1a7-430f-abd9-b3822fda040a", "8729d9c6-fd64-40c1-8fa6-a1b00c7faf25", "5985bcf7-7059-4d53-9a90-c083d7c1c45e"], "generated_at": "2025-10-13 17:18:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What was a disappointing aspect of the Kecak dance performance?", "output": "The dancers were not allowed to perform on their own stage due to the large number of audience members", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["2efbec05-c328-40df-be6d-85158dac1dfe", "71d85bde-b1a7-430f-abd9-b3822fda040a", "8729d9c6-fd64-40c1-8fa6-a1b00c7faf25", "5985bcf7-7059-4d53-9a90-c083d7c1c45e"], "citations": ["They let in people far beyond the capacity of this place which I estimate around 1000 people"], "generated_at": "2025-10-13 17:18:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the price of watching the kecak dance at Uluwatu Temple?", "output": "$7 to $4 USD", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["ec8e564d-235a-49b0-85ab-98b70e1a1c36", "f15dc530-7c50-43e9-a57d-5f5a9a02d795", "d98d9d80-c383-4773-a6f9-9ec9d3192627", "0cde5b34-605b-4253-b28a-acb0bf1f8be2"], "generated_at": "2025-10-13 17:19:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it recommended to reserve tickets for the kecak dance?", "output": "Yes, you can get them cheaper if you reserve in advance.", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["ec8e564d-235a-49b0-85ab-98b70e1a1c36", "f15dc530-7c50-43e9-a57d-5f5a9a02d795", "d98d9d80-c383-4773-a6f9-9ec9d3192627", "0cde5b34-605b-4253-b28a-acb0bf1f8be2"], "generated_at": "2025-10-13 17:19:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Uluwatu Temple for a sunset view?", "output": "Before 3pm or at 5pm for the best photography opportunities.", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["ec8e564d-235a-49b0-85ab-98b70e1a1c36", "f15dc530-7c50-43e9-a57d-5f5a9a02d795", "d98d9d80-c383-4773-a6f9-9ec9d3192627", "0cde5b34-605b-4253-b28a-acb0bf1f8be2"], "generated_at": "2025-10-13 17:19:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the dress code for visiting Uluwatu temple?", "output": "Cover-up to show respect, sarongs and sashes provided by ticket counter if needed.", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["c3a2ed0b-584c-4c60-a396-b4db7a00a0f9", "20c6c01a-dcaa-47a8-a413-a72945b2c853", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "2fbfb1c0-afc3-46a1-8af2-8d9b22019934"], "generated_at": "2025-10-13 17:19:05", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why should you arrive early for the Kecak Fire Dance at Uluwatu temple?", "output": "To get a seat and not miss the best parts of the show, especially the ending", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["c3a2ed0b-584c-4c60-a396-b4db7a00a0f9", "20c6c01a-dcaa-47a8-a413-a72945b2c853", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "2fbfb1c0-afc3-46a1-8af2-8d9b22019934"], "citations": ["DO NOT leave early as not only are you annoying everyone else but you will miss the best bits nearer the end!"], "generated_at": "2025-10-13 17:19:05", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much do adult admission tickets cost for watching the Kecak Fire Dance performance?", "output": "IDR100K per person", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["c3a2ed0b-584c-4c60-a396-b4db7a00a0f9", "20c6c01a-dcaa-47a8-a413-a72945b2c853", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "2fbfb1c0-afc3-46a1-8af2-8d9b22019934"], "generated_at": "2025-10-13 17:19:05", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to depart for a volcano climbing adventure?", "output": "3:00 departure", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["806a4f6d-a42f-4139-8a0b-3c5b182d8160", "6e29a26e-fdc2-4596-970a-cbe3db194a62", "d3a048f7-73ea-446b-82a5-4ce905a81ab4", "f0cb0d0e-a33d-476d-b6be-457ab4c401ee"], "generated_at": "2025-10-13 17:19:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up and down the volcano?", "output": "2 hours up, 1-2 hours on top, 2 hours down", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["806a4f6d-a42f-4139-8a0b-3c5b182d8160", "6e29a26e-fdc2-4596-970a-cbe3db194a62", "d3a048f7-73ea-446b-82a5-4ce905a81ab4", "f0cb0d0e-a33d-476d-b6be-457ab4c401ee"], "citations": ["This is almost NON-STOP, we have rest like about 4 times for 3-5 mins to get our breathe back and follow the others as everybody is going the same way so everybody need to be on top before sunrise to see it…..so you must move or stop aside."], "generated_at": "2025-10-13 17:19:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear for a volcano climbing adventure?", "output": "Hiking shoes", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["806a4f6d-a42f-4139-8a0b-3c5b182d8160", "6e29a26e-fdc2-4596-970a-cbe3db194a62", "d3a048f7-73ea-446b-82a5-4ce905a81ab4", "f0cb0d0e-a33d-476d-b6be-457ab4c401ee"], "citations": ["- Hiking shoes or at least your Nike from gym"], "generated_at": "2025-10-13 17:19:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can I prepare for the steep and challenging parts of the hike?", "output": "Be cautious, especially when going downhill", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["806a4f6d-a42f-4139-8a0b-3c5b182d8160", "6e29a26e-fdc2-4596-970a-cbe3db194a62", "d3a048f7-73ea-446b-82a5-4ce905a81ab4", "f0cb0d0e-a33d-476d-b6be-457ab4c401ee"], "citations": ["What concerns me is the lack of barricade/ railing, acceptable for the adventurous but not acceptable for the cautious - you will wish for the barricade/ railings when you are going downhill, trust me."], "generated_at": "2025-10-13 17:19:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the guide who accompanied the writer on the Mt Batur trek in 2017?", "output": "Nik", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "generated_at": "2025-10-13 17:19:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did the trek to Mount Batur last for one of the reviewers?", "output": "4-5 hours", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "citations": ["The trek lasted about 4-5 hours after which we went to nearby natural hot spring pools..."], "generated_at": "2025-10-13 17:19:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended footwear for the Mt Batur trek, according to one of the reviewers?", "output": "shoes with good grip", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "citations": ["You just need to have shoes with good grip as the small pebbles on the way (descent) tend to be loose..."], "generated_at": "2025-10-13 17:19:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the company that executed the water rafting part of the package?", "output": "ALAM", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "generated_at": "2025-10-13 17:19:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How early do people leave from places like Seminyak or Sanur to go on the Mt Batur trek?", "output": "much earlier", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "citations": ["people leave much earlier from places like Seminyak or Sanur"], "generated_at": "2025-10-13 17:19:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is one of the unique experiences that can be enjoyed by doing the Mt Batur trek?", "output": "watching the sunrise view of Mount Agung and Lake Batur", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "citations": ["You can choose to do the Sunrise trek beginning around 3 am in the morning..."], "generated_at": "2025-10-13 17:19:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up the volcano?", "output": "2 hours", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["88483e44-69fb-4870-977d-35f61cef1fe9", "e739b3f5-d1ae-4db7-9795-226f9fcca120", "6e3b7a79-d605-4aee-9cbe-c37146744d50", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61"], "generated_at": "2025-10-13 17:19:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you cook an egg on the volcano's steam?", "output": "Yes, but only if you take the long route", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["88483e44-69fb-4870-977d-35f61cef1fe9", "e739b3f5-d1ae-4db7-9795-226f9fcca120", "6e3b7a79-d605-4aee-9cbe-c37146744d50", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61"], "generated_at": "2025-10-13 17:19:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to hike the volcano with a guide?", "output": "250.000IDR (approximately $18 USD) for two guides and transportation", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["88483e44-69fb-4870-977d-35f61cef1fe9", "e739b3f5-d1ae-4db7-9795-226f9fcca120", "6e3b7a79-d605-4aee-9cbe-c37146744d50", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61"], "generated_at": "2025-10-13 17:19:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What kind of terrain can be expected on the hike?", "output": "The terrain begins easy but gets steep and full of loose rubbles towards the top", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["88483e44-69fb-4870-977d-35f61cef1fe9", "e739b3f5-d1ae-4db7-9795-226f9fcca120", "6e3b7a79-d605-4aee-9cbe-c37146744d50", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61"], "generated_at": "2025-10-13 17:19:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any monkeys on the volcano?", "output": "Yes, a group of playful monkeys live in the first caldera", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["88483e44-69fb-4870-977d-35f61cef1fe9", "e739b3f5-d1ae-4db7-9795-226f9fcca120", "6e3b7a79-d605-4aee-9cbe-c37146744d50", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61"], "generated_at": "2025-10-13 17:19:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you watch the sunrise from the top of the volcano?", "output": "Yes, but it requires getting up early and being fit enough to climb the mountain in time", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["88483e44-69fb-4870-977d-35f61cef1fe9", "e739b3f5-d1ae-4db7-9795-226f9fcca120", "6e3b7a79-d605-4aee-9cbe-c37146744d50", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61"], "generated_at": "2025-10-13 17:19:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended activity to do at Mount Batur?", "output": "Hiking", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["010fa482-df8b-462a-b1b9-e77d5b519965", "a00401d8-ef18-406a-b236-b9d81246682c", "6ac60a9a-6194-4659-b865-eb37d2fd0f6e", "ffa6ab05-bfb9-4f41-b480-dc1a4fb45bbb"], "generated_at": "2025-10-13 17:19:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up Mount Batur?", "output": "1 hour 40 minutes", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["010fa482-df8b-462a-b1b9-e77d5b519965", "a00401d8-ef18-406a-b236-b9d81246682c", "6ac60a9a-6194-4659-b865-eb37d2fd0f6e", "ffa6ab05-bfb9-4f41-b480-dc1a4fb45bbb"], "generated_at": "2025-10-13 17:19:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of a recommended tour guide in Bali?", "output": "Bagus Arka", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["010fa482-df8b-462a-b1b9-e77d5b519965", "a00401d8-ef18-406a-b236-b9d81246682c", "6ac60a9a-6194-4659-b865-eb37d2fd0f6e", "ffa6ab05-bfb9-4f41-b480-dc1a4fb45bbb"], "citations": ["I would highly recommend Bagus to anyone needing to be shown around Bali,"], "generated_at": "2025-10-13 17:19:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for this attraction?", "output": "30,000 rupiah for foreigners", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["59e1da53-e22f-47c5-9409-be81684b0915", "c534c51a-98b5-44fd-b221-90bcb9dc8c07", "315527cc-72bb-40cd-b706-cda325a87e34", "bd6e3217-25ee-47ae-b483-25c1e2704ca7"], "generated_at": "2025-10-13 17:19:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors swim in any of the pools?", "output": "Yes, but only in two pools that are fed from a cool spring for an extra 20,000 rupiah", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["59e1da53-e22f-47c5-9409-be81684b0915", "c534c51a-98b5-44fd-b221-90bcb9dc8c07", "315527cc-72bb-40cd-b706-cda325a87e34", "bd6e3217-25ee-47ae-b483-25c1e2704ca7"], "generated_at": "2025-10-13 17:19:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be done to make the experience more enjoyable?", "output": "Visit during less crowded times, such as later in the day or early morning", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["59e1da53-e22f-47c5-9409-be81684b0915", "c534c51a-98b5-44fd-b221-90bcb9dc8c07", "315527cc-72bb-40cd-b706-cda325a87e34", "bd6e3217-25ee-47ae-b483-25c1e2704ca7"], "generated_at": "2025-10-13 17:19:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Tirta Gangga?", "output": "10,000 IDR", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["a9107f4b-3876-4442-a035-c193e4e94f43", "363ea55c-ef64-43c2-bf40-3933eb92452e", "c2c1e883-e5ee-490d-a041-99f99f1f8773", "f3bdf07e-24f9-4aa6-99e4-112b0dc3ab15"], "generated_at": "2025-10-13 17:19:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it recommended to visit Tirta Gangga early in the morning?", "output": "Yes", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["a9107f4b-3876-4442-a035-c193e4e94f43", "363ea55c-ef64-43c2-bf40-3933eb92452e", "c2c1e883-e5ee-490d-a041-99f99f1f8773", "f3bdf07e-24f9-4aa6-99e4-112b0dc3ab15"], "citations": ["Though the place is very scenic,it is full of crowd for that instagram shot and you need to wait till your turn comes."], "generated_at": "2025-10-13 17:19:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors swim in the pools at Tirta Gangga?", "output": "Yes, but there's an extra charge", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["a9107f4b-3876-4442-a035-c193e4e94f43", "363ea55c-ef64-43c2-bf40-3933eb92452e", "c2c1e883-e5ee-490d-a041-99f99f1f8773", "f3bdf07e-24f9-4aa6-99e4-112b0dc3ab15"], "citations": ["For tourists need to buy ticket to enter tirta gangga, and for swim need pay about Rp 5.000,- each person,"], "generated_at": "2025-10-13 17:19:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the water temple in Bali?", "output": "Tirta Gangga", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["f143fe6d-9e8b-4259-8617-d6fc7a11c0f6", "824593ca-a78d-477f-8095-8e4abc1255e5", "3f08ce96-ef6a-477d-bd59-0ebe08cc9b0b", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4"], "generated_at": "2025-10-13 17:19:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter Tirta Gangga?", "output": "30 IDR", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["f143fe6d-9e8b-4259-8617-d6fc7a11c0f6", "824593ca-a78d-477f-8095-8e4abc1255e5", "3f08ce96-ef6a-477d-bd59-0ebe08cc9b0b", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4"], "citations": [35], "generated_at": "2025-10-13 17:19:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What activities can you do at Tirta Gangga besides visiting the water temple?", "output": "Feed the fish, swim in the pool", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["f143fe6d-9e8b-4259-8617-d6fc7a11c0f6", "824593ca-a78d-477f-8095-8e4abc1255e5", "3f08ce96-ef6a-477d-bd59-0ebe08cc9b0b", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4"], "generated_at": "2025-10-13 17:19:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is Tirta Gangga?", "output": "Tirta Gangga is a water palace in Indonesia, known for its beautiful ponds, gardens, and stepping stones.", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["1f91f6b3-9c6a-4730-8bc3-c0da2e24fbba", "d72a1bef-d670-455b-b420-2104a7f8f95a", "5a7fd856-aa3d-4c25-9cfd-197bfb702d8b", "eb776d01-6b46-468b-8214-0a1589b4b1c4"], "generated_at": "2025-10-13 17:19:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors feed the fish at Tirta Gangga?", "output": "Yes, visitors can feed the fish with provided food.", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["1f91f6b3-9c6a-4730-8bc3-c0da2e24fbba", "d72a1bef-d670-455b-b420-2104a7f8f95a", "5a7fd856-aa3d-4c25-9cfd-197bfb702d8b", "eb776d01-6b46-468b-8214-0a1589b4b1c4"], "generated_at": "2025-10-13 17:19:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to see Tirta Gangga?", "output": "You can see the whole site within 15-20 minutes.", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["1f91f6b3-9c6a-4730-8bc3-c0da2e24fbba", "d72a1bef-d670-455b-b420-2104a7f8f95a", "5a7fd856-aa3d-4c25-9cfd-197bfb702d8b", "eb776d01-6b46-468b-8214-0a1589b4b1c4"], "generated_at": "2025-10-13 17:19:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique feature of Tirta Gangga?", "output": "feeding fish", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["91a725fb-26a4-4203-a9a1-5d397d5c137c", "984f1e1f-5965-4155-81bb-0194bdd610d2", "c502848b-b5e7-4915-9055-10f2b7fa9185", "35acf884-cfde-47da-865a-792bc3582e8c"], "generated_at": "2025-10-13 17:19:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can I make the most of my visit to this temple in Bali?", "output": "go early to avoid crowds and pose Asian princesses taking Instagram photos on water lilies", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["91a725fb-26a4-4203-a9a1-5d397d5c137c", "984f1e1f-5965-4155-81bb-0194bdd610d2", "c502848b-b5e7-4915-9055-10f2b7fa9185", "35acf884-cfde-47da-865a-792bc3582e8c"], "generated_at": "2025-10-13 17:19:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting Taman Ujung compared to Tirta Gangga?", "output": "Taman Ujung is more relaxing and has more authenticity", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["91a725fb-26a4-4203-a9a1-5d397d5c137c", "984f1e1f-5965-4155-81bb-0194bdd610d2", "c502848b-b5e7-4915-9055-10f2b7fa9185", "35acf884-cfde-47da-865a-792bc3582e8c"], "generated_at": "2025-10-13 17:19:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I hold animals at Tirta Gangga?", "output": "yes, you can hold owls, civet cats, snake and flying dogs near the entrance in exchange for a donation", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["91a725fb-26a4-4203-a9a1-5d397d5c137c", "984f1e1f-5965-4155-81bb-0194bdd610d2", "c502848b-b5e7-4915-9055-10f2b7fa9185", "35acf884-cfde-47da-865a-792bc3582e8c"], "generated_at": "2025-10-13 17:19:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is there food available at Tirta Gangga?", "output": "yes, you can buy fish food to feed the fish and there are restaurants nearby", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["91a725fb-26a4-4203-a9a1-5d397d5c137c", "984f1e1f-5965-4155-81bb-0194bdd610d2", "c502848b-b5e7-4915-9055-10f2b7fa9185", "35acf884-cfde-47da-865a-792bc3582e8c"], "generated_at": "2025-10-13 17:19:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of some water gardens in Bali?", "output": "Some water gardens have stepping stones through the pond.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 17:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to swim in one of these water gardens?", "output": "It costs 10,000 IDR for adults and 5,000 IDR for kids.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 17:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good activity to do in one of these water gardens?", "output": "You can take photos or dip into the designated pool.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 17:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good place to visit with kids in Bali?", "output": "The water gardens are a good place to visit with kids.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 17:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the scenery like at some of these water gardens?", "output": "The scenery is breathtakingly beautiful.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 17:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you recommend a place to meditate in Bali?", "output": "Yes, the water gardens are a good place to sit and meditate.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 17:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended time to visit Tirta Gangga?", "output": "Early in the morning", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["bd3bfe61-fb5c-4d64-b1f6-26202f99580d", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4", "7b5e177a-283a-4f42-9d9d-f164217727fe", "8d17d80c-6d0a-4988-834a-3a2c12db1e31"], "citations": ["Recommended to come earlier in the morning because you can take photos without too many people behind you."], "generated_at": "2025-10-13 17:20:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors swim at Tirta Gangga?", "output": "Yes, for a small fee", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["bd3bfe61-fb5c-4d64-b1f6-26202f99580d", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4", "7b5e177a-283a-4f42-9d9d-f164217727fe", "8d17d80c-6d0a-4988-834a-3a2c12db1e31"], "citations": ["Also further ahead you can see some nice views of the rice fields"], "generated_at": "2025-10-13 17:20:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter Tirta Gangga?", "output": "Entrance ticket is really cheap", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["bd3bfe61-fb5c-4d64-b1f6-26202f99580d", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4", "7b5e177a-283a-4f42-9d9d-f164217727fe", "8d17d80c-6d0a-4988-834a-3a2c12db1e31"], "citations": ["Entrance ticket really cheap. I think it’s worth as the management use the income to maintain the place."], "generated_at": "2025-10-13 17:20:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can visitors buy at Tirta Gangga?", "output": "Fish food and swimwear", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["bd3bfe61-fb5c-4d64-b1f6-26202f99580d", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4", "7b5e177a-283a-4f42-9d9d-f164217727fe", "8d17d80c-6d0a-4988-834a-3a2c12db1e31"], "citations": ["If you are accompanied by kids then they will enjoy feeding fish. Bring your swim togs and for a small fee you can also swim there."], "generated_at": "2025-10-13 17:20:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best way to feed the fish at Tirta Gangga?", "output": "Buy fish food at one of the stalls outside", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["bd3bfe61-fb5c-4d64-b1f6-26202f99580d", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4", "7b5e177a-283a-4f42-9d9d-f164217727fe", "8d17d80c-6d0a-4988-834a-3a2c12db1e31"], "citations": ["Be sure to buy lots of fish food. It's so much fun to feed the fish at various locations."], "generated_at": "2025-10-13 17:20:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about this temple?", "output": "It's set in the sea and can be walked up to during low tide.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["89c2d63a-5e49-4769-bd15-d7ddebb0639b", "f7739202-394b-44ed-a420-4f0b05c37e53", "e0865e6b-1b94-4906-8b8c-0c1fa9f9348a", "612b5e44-81cf-4aeb-80b3-96cc2de9a341"], "citations": ["The uniqueness of this temple is that it is set in the sea."], "generated_at": "2025-10-13 17:20:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can tourists enter the temples?", "output": "No, they are not allowed within the temples.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["89c2d63a-5e49-4769-bd15-d7ddebb0639b", "f7739202-394b-44ed-a420-4f0b05c37e53", "e0865e6b-1b94-4906-8b8c-0c1fa9f9348a", "612b5e44-81cf-4aeb-80b3-96cc2de9a341"], "citations": ["You can get close to one by crossing the beach (at low tide) but all you can do is get to the base, from which you can't see anything."], "generated_at": "2025-10-13 17:20:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I consider when visiting this temple?", "output": "Dress respectfully and consider an early morning visit to avoid crowds.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["89c2d63a-5e49-4769-bd15-d7ddebb0639b", "f7739202-394b-44ed-a420-4f0b05c37e53", "e0865e6b-1b94-4906-8b8c-0c1fa9f9348a", "612b5e44-81cf-4aeb-80b3-96cc2de9a341"], "citations": ["Dress respectfully with shoulders covered."], "generated_at": "2025-10-13 17:20:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple mentioned in this text?", "output": "Tanah Lot Temple", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["9b318603-ba4f-4897-8702-904cabe27412", "93e3e56b-38ec-401f-9830-2cbfcb4a377d", "15dc0126-5862-4107-93bb-fd199ff66f4e", "00faeb98-95db-4e29-85c8-b41d391397e4"], "generated_at": "2025-10-13 17:20:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors enter the main temple buildings at Tanah Lot?", "output": "No", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "citations": ["The main temple buildings are closed and not accessible to the public."], "chunk_ids": ["9b318603-ba4f-4897-8702-904cabe27412", "93e3e56b-38ec-401f-9830-2cbfcb4a377d", "15dc0126-5862-4107-93bb-fd199ff66f4e", "00faeb98-95db-4e29-85c8-b41d391397e4"], "generated_at": "2025-10-13 17:20:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a common complaint about visiting Tanah Lot Temple during sunset?", "output": "Crowds", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["9b318603-ba4f-4897-8702-904cabe27412", "93e3e56b-38ec-401f-9830-2cbfcb4a377d", "15dc0126-5862-4107-93bb-fd199ff66f4e", "00faeb98-95db-4e29-85c8-b41d391397e4"], "generated_at": "2025-10-13 17:20:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at Tana Lot temple?", "output": "Watch the sunset", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["eb9e0aef-2b50-4c0f-af7b-44a05bd2560a", "aba34325-b1df-42d8-8071-1c42ff1d8f1b", "e6d15360-9bf0-49ce-946f-8b9ce2eb3563", "ec4a74f8-02a5-44ee-acbe-f245afd0471b"], "generated_at": "2025-10-13 17:20:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can you access the temple island at Tanah Lot during high tide?", "output": "The path reappears during low tide", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["eb9e0aef-2b50-4c0f-af7b-44a05bd2560a", "aba34325-b1df-42d8-8071-1c42ff1d8f1b", "e6d15360-9bf0-49ce-946f-8b9ce2eb3563", "ec4a74f8-02a5-44ee-acbe-f245afd0471b"], "generated_at": "2025-10-13 17:20:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors bring to the Tanah Lot temple to protect their valuables?", "output": "Waterproof bags", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["eb9e0aef-2b50-4c0f-af7b-44a05bd2560a", "aba34325-b1df-42d8-8071-1c42ff1d8f1b", "e6d15360-9bf0-49ce-946f-8b9ce2eb3563", "ec4a74f8-02a5-44ee-acbe-f245afd0471b"], "generated_at": "2025-10-13 17:20:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple mentioned in this text?", "output": "INSUFFICIENT_CONTEXT", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 17:20:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can one access the temple during low tide?", "output": "You can cross the water during low tide for a closer look.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 17:20:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it possible to enter the temple itself?", "output": "No, you can't enter the holy site unless you're a Hindu.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 17:20:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some of the activities one can do near this temple?", "output": "There are dance performances every night and you can also have your photo taken with a huge live snake!", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 17:20:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can one walk to the temple during high tide?", "output": "No, you can only get close to it or take a great picture from afar.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 17:20:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the resident snake at this temple?", "output": "John", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "citations": ["You can have your picture taken with him, he is so friendly."], "generated_at": "2025-10-13 17:20:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the unique feature of this temple?", "output": "It's one of two large temples and has a natural architecture.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 17:20:43", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple on the lake in Bali?", "output": "Ulun Danu Bratan", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["ac5cb170-0bce-41af-83f5-2d8b9abd8300", "442c19aa-4cac-4d70-a2e5-5881e090b528", "b1d77a81-71da-4746-892c-6b2f01a85552", "bc4bccb1-6aad-4ba9-bc05-6aa97a383ad1"], "generated_at": "2025-10-13 17:20:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for this temple?", "output": "60000rph", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["ac5cb170-0bce-41af-83f5-2d8b9abd8300", "442c19aa-4cac-4d70-a2e5-5881e090b528", "b1d77a81-71da-4746-892c-6b2f01a85552", "bc4bccb1-6aad-4ba9-bc05-6aa97a383ad1"], "citations": ["The area is beautiful, with the black rocks and the high waves. Entrance is 60000rph, + 3000 for parking."], "generated_at": "2025-10-13 17:20:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What animals can you rent to take pictures with at this temple?", "output": "miniature owls, a huge Python, and several large bats", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["ac5cb170-0bce-41af-83f5-2d8b9abd8300", "442c19aa-4cac-4d70-a2e5-5881e090b528", "b1d77a81-71da-4746-892c-6b2f01a85552", "bc4bccb1-6aad-4ba9-bc05-6aa97a383ad1"], "citations": ["They had miniature owls, a huge Python and several large bats. I did the bat, cost 20,000r."], "generated_at": "2025-10-13 17:20:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is Tirta Gangga?", "output": "Tirta Gangga is a water palace in Karangasem.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["f9455858-c386-4cff-9b0a-4e64734781a0", "7c896c67-f114-4861-8455-3a84ea89a844", "e6736884-6f95-4175-a82b-e5bb8eed4d25", "18bddf83-afcc-4536-9929-ec8cdb9c26cb"], "generated_at": "2025-10-13 17:20:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you swim in the pools at Tirta Gangga?", "output": "Yes, there are pools where you can swim with fish.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["f9455858-c386-4cff-9b0a-4e64734781a0", "7c896c67-f114-4861-8455-3a84ea89a844", "e6736884-6f95-4175-a82b-e5bb8eed4d25", "18bddf83-afcc-4536-9929-ec8cdb9c26cb"], "generated_at": "2025-10-13 17:20:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended duration to spend at Tirta Gangga?", "output": "1-1.5 hours", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["d738bb60-60b3-490d-b65e-5cc0cbfe666f", "1aec65e6-a0f1-4e1b-804b-3fc8399591c4", "33713497-9e16-40be-bcd8-3a004a52721d", "7486f099-9f91-44e3-aeb0-f31004b08c41"], "generated_at": "2025-10-13 17:20:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors swim in the pools at Tirta Gangga?", "output": "Yes, there are public pools within the palace grounds", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["d738bb60-60b3-490d-b65e-5cc0cbfe666f", "1aec65e6-a0f1-4e1b-804b-3fc8399591c4", "33713497-9e16-40be-bcd8-3a004a52721d", "7486f099-9f91-44e3-aeb0-f31004b08c41"], "generated_at": "2025-10-13 17:20:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the swimming pool at Tirta Ayu?", "output": "The pool is filled with holy water from a nearby temple spring", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["d738bb60-60b3-490d-b65e-5cc0cbfe666f", "1aec65e6-a0f1-4e1b-804b-3fc8399591c4", "33713497-9e16-40be-bcd8-3a004a52721d", "7486f099-9f91-44e3-aeb0-f31004b08c41"], "generated_at": "2025-10-13 17:20:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for the water palace in Bali?", "output": "IDR60k/person", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "generated_at": "2025-10-13 17:21:02", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you swim at the water palace in Bali?", "output": "Yes, for a small additional fee", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "citations": ["This one has a large swimming pool frequented by local people, as well as tourists."], "generated_at": "2025-10-13 17:21:02", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What kind of fish are in the pools at the water palace?", "output": "Goldfish and cichlids", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "citations": ["some pools are with big gold fish and cichlids"], "generated_at": "2025-10-13 17:21:02", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the average cost of visiting this temple?", "output": "The entrance cost is 20,000 IDR per person.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "generated_at": "2025-10-13 17:21:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are the monkeys at this temple aggressive?", "output": "No, but they can be sneaky and steal items from tourists.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "generated_at": "2025-10-13 17:21:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit this temple for a good view?", "output": "It's recommended to arrive right before sunset to watch the sun set.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "generated_at": "2025-10-13 17:21:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you wear hats or sunglasses at this temple?", "output": "No, it's recommended to avoid wearing them as the monkeys may steal them.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "generated_at": "2025-10-13 17:21:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter this temple?", "output": "The entrance fee is 20,000 IDR per person.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "generated_at": "2025-10-13 17:21:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you be careful about when visiting this temple?", "output": "You should beware of the monkeys, who can steal items from tourists.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "generated_at": "2025-10-13 17:21:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is this temple worth visiting?", "output": "Yes, especially for the stunning sunset views.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "generated_at": "2025-10-13 17:21:11", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of this temple?", "output": "The view", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "generated_at": "2025-10-13 17:21:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why should visitors be cautious at this temple?", "output": "Monkeys may steal belongings such as sunglasses, cameras, and hats", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "generated_at": "2025-10-13 17:21:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen during sunset at this temple?", "output": "Bali dancers performing traditional dances", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "citations": ["You can watch Bali Dancer in the evening."], "generated_at": "2025-10-13 17:21:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of dance is performed at this temple?", "output": "Kecak traditional dance", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "generated_at": "2025-10-13 17:21:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any dangers associated with visiting this temple?", "output": "Yes, monkeys may steal belongings and be a nuisance", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "generated_at": "2025-10-13 17:21:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the location of this temple like?", "output": "It is located on a cliff with spectacular views of the sea", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "generated_at": "2025-10-13 17:21:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors do if their belongings are stolen by monkeys?", "output": "The temple authorities may be able to help retrieve them", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "citations": ["the temple guard around ready to escort them away so no worry"], "generated_at": "2025-10-13 17:21:20", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the location of this temple?", "output": "The temple is located on the ridge of coastal cliffs.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "generated_at": "2025-10-13 17:21:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any monkeys at this temple?", "output": "Yes, there are many monkeys at the temple. They can be aggressive and steal belongings from tourists.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "citations": ["Some cheeky monkeys along the way :)"], "generated_at": "2025-10-13 17:21:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it necessary to cover your legs when visiting this temple?", "output": "Yes, visitors are expected to cover their legs as a sign of respect for the religious beliefs.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "citations": ["When you arrive, you will have to cover your legs so that you do not offend the religious beliefs."], "generated_at": "2025-10-13 17:21:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter this temple?", "output": "The entrance fee is Rp 20,000.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "generated_at": "2025-10-13 17:21:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I bring to the temple to protect my belongings from monkeys?", "output": "It's recommended to keep your glasses and other small items in a safe place or bag while visiting the temple.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "citations": ["And.. put all your glasses, hat and small stuff inside your bag. Because of the monkey."], "generated_at": "2025-10-13 17:21:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable attraction at this temple?", "output": "The sunset", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["9d3d7cea-0bdf-43d0-91a0-e9e6f39bbe45", "679bc04a-1b48-4fcd-a338-b1be7b4294ad", "f0982348-22f8-4c66-a016-df70f0a7bf85", "ac814a39-4859-446e-a940-5d9b44b5540d"], "generated_at": "2025-10-13 17:21:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do visitors dress for the temple?", "output": "They are given a sarong or can bring their own long skirt", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["9d3d7cea-0bdf-43d0-91a0-e9e6f39bbe45", "679bc04a-1b48-4fcd-a338-b1be7b4294ad", "f0982348-22f8-4c66-a016-df70f0a7bf85", "ac814a39-4859-446e-a940-5d9b44b5540d"], "generated_at": "2025-10-13 17:21:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors be aware of when visiting the temple?", "output": "The monkeys can steal belongings, so it's essential to keep an eye on them", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["9d3d7cea-0bdf-43d0-91a0-e9e6f39bbe45", "679bc04a-1b48-4fcd-a338-b1be7b4294ad", "f0982348-22f8-4c66-a016-df70f0a7bf85", "ac814a39-4859-446e-a940-5d9b44b5540d"], "generated_at": "2025-10-13 17:21:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable thing to consider when visiting Tanah Lot Temple?", "output": "High tide season restricts access to the temple", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["5ebe410a-ba03-42b8-a8be-abcddad731a7", "0eb28b5b-0160-4698-93d0-289753bf00d3", "294f599e-e57b-4c8a-bc16-f0be804f8eae", "ecfb1e67-c3f6-4e25-8915-98d3ea8aa5ad"], "citations": ["The place is good for pictures but only from far as they don't allow you near the temple during high tide season."], "generated_at": "2025-10-13 17:21:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can one make the most of a visit to Tanah Lot Temple?", "output": "Visit during sunset and be mindful of vendors", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["5ebe410a-ba03-42b8-a8be-abcddad731a7", "0eb28b5b-0160-4698-93d0-289753bf00d3", "294f599e-e57b-4c8a-bc16-f0be804f8eae", "ecfb1e67-c3f6-4e25-8915-98d3ea8aa5ad"], "citations": ["The view during sunset at the Tanah Lot Temple was a nice experience and our whole family enjoyed it a lot.", "It is a beautiful complex, and although it is quite a ways out from the city, it is well worth the trip, especially around sunset."], "generated_at": "2025-10-13 17:21:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some common complaints about visiting Tanah Lot Temple?", "output": "Crowds, pushy vendors, and limited access", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["5ebe410a-ba03-42b8-a8be-abcddad731a7", "0eb28b5b-0160-4698-93d0-289753bf00d3", "294f599e-e57b-4c8a-bc16-f0be804f8eae", "ecfb1e67-c3f6-4e25-8915-98d3ea8aa5ad"], "citations": ["Definitely not the best part of my glorious trip to Bali.", "a bit overhyped. a small temple on the water. ideal for the selfie loving people but not much else."], "generated_at": "2025-10-13 17:21:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some tips for visiting Tanah Lot Temple?", "output": "Visit early in the morning or during sunset, and be prepared for crowds", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["5ebe410a-ba03-42b8-a8be-abcddad731a7", "0eb28b5b-0160-4698-93d0-289753bf00d3", "294f599e-e57b-4c8a-bc16-f0be804f8eae", "ecfb1e67-c3f6-4e25-8915-98d3ea8aa5ad"], "citations": ["Very interesting place, very crowded tho would be best to go early in the morning to beat the crowds.", "It is a beautiful complex, and although it is quite a ways out from the city, it is well worth the trip, especially around sunset."], "generated_at": "2025-10-13 17:21:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit this location?", "output": "Late afternoon or sunset", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "generated_at": "2025-10-13 17:21:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is it difficult to take photos at this place during sunset?", "output": "Because of the large crowds.", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "citations": ["I can't even take the photos without having someone standing in front of you!!"], "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "generated_at": "2025-10-13 17:21:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some activities to do at this location?", "output": "Rafting, shopping, and taking beautiful pictures.", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "generated_at": "2025-10-13 17:21:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it recommended to visit during the day or evening?", "output": "It's better to visit in the early morning or near sunset, but avoid visiting at 3 pm as it gets very busy.", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "citations": ["This attraction was very busy at 3pm and apparently it gets busier at sunset."], "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "generated_at": "2025-10-13 17:21:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the temple's location?", "output": "It's built on an off-shore rock, and if you're lucky, you can see the sunset in low tide with the entire temple sitting in the middle of the sea.", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "citations": ["Here is another popular temple for sunset. It is built on an off-shore rock - if you are lucky, you will see the sunset in low tide..."], "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "generated_at": "2025-10-13 17:21:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What kind of views can be seen at this location?", "output": "Beautiful sea view and picturesque landscape.", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "generated_at": "2025-10-13 17:21:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to visit Tanah Lot Temple to avoid crowds?", "output": "Before 9am or after 4 PM", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 17:21:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some things to be careful about when visiting Uluwatu Temple?", "output": "Monkeys can be aggressive and steal your items, be mindful of the crowds at sunset, and take heed of cautionary announcements", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 17:21:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is it better to visit a quieter local temple instead of Tanah Lot?", "output": "Because the area can feel like a circus with selfie sticks and crowds, but a bamboo restaurant nearby seems peaceful and respectful of the spirituality", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 17:21:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular time to visit Tanah Lot?", "output": "At sunset", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["e8b5b445-3b79-40a6-a4b7-cff6400e19bb", "6f50170f-fcc6-4255-a9e4-62c97ecd6065", "9e70365d-cf55-4a88-a56f-994108467bd3", "b6ac7014-a692-4e17-9c67-0bbd993664eb"], "generated_at": "2025-10-13 17:21:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique feature of Tanah Lot Temple?", "output": "The temple can be accessible during low tide, allowing visitors to walk out to it.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["beb3daff-8a33-4734-a01e-d73886bbb355", "06e79ed1-6845-49e7-af55-b5e36b7360de", "79b41768-7426-42eb-bd48-732616883ed6", "fc9ede4e-5198-4330-a87d-1ccb11e4bb30"], "generated_at": "2025-10-13 17:22:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What activities can you do at Tanah Lot Temple?", "output": "You can participate in a simple ceremony, touch holy snakes, and take part in photography sessions.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["beb3daff-8a33-4734-a01e-d73886bbb355", "06e79ed1-6845-49e7-af55-b5e36b7360de", "79b41768-7426-42eb-bd48-732616883ed6", "fc9ede4e-5198-4330-a87d-1ccb11e4bb30"], "generated_at": "2025-10-13 17:22:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any shopping options available at Tanah Lot Temple?", "output": "Yes, there are many shops and markets around the temple where you can buy souvenirs and local handicrafts.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["beb3daff-8a33-4734-a01e-d73886bbb355", "06e79ed1-6845-49e7-af55-b5e36b7360de", "79b41768-7426-42eb-bd48-732616883ed6", "fc9ede4e-5198-4330-a87d-1ccb11e4bb30"], "generated_at": "2025-10-13 17:22:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time of day is best to visit Tanah Lot Temple?", "output": "The best time to visit the temple is late afternoon, so you can stay for the sunset.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["beb3daff-8a33-4734-a01e-d73886bbb355", "06e79ed1-6845-49e7-af55-b5e36b7360de", "79b41768-7426-42eb-bd48-732616883ed6", "fc9ede4e-5198-4330-a87d-1ccb11e4bb30"], "generated_at": "2025-10-13 17:22:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Tanah Lot temple?", "output": "IDR30,000 for adults", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["The temple is a short walk from the parking area as you will pass by several souvenir shops and eateries."], "generated_at": "2025-10-13 17:22:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors walk across to the temple at low tide?", "output": "Yes", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["You can walk across to the temple at low tide."], "generated_at": "2025-10-13 17:22:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended footwear for walking on the rocks by Tanah Lot temple?", "output": "Non-slippery sandals", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["Advisable to wear non-slippery sandals to walk on the rocks by the temple."], "generated_at": "2025-10-13 17:22:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is Tanah Lot temple located in the water?", "output": "Yes", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["This temple is located out in the water."], "generated_at": "2025-10-13 17:22:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors bring their prams to Tanah Lot temple?", "output": "No", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["Pram access is a no go so you have to carry your child,"], "generated_at": "2025-10-13 17:22:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen at Tanah Lot temple besides the temple itself?", "output": "Surfers and the landscape", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["Then you reach the beautiful grounds of Tanah Lot where you can watch some surfers and the landscape."], "generated_at": "2025-10-13 17:22:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple located on a rock in the ocean?", "output": "Tanah Lot Temple", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "generated_at": "2025-10-13 17:22:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much is the entrance ticket to Tanah Lot Temple?", "output": "30000 Rupiahs", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "generated_at": "2025-10-13 17:22:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the sea snakes at Tanah Lot Temple?", "output": "According to legend, you are supposed to touch them for good luck.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "citations": ["you are supposed to touch them for good luck - yours or theirs I'm not sure"], "generated_at": "2025-10-13 17:22:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "When is the best time to visit Tanah Lot Temple?", "output": "Low tide", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "generated_at": "2025-10-13 17:22:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen at Tanah Lot Temple during sunset?", "output": "The temple, sea waves, and a great view", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "generated_at": "2025-10-13 17:22:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you walk to the temple at high tide?", "output": "No", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "generated_at": "2025-10-13 17:22:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the meaning of the name 'Tanah Lot'?", "output": "The name 'Tanah Lot' means 'Land [in the] Sea' in the Balinese language.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 17:22:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors enter the temple at Tanah Lot?", "output": "No, visitors are not allowed to enter the temple, but they can get close and take in the views.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 17:22:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the location of Tanah Lot Temple?", "output": "The temple appears to float on the sea surface during high tide, as it sits on a large offshore rock.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 17:22:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the purpose of the snakes at Tanah Lot Temple?", "output": "The snakes, believed to be venomous sea snakes, act as guardians of the temple and protect it from evil spirits and intruders.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 17:22:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What activities can tourists do at Tanah Lot Temple?", "output": "Tourists can walk along the stone pathway, take in the views, shop for souvenirs and clothes, eat at restaurants, and capture the sunset moment.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 17:22:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is special about the view of Tanah Lot Temple during low tide?", "output": "During low tide, visitors can see freshwater springs just below the temple.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 17:22:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable aspect of visiting Uluwatu Temple?", "output": "The view from the temple is amazing, especially during sunset time.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["cfd8e4d6-86e5-4b99-8fa5-8f1ad222ced5", "6dbb3262-33aa-4e45-85a2-e9092ffd4f9c", "eb083131-d65d-4bf9-a15d-047345f571f8", "74383a54-4678-4848-86c2-b08ca851d2d5"], "generated_at": "2025-10-13 17:22:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can tourists avoid being overcharged by taxi drivers when leaving Uluwatu Temple?", "output": "Tourists should rent a car, motorcycle, or ask their taxi driver to wait for them.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["cfd8e4d6-86e5-4b99-8fa5-8f1ad222ced5", "6dbb3262-33aa-4e45-85a2-e9092ffd4f9c", "eb083131-d65d-4bf9-a15d-047345f571f8", "74383a54-4678-4848-86c2-b08ca851d2d5"], "generated_at": "2025-10-13 17:22:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to visit Uluwatu Temple to avoid crowds?", "output": "It's best to get there before 10 or 11 in the morning.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["cfd8e4d6-86e5-4b99-8fa5-8f1ad222ced5", "6dbb3262-33aa-4e45-85a2-e9092ffd4f9c", "eb083131-d65d-4bf9-a15d-047345f571f8", "74383a54-4678-4848-86c2-b08ca851d2d5"], "generated_at": "2025-10-13 17:22:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple mentioned in this text?", "output": "Tanah Lot", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["7f49308c-f8a8-45a6-9f3f-596174f2f12c", "18e7e5ab-8b7b-4e40-b01f-d0f6d33d7dae", "2f43d623-e382-4705-bf70-61f8051dfaca", "ab81cd92-d641-456e-b44a-5b5540e53e54"], "generated_at": "2025-10-13 17:22:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter the temple and watch the traditional dance?", "output": "30k entrance fee including sarong", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["7f49308c-f8a8-45a6-9f3f-596174f2f12c", "18e7e5ab-8b7b-4e40-b01f-d0f6d33d7dae", "2f43d623-e382-4705-bf70-61f8051dfaca", "ab81cd92-d641-456e-b44a-5b5540e53e54"], "generated_at": "2025-10-13 17:22:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is recommended to do when visiting the temple during sunset?", "output": "Arriving at least an hour before the sunset performance is recommended to allow sufficient time to take in the sights", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["7f49308c-f8a8-45a6-9f3f-596174f2f12c", "18e7e5ab-8b7b-4e40-b01f-d0f6d33d7dae", "2f43d623-e382-4705-bf70-61f8051dfaca", "ab81cd92-d641-456e-b44a-5b5540e53e54"], "generated_at": "2025-10-13 17:22:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some precautions to take when visiting Uluwatu Temple?", "output": "Hide your belongings, especially glasses and water bottles, from the monkeys.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["2813378a-d412-4632-9fd2-41ff0a19db9e", "7be9d212-84ef-4c93-a8e8-5aff54c8743e", "069eeb7e-a46a-4d13-8e42-a6cf0abb3e15", "86ee4383-67cb-4dbf-93c9-cb26ba7b1524"], "citations": ["A damn monkey stealthily sauntered like an ancient ninja, up behind me and like an expert snatched my sunglasses."], "generated_at": "2025-10-13 17:22:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does a trip to Uluwatu Temple typically take?", "output": "Approximately 5 hours from pickup to drop off.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["2813378a-d412-4632-9fd2-41ff0a19db9e", "7be9d212-84ef-4c93-a8e8-5aff54c8743e", "069eeb7e-a46a-4d13-8e42-a6cf0abb3e15", "86ee4383-67cb-4dbf-93c9-cb26ba7b1524"], "citations": [], "generated_at": "2025-10-13 17:22:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction at Uluwatu Temple besides the sunset?", "output": "The Kecak Dance, which serves as an introduction to the sunset.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["2813378a-d412-4632-9fd2-41ff0a19db9e", "7be9d212-84ef-4c93-a8e8-5aff54c8743e", "069eeb7e-a46a-4d13-8e42-a6cf0abb3e15", "86ee4383-67cb-4dbf-93c9-cb26ba7b1524"], "citations": [], "generated_at": "2025-10-13 17:22:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the problem with visiting the temple?", "output": "The gates to the top of the temple are often locked, and visitors are not informed.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["36545c60-d665-43d2-b457-4fe7684f0b05", "86fe1ec7-1157-4ef9-af02-44ecbbb737e0", "5e25ec9e-cefc-4a7d-bc4d-06f7976fe715", "2d5b6507-17ad-43cf-8f91-12d1c914acd7"], "generated_at": "2025-10-13 17:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can one avoid being scammed at the temple?", "output": "Avoid falling into a trap with local priests who ask for donations to climb up.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["36545c60-d665-43d2-b457-4fe7684f0b05", "86fe1ec7-1157-4ef9-af02-44ecbbb737e0", "5e25ec9e-cefc-4a7d-bc4d-06f7976fe715", "2d5b6507-17ad-43cf-8f91-12d1c914acd7"], "generated_at": "2025-10-13 17:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors do when taking photos at the temple?", "output": "Respect the culture and rules of the site, and avoid posing or leaning on stairs.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["36545c60-d665-43d2-b457-4fe7684f0b05", "86fe1ec7-1157-4ef9-af02-44ecbbb737e0", "5e25ec9e-cefc-4a7d-bc4d-06f7976fe715", "2d5b6507-17ad-43cf-8f91-12d1c914acd7"], "generated_at": "2025-10-13 17:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is recommended to wear when visiting this temple?", "output": "A sarong or a yellow scarf", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["b5ab2752-fd60-406c-9b14-eb92496a7518", "2f165695-793c-42c0-9114-e5d5ca9cf4cf", "3dcd1689-7a43-4cd7-a4c2-058b5ecebd7a", "56de9907-42a5-4fcb-9006-843f212d627f"], "generated_at": "2025-10-13 17:23:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak dance show?", "output": "100,000 Indonesian Rupiah per person", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "citations": ["Cost of show ticket 100000 Indonesian Rupiah per person."], "chunk_ids": ["b5ab2752-fd60-406c-9b14-eb92496a7518", "2f165695-793c-42c0-9114-e5d5ca9cf4cf", "3dcd1689-7a43-4cd7-a4c2-058b5ecebd7a", "56de9907-42a5-4fcb-9006-843f212d627f"], "generated_at": "2025-10-13 17:23:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists be aware of when visiting this temple?", "output": "Monkeys may steal personal items, so keep them secure", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["b5ab2752-fd60-406c-9b14-eb92496a7518", "2f165695-793c-42c0-9114-e5d5ca9cf4cf", "3dcd1689-7a43-4cd7-a4c2-058b5ecebd7a", "56de9907-42a5-4fcb-9006-843f212d627f"], "generated_at": "2025-10-13 17:23:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a common problem visitors face when entering the temple grounds?", "output": "Aggressive monkeys and harassment by vendors.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["906453a4-9ab4-4021-841f-348c0f17fd1d", "c19e8cdc-89b3-4561-b0ac-19afbecd055b", "e1bed365-0678-43b2-9ac3-a2fc4c66de3a", "1806703b-4318-4fe7-8bf1-9448e3cf4049"], "generated_at": "2025-10-13 17:23:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can visitors safely interact with the monkeys in the temple grounds?", "output": "Maintain a safe distance and do not touch or feed them.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["906453a4-9ab4-4021-841f-348c0f17fd1d", "c19e8cdc-89b3-4561-b0ac-19afbecd055b", "e1bed365-0678-43b2-9ac3-a2fc4c66de3a", "1806703b-4318-4fe7-8bf1-9448e3cf4049"], "generated_at": "2025-10-13 17:23:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is there an alternative path for visitors to walk around the temple grounds?", "output": "No, currently only a shared path with motorbikes is available.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["906453a4-9ab4-4021-841f-348c0f17fd1d", "c19e8cdc-89b3-4561-b0ac-19afbecd055b", "e1bed365-0678-43b2-9ac3-a2fc4c66de3a", "1806703b-4318-4fe7-8bf1-9448e3cf4049"], "generated_at": "2025-10-13 17:23:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How many temples are there in total?", "output": "7", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["810354fb-457b-4ec3-9733-a3566335ea1b", "d6eee0f2-cda3-41e4-8b3a-2dd42df185b2", "87acaf9a-42d5-4cd9-97ad-b2132fb83ec0", "29a1b3a9-4702-4959-b694-97709f7c1db9"], "generated_at": "2025-10-13 17:23:10", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I do if I encounter aggressive monkeys during my visit?", "output": "Wait for a group of Balinese worshippers and walk with them, or offer to pay a security guard to escort you.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["810354fb-457b-4ec3-9733-a3566335ea1b", "d6eee0f2-cda3-41e4-8b3a-2dd42df185b2", "87acaf9a-42d5-4cd9-97ad-b2132fb83ec0", "29a1b3a9-4702-4959-b694-97709f7c1db9"], "generated_at": "2025-10-13 17:23:10", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much water should I bring for the visit?", "output": "At least 2 litres per person", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["810354fb-457b-4ec3-9733-a3566335ea1b", "d6eee0f2-cda3-41e4-8b3a-2dd42df185b2", "87acaf9a-42d5-4cd9-97ad-b2132fb83ec0", "29a1b3a9-4702-4959-b694-97709f7c1db9"], "generated_at": "2025-10-13 17:23:10", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is Tanah Lot Temple known for?", "output": "Tanah Lot Temple is a Balinese Hindu temple located on a rock in the middle of the sea.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["908818b3-3278-4f58-8daa-e370030a1ad2", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "747bd490-6d13-49e2-b102-cda3f7bd66aa", "e9889ff6-22cc-487d-974a-39b6ad1fbcc3"], "generated_at": "2025-10-13 17:23:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can visitors see at Tanah Lot Temple during low tide?", "output": "Visitors can walk to the base of the rock and offer prayers there.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["908818b3-3278-4f58-8daa-e370030a1ad2", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "747bd490-6d13-49e2-b102-cda3f7bd66aa", "e9889ff6-22cc-487d-974a-39b6ad1fbcc3"], "generated_at": "2025-10-13 17:23:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about Tanah Lot Temple's location?", "output": "Tanah Lot Temple is surrounded by water and is a 'small island floating in the sea'.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["908818b3-3278-4f58-8daa-e370030a1ad2", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "747bd490-6d13-49e2-b102-cda3f7bd66aa", "e9889ff6-22cc-487d-974a-39b6ad1fbcc3"], "generated_at": "2025-10-13 17:23:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of this temple?", "output": "It's located directly on the edge of cliffs, offering stunning views of the ocean.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["46635d3f-e562-4ab1-8080-e92b809fdac0", "ec4a74f8-02a5-44ee-acbe-f245afd0471b", "7478d827-8713-42e3-93c5-389649987ed5", "9ba30a08-02a4-44d8-babf-d3b265a42161"], "citations": ["The place just looks very peaceful and beautiful."], "generated_at": "2025-10-13 17:23:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good time to visit this temple?", "output": "High tide, when big waves break on the rocks.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["46635d3f-e562-4ab1-8080-e92b809fdac0", "ec4a74f8-02a5-44ee-acbe-f245afd0471b", "7478d827-8713-42e3-93c5-389649987ed5", "9ba30a08-02a4-44d8-babf-d3b265a42161"], "citations": ["It's the most photogenic temple in Bali. Best time is at high tide..."], "generated_at": "2025-10-13 17:23:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you enter the temple during low tide?", "output": "Yes, but only if the tide is low and you can walk through the waters.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["46635d3f-e562-4ab1-8080-e92b809fdac0", "ec4a74f8-02a5-44ee-acbe-f245afd0471b", "7478d827-8713-42e3-93c5-389649987ed5", "9ba30a08-02a4-44d8-babf-d3b265a42161"], "citations": ["When we reached, the tide was high but we could find our way to the temple through the waters - beautiful place to spend couple of hours"], "generated_at": "2025-10-13 17:23:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple located in a lake in Bali?", "output": "Ulun Danu Bratan", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["f0f16e6f-8c08-4a80-b67d-127ecfb05f2c", "cd7e26d5-af11-43ee-af6b-b9f5f064150f", "ab9b93a7-0923-4417-84c2-95d0a38cb591", "e1fae1c6-225a-4e70-960e-abc71ca9d7a0"], "generated_at": "2025-10-13 17:23:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to visit Tanah Lot temple?", "output": "100k IDR", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["f0f16e6f-8c08-4a80-b67d-127ecfb05f2c", "cd7e26d5-af11-43ee-af6b-b9f5f064150f", "ab9b93a7-0923-4417-84c2-95d0a38cb591", "e1fae1c6-225a-4e70-960e-abc71ca9d7a0"], "citations": ["The fee as of writing this was 100k IDR"], "generated_at": "2025-10-13 17:23:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good time to visit Tanah Lot temple to get close to it?", "output": "low tide", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["f0f16e6f-8c08-4a80-b67d-127ecfb05f2c", "cd7e26d5-af11-43ee-af6b-b9f5f064150f", "ab9b93a7-0923-4417-84c2-95d0a38cb591", "e1fae1c6-225a-4e70-960e-abc71ca9d7a0"], "citations": ["If you visit at low tide you will be able to get quite a bit closer than at high tide."], "generated_at": "2025-10-13 17:23:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main reason visitors cannot enter the temple?", "output": "The inner area of temples is restricted to those who worship only, and foreigners are not allowed to just walk into the holy area.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["9b59c41c-c578-41d2-97a9-d3a74634753b", "8422ef7e-b5c6-4d10-a9be-6636ec932834", "d994d92c-8bfc-4748-ba88-e47fb383ee6e", "e82dd258-a8ee-41ce-b3f9-38999dee58ac"], "generated_at": "2025-10-13 17:23:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can visitors do instead of entering the temple?", "output": "They can get blessed by the monks at the entrance and take in the beautiful views and gardens.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["9b59c41c-c578-41d2-97a9-d3a74634753b", "8422ef7e-b5c6-4d10-a9be-6636ec932834", "d994d92c-8bfc-4748-ba88-e47fb383ee6e", "e82dd258-a8ee-41ce-b3f9-38999dee58ac"], "generated_at": "2025-10-13 17:23:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "When is the best time to visit Tanah Lot?", "output": "One hour before sunset", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["9b59c41c-c578-41d2-97a9-d3a74634753b", "8422ef7e-b5c6-4d10-a9be-6636ec932834", "d994d92c-8bfc-4748-ba88-e47fb383ee6e", "e82dd258-a8ee-41ce-b3f9-38999dee58ac"], "citations": ["The best time to go one hour before sunset."], "generated_at": "2025-10-13 17:23:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors walk up to the temple at any time?", "output": "No, they can only do so when the tide is out.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["9b59c41c-c578-41d2-97a9-d3a74634753b", "8422ef7e-b5c6-4d10-a9be-6636ec932834", "d994d92c-8bfc-4748-ba88-e47fb383ee6e", "e82dd258-a8ee-41ce-b3f9-38999dee58ac"], "generated_at": "2025-10-13 17:23:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What happens to visitors who try to enter the temple during high tide?", "output": "They will not be able to access it.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["9b59c41c-c578-41d2-97a9-d3a74634753b", "8422ef7e-b5c6-4d10-a9be-6636ec932834", "d994d92c-8bfc-4748-ba88-e47fb383ee6e", "e82dd258-a8ee-41ce-b3f9-38999dee58ac"], "generated_at": "2025-10-13 17:23:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can visitors see if they climb the steps of the temple?", "output": "The view is really beautiful, but it's not worth climbing more than 4 or 5 steps.", "meta": {"source_path": "corpus/topic=2__part=018__n=60.txt", "chunk_ids": ["9b59c41c-c578-41d2-97a9-d3a74634753b", "8422ef7e-b5c6-4d10-a9be-6636ec932834", "d994d92c-8bfc-4748-ba88-e47fb383ee6e", "e82dd258-a8ee-41ce-b3f9-38999dee58ac"], "generated_at": "2025-10-13 17:23:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the highest temple at the peak of Mount Lempuyang?", "output": "Pura Lempuyang Luhur", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["cbd14708-5094-4ff3-99d8-2738ea1af2ae", "c924d394-b8a7-43ed-b4e3-c25ea6916077", "7b072575-8912-46c9-bebc-3b3f21f7bdf2", "5929fdaa-f1f0-4b96-98e3-d23651b8478c"], "generated_at": "2025-10-13 17:23:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did it take for the couple to visit all 7 temples at Pura Lempuyang?", "output": "3.5 hours", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["cbd14708-5094-4ff3-99d8-2738ea1af2ae", "c924d394-b8a7-43ed-b4e3-c25ea6916077", "7b072575-8912-46c9-bebc-3b3f21f7bdf2", "5929fdaa-f1f0-4b96-98e3-d23651b8478c"], "generated_at": "2025-10-13 17:23:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique experience that visitors can have at Pura Lempuyang?", "output": "Watching ceremonies with the locals, especially during Full Moon Festivities", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["cbd14708-5094-4ff3-99d8-2738ea1af2ae", "c924d394-b8a7-43ed-b4e3-c25ea6916077", "7b072575-8912-46c9-bebc-3b3f21f7bdf2", "5929fdaa-f1f0-4b96-98e3-d23651b8478c"], "generated_at": "2025-10-13 17:23:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How far is Pura Lempuyang from Amed by scooter?", "output": "30 minutes", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["cbd14708-5094-4ff3-99d8-2738ea1af2ae", "c924d394-b8a7-43ed-b4e3-c25ea6916077", "7b072575-8912-46c9-bebc-3b3f21f7bdf2", "5929fdaa-f1f0-4b96-98e3-d23651b8478c"], "generated_at": "2025-10-13 17:23:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors bring to Pura Lempuyang?", "output": "A sarong and covered shoulders for ladies", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["cbd14708-5094-4ff3-99d8-2738ea1af2ae", "c924d394-b8a7-43ed-b4e3-c25ea6916077", "7b072575-8912-46c9-bebc-3b3f21f7bdf2", "5929fdaa-f1f0-4b96-98e3-d23651b8478c"], "generated_at": "2025-10-13 17:23:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Pura Lempuyang?", "output": "INSUFFICIENT_CONTEXT", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["39e749a7-5eea-4242-a7fb-cf515f908d08", "49a435fd-6317-4362-b2a2-b711ac9abdf4", "bad7c4eb-6ffd-45c9-a2aa-c2e88f825d59", "c2aa4881-20e1-4483-8239-3a8abab1f0a9"], "generated_at": "2025-10-13 17:23:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is there a recommended time to visit Pura Lempuyang?", "output": "It's worth visiting early in the morning or late in the afternoon to avoid crowds, according to review 55.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["39e749a7-5eea-4242-a7fb-cf515f908d08", "49a435fd-6317-4362-b2a2-b711ac9abdf4", "bad7c4eb-6ffd-45c9-a2aa-c2e88f825d59", "c2aa4881-20e1-4483-8239-3a8abab1f0a9"], "citations": ["I only went to the first temple and they said it is the best."], "generated_at": "2025-10-13 17:23:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors wear when visiting Pura Lempuyang?", "output": "A sarong is mandatory, but you can rent one for a reasonable price.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["39e749a7-5eea-4242-a7fb-cf515f908d08", "49a435fd-6317-4362-b2a2-b711ac9abdf4", "bad7c4eb-6ffd-45c9-a2aa-c2e88f825d59", "c2aa4881-20e1-4483-8239-3a8abab1f0a9"], "generated_at": "2025-10-13 17:23:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to climb Pura Lempuyang?", "output": "It takes about 2 hours to climb and 1 hour to get down.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["39e749a7-5eea-4242-a7fb-cf515f908d08", "49a435fd-6317-4362-b2a2-b711ac9abdf4", "bad7c4eb-6ffd-45c9-a2aa-c2e88f825d59", "c2aa4881-20e1-4483-8239-3a8abab1f0a9"], "generated_at": "2025-10-13 17:23:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any restrictions on visiting Pura Lempuyang?", "output": "Yes, females who are on their period are not allowed to visit the temple.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["39e749a7-5eea-4242-a7fb-cf515f908d08", "49a435fd-6317-4362-b2a2-b711ac9abdf4", "bad7c4eb-6ffd-45c9-a2aa-c2e88f825d59", "c2aa4881-20e1-4483-8239-3a8abab1f0a9"], "generated_at": "2025-10-13 17:23:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is Angsokanatha's other name?", "output": "Mpu Tantular", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["82b5d59f-fd06-4a75-8eb5-4d577bf0e39a", "28f5dea3-8b31-47d6-b08c-efbf94b946b2", "3c5b3708-c5b0-4660-8cc6-1948308bffd8", "75bca7ff-2328-484f-8293-0fe93e004241"], "generated_at": "2025-10-13 17:23:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How many steps are there to climb through all 9 temples in East Bali?", "output": "about 4 hours all up", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["82b5d59f-fd06-4a75-8eb5-4d577bf0e39a", "28f5dea3-8b31-47d6-b08c-efbf94b946b2", "3c5b3708-c5b0-4660-8cc6-1948308bffd8", "75bca7ff-2328-484f-8293-0fe93e004241"], "generated_at": "2025-10-13 17:23:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of Ulun Danu Temple?", "output": "It's located in the middle of Lake Beratan.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["a6bfb814-8c58-45aa-b695-9f825f864b3d", "12f9514a-844c-4d95-a601-ed3ca3d517ef", "f2e169c8-1557-4b43-93b1-20e87974a8d9", "d90f4efc-eee0-443d-89c8-f8addb0d0d69"], "generated_at": "2025-10-13 17:24:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended activity to do after visiting Ulun Danu Temple?", "output": "Tasting kopi luwak's coffee.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["a6bfb814-8c58-45aa-b695-9f825f864b3d", "12f9514a-844c-4d95-a601-ed3ca3d517ef", "f2e169c8-1557-4b43-93b1-20e87974a8d9", "d90f4efc-eee0-443d-89c8-f8addb0d0d69"], "generated_at": "2025-10-13 17:24:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good time to visit the Ulun Danu Temple?", "output": "Early morning or late afternoon for fewer tourists.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["a6bfb814-8c58-45aa-b695-9f825f864b3d", "12f9514a-844c-4d95-a601-ed3ca3d517ef", "f2e169c8-1557-4b43-93b1-20e87974a8d9", "d90f4efc-eee0-443d-89c8-f8addb0d0d69"], "generated_at": "2025-10-13 17:24:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting the Ulun Danu Temple?", "output": "Yes, for its unique and beautiful scenery.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["a6bfb814-8c58-45aa-b695-9f825f864b3d", "12f9514a-844c-4d95-a601-ed3ca3d517ef", "f2e169c8-1557-4b43-93b1-20e87974a8d9", "d90f4efc-eee0-443d-89c8-f8addb0d0d69"], "generated_at": "2025-10-13 17:24:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to visit the Ulun Danu Temple?", "output": "Not too long, but worth combining with other sightseeings nearby.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["a6bfb814-8c58-45aa-b695-9f825f864b3d", "12f9514a-844c-4d95-a601-ed3ca3d517ef", "f2e169c8-1557-4b43-93b1-20e87974a8d9", "d90f4efc-eee0-443d-89c8-f8addb0d0d69"], "generated_at": "2025-10-13 17:24:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you describe the road to get to Ulun Danu Temple?", "output": "It's steep at many places and can be scary, but a good tour guide like Chongtit can help.", "meta": {"source_path": "corpus/topic=2__part=009__n=60.txt", "chunk_ids": ["a6bfb814-8c58-45aa-b695-9f825f864b3d", "12f9514a-844c-4d95-a601-ed3ca3d517ef", "f2e169c8-1557-4b43-93b1-20e87974a8d9", "d90f4efc-eee0-443d-89c8-f8addb0d0d69"], "generated_at": "2025-10-13 17:24:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists be aware of when visiting Uluwatu Temple?", "output": "Be cautious of aggressive monkeys that may steal belongings, and watch your glasses, jewelry, and food.", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["d31cb945-b7fc-4a97-95ed-271ead12e874", "ac814a39-4859-446e-a940-5d9b44b5540d", "5923658e-7444-4c37-ae87-19558dbe3643", "092544cc-76c0-4f9a-be10-5c64efe32443"], "generated_at": "2025-10-13 17:24:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you describe the Kecak Ramayana & Fire Dance at Uluwatu Temple?", "output": "The dance is 70,000 Rupiah (less than $8 US) and is a highlight of the temple's cultural performances.", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["d31cb945-b7fc-4a97-95ed-271ead12e874", "ac814a39-4859-446e-a940-5d9b44b5540d", "5923658e-7444-4c37-ae87-19558dbe3643", "092544cc-76c0-4f9a-be10-5c64efe32443"], "generated_at": "2025-10-13 17:24:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists bring when visiting Uluwatu Temple?", "output": "Respectful clothing that covers your knees, and consider renting a sarong and sash for entry into the temple.", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["d31cb945-b7fc-4a97-95ed-271ead12e874", "ac814a39-4859-446e-a940-5d9b44b5540d", "5923658e-7444-4c37-ae87-19558dbe3643", "092544cc-76c0-4f9a-be10-5c64efe32443"], "generated_at": "2025-10-13 17:24:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the approximate cost of renting a sash to go into the temple?", "output": "3000 Rupiah (less than $1 US)", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["6aab0faa-a657-4580-9f84-0d03a655d0af", "67f05f05-5ec4-4d52-ae22-6c3791196919", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "789abff7-8b52-4d35-956b-aec69b4615c7"], "generated_at": "2025-10-13 17:24:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak Ramayana & Fire Dance?", "output": "70,000 Rupiah (less than $8 US)", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["6aab0faa-a657-4580-9f84-0d03a655d0af", "67f05f05-5ec4-4d52-ae22-6c3791196919", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "789abff7-8b52-4d35-956b-aec69b4615c7"], "generated_at": "2025-10-13 17:24:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to arrive at Uluwatu Temple to get a good seat for the Kecak dance?", "output": "at least 45 minutes early", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["6aab0faa-a657-4580-9f84-0d03a655d0af", "67f05f05-5ec4-4d52-ae22-6c3791196919", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "789abff7-8b52-4d35-956b-aec69b4615c7"], "generated_at": "2025-10-13 17:24:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is there an entrance fee to visit Uluwatu Temple?", "output": "yes, IDR 30,000 per person", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["6aab0faa-a657-4580-9f84-0d03a655d0af", "67f05f05-5ec4-4d52-ae22-6c3791196919", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "789abff7-8b52-4d35-956b-aec69b4615c7"], "generated_at": "2025-10-13 17:24:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of adult admission tickets to watch the fire dance performance?", "output": "IDR 100K per person", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["6aab0faa-a657-4580-9f84-0d03a655d0af", "67f05f05-5ec4-4d52-ae22-6c3791196919", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "789abff7-8b52-4d35-956b-aec69b4615c7"], "generated_at": "2025-10-13 17:24:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it recommended to watch the Kecak Fire Dance if you are sensitive to fire or heat?", "output": "no", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["6aab0faa-a657-4580-9f84-0d03a655d0af", "67f05f05-5ec4-4d52-ae22-6c3791196919", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "789abff7-8b52-4d35-956b-aec69b4615c7"], "generated_at": "2025-10-13 17:24:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Where is Uluwatu Temple located?", "output": "Bali", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["54779c29-9696-455a-ba10-c28240688137", "ca965e1d-7e82-4308-9e93-748f6c2fa230", "64bc3f77-a144-4e60-a73e-fbaaa3096cf8", "ba9168d3-bc28-4e70-a237-0e2cc4b919c4"], "generated_at": "2025-10-13 17:24:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction of Uluwatu temple?", "output": "Sunset view and Kecak dance", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["54779c29-9696-455a-ba10-c28240688137", "ca965e1d-7e82-4308-9e93-748f6c2fa230", "64bc3f77-a144-4e60-a73e-fbaaa3096cf8", "ba9168d3-bc28-4e70-a237-0e2cc4b919c4"], "generated_at": "2025-10-13 17:24:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is Uluwatu Temple considered significant to the Balinese?", "output": "It's considered the spiritual portal to the afterlife for the Balinese, and all souls that transition from Bali leave through a portal located at the temple.", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["54779c29-9696-455a-ba10-c28240688137", "ca965e1d-7e82-4308-9e93-748f6c2fa230", "64bc3f77-a144-4e60-a73e-fbaaa3096cf8", "ba9168d3-bc28-4e70-a237-0e2cc4b919c4"], "generated_at": "2025-10-13 17:24:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you enter the actual temple inside?", "output": "No, only a person who is worshipping at the temple is allowed.", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["54779c29-9696-455a-ba10-c28240688137", "ca965e1d-7e82-4308-9e93-748f6c2fa230", "64bc3f77-a144-4e60-a73e-fbaaa3096cf8", "ba9168d3-bc28-4e70-a237-0e2cc4b919c4"], "generated_at": "2025-10-13 17:24:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak dance performance?", "output": "100,000 IDR", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["54779c29-9696-455a-ba10-c28240688137", "ca965e1d-7e82-4308-9e93-748f6c2fa230", "64bc3f77-a144-4e60-a73e-fbaaa3096cf8", "ba9168d3-bc28-4e70-a237-0e2cc4b919c4"], "generated_at": "2025-10-13 17:24:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the primary concern for tourists visiting this temple?", "output": "The monkeys stealing their belongings, particularly glasses and other removable items.", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "e2ff85a7-eff4-4371-a72e-3b5789b259e8", "1bcad40c-98a9-48cd-a3bb-979f4bd58fdb", "fe4d1e89-35e9-44da-b6c8-2101c51f787d"], "generated_at": "2025-10-13 17:24:27", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does the entrance ticket cost?", "output": "30,000 rupiah per adult.", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "e2ff85a7-eff4-4371-a72e-3b5789b259e8", "1bcad40c-98a9-48cd-a3bb-979f4bd58fdb", "fe4d1e89-35e9-44da-b6c8-2101c51f787d"], "citations": ["This Uluwatu Temple is an ancient Balinese Hindu temple..."], "generated_at": "2025-10-13 17:24:27", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be used to deter the monkeys from stealing belongings?", "output": "A crocodile soft toy, as they are scared of crocodiles.", "meta": {"source_path": "corpus/topic=7__part=004__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "e2ff85a7-eff4-4371-a72e-3b5789b259e8", "1bcad40c-98a9-48cd-a3bb-979f4bd58fdb", "fe4d1e89-35e9-44da-b6c8-2101c51f787d"], "citations": ["Long story short, a friend who recently came back from Thailand shared that monkeys are very scared of crocodiles!"], "generated_at": "2025-10-13 17:24:27", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of shoes should I wear for trekking Mount Batur?", "output": "Proper hiking shoes", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["7ea2dfcc-05ed-4040-b62a-22f5849701ef", "92f2a7d9-975c-4caa-a6a8-70cd4ce32eef", "8e73842f-9088-4839-b346-c00861557a05", "b7685c9a-8007-466c-ad72-4e1119a7d6ef"], "generated_at": "2025-10-13 17:24:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to climb to the top of Mount Batur?", "output": "2 hours", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["7ea2dfcc-05ed-4040-b62a-22f5849701ef", "92f2a7d9-975c-4caa-a6a8-70cd4ce32eef", "8e73842f-9088-4839-b346-c00861557a05", "b7685c9a-8007-466c-ad72-4e1119a7d6ef"], "generated_at": "2025-10-13 17:24:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it safe for children to trek Mount Batur?", "output": "Yes, as long as you're careful and wear proper shoes", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["7ea2dfcc-05ed-4040-b62a-22f5849701ef", "92f2a7d9-975c-4caa-a6a8-70cd4ce32eef", "8e73842f-9088-4839-b346-c00861557a05", "b7685c9a-8007-466c-ad72-4e1119a7d6ef"], "generated_at": "2025-10-13 17:24:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended activity to do in Bali?", "output": "Sunrise trekking on Mount Batur", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["4e4ae28b-ec8f-4c16-b058-6958fb9bd2c4", "38dcc646-7915-4329-ba68-c7ad6b461a0b", "f034bb35-e0ef-4cd3-91f2-e69e2b0595c6", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "generated_at": "2025-10-13 17:24:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to climb Mount Batur?", "output": "Approximately 2 hours", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["4e4ae28b-ec8f-4c16-b058-6958fb9bd2c4", "38dcc646-7915-4329-ba68-c7ad6b461a0b", "f034bb35-e0ef-4cd3-91f2-e69e2b0595c6", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "generated_at": "2025-10-13 17:24:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear for the sunrise trek on Mount Batur?", "output": "Warm clothes and comfortable trainers", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["4e4ae28b-ec8f-4c16-b058-6958fb9bd2c4", "38dcc646-7915-4329-ba68-c7ad6b461a0b", "f034bb35-e0ef-4cd3-91f2-e69e2b0595c6", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "citations": ["The view at the top for sunrise is amazing!!!"], "generated_at": "2025-10-13 17:24:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended attire for climbing Mt. Batur?", "output": "A warm jacket is essential to wear at the top of the mountain.", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["670dfa09-3626-43a8-a70e-aeee813d3963", "ab56fbf7-2eb9-4d4e-b931-4b3e2b7ab910", "35f61a66-02df-4c6d-9ed7-204f4cc21b56", "f73c30ee-c9c0-4036-ad96-50e0788df05c"], "generated_at": "2025-10-13 17:24:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about climbing Mount Batur?", "output": "It's easier to find solid footholds due to volcanic terrain, but more damaging for stumbles.", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["8bfffca2-b67a-44cd-9776-bd6e8cabe1e3", "2d42685a-da4e-479a-9535-223b5a65d9e0", "8a0a1021-effe-4cc5-b6f8-8adae256d7ae", "4570de8f-bb9b-41cf-acc0-b3b7bd0bd7e4"], "generated_at": "2025-10-13 17:24:46", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you hike Mount Batur without a guide?", "output": "Yes, it's not strictly necessary but having one can provide safety and guidance.", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["8bfffca2-b67a-44cd-9776-bd6e8cabe1e3", "2d42685a-da4e-479a-9535-223b5a65d9e0", "8a0a1021-effe-4cc5-b6f8-8adae256d7ae", "4570de8f-bb9b-41cf-acc0-b3b7bd0bd7e4"], "generated_at": "2025-10-13 17:24:46", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much do guides charge for their services?", "output": "The fee seems high, but the guide only gets a fraction of it; the rest goes to the Mafia or Government.", "meta": {"source_path": "corpus/topic=5__part=009__n=60.txt", "chunk_ids": ["8bfffca2-b67a-44cd-9776-bd6e8cabe1e3", "2d42685a-da4e-479a-9535-223b5a65d9e0", "8a0a1021-effe-4cc5-b6f8-8adae256d7ae", "4570de8f-bb9b-41cf-acc0-b3b7bd0bd7e4"], "citations": ["The fee you pay does seem high, but: The guide does really only get a fraction of the fee - the Mafia / Government get the rest."], "generated_at": "2025-10-13 17:24:46", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time is best to visit the temple?", "output": "Early morning", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["77a81fd5-1e3b-4069-8953-d1bb021816d1", "c6c29c12-0145-4966-8928-ecb735aab094", "d1d1b37e-6e05-49d6-b774-30bac8de71c7", "2e518392-cc5a-4d69-bf05-6d1051627f1f"], "citations": ["I second the opinion of going early morning."], "generated_at": "2025-10-13 17:24:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you take pictures of birds at the temple?", "output": "Yes, but be prepared to handle them", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["77a81fd5-1e3b-4069-8953-d1bb021816d1", "c6c29c12-0145-4966-8928-ecb735aab094", "d1d1b37e-6e05-49d6-b774-30bac8de71c7", "2e518392-cc5a-4d69-bf05-6d1051627f1f"], "citations": ["If you pay to take pics of the birds, you might as well handle them."], "generated_at": "2025-10-13 17:24:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is there a sarong required for entry into the temple?", "output": "No", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["77a81fd5-1e3b-4069-8953-d1bb021816d1", "c6c29c12-0145-4966-8928-ecb735aab094", "d1d1b37e-6e05-49d6-b774-30bac8de71c7", "2e518392-cc5a-4d69-bf05-6d1051627f1f"], "citations": ["You don't need a sarong to get in here."], "generated_at": "2025-10-13 17:24:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to explore the temple grounds?", "output": "At least 2 hours", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["77a81fd5-1e3b-4069-8953-d1bb021816d1", "c6c29c12-0145-4966-8928-ecb735aab094", "d1d1b37e-6e05-49d6-b774-30bac8de71c7", "2e518392-cc5a-4d69-bf05-6d1051627f1f"], "citations": ["have atleast 2 hr for exploring."], "generated_at": "2025-10-13 17:24:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the significance of the temple in the local culture?", "output": "It's a place where locals come to pray during drought", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["77a81fd5-1e3b-4069-8953-d1bb021816d1", "c6c29c12-0145-4966-8928-ecb735aab094", "d1d1b37e-6e05-49d6-b774-30bac8de71c7", "2e518392-cc5a-4d69-bf05-6d1051627f1f"], "citations": ["as created when the priest planted a stick on the shore; when the farmers need water during drought apparently this is where they come to pray."], "generated_at": "2025-10-13 17:24:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any restaurants or shops near the temple?", "output": "Yes, including a buffet restaurant and souvenir shops", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["77a81fd5-1e3b-4069-8953-d1bb021816d1", "c6c29c12-0145-4966-8928-ecb735aab094", "d1d1b37e-6e05-49d6-b774-30bac8de71c7", "2e518392-cc5a-4d69-bf05-6d1051627f1f"], "citations": ["Nice buffet restaurant with reasonable choice of dishes for a set price, including tea or a cold drink."], "generated_at": "2025-10-13 17:24:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is Ulun Danu Bratan Temple known for?", "output": "It's a Hindu temple surrounded by a lake and lush green mountains, offering beautiful scenery and photo opportunities.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["7e26182e-53e1-46ca-9701-ceab5f1927b9", "94822305-8e78-41d9-a16d-a326741ab0ee", "6a93ee18-6933-4e44-8ef6-c817853c4025", "0c8820ed-baa1-433b-9b4b-4dd2a2d6753e"], "citations": ["Known as Lake temple near Bedugul beautiful Hindu Temple is surrounded by lush green mountain,Hindu Ulun Danu temple is situated on the middle of the lake,its very beautiful and charming relaxing place an entry fee of 50,000 Rp./person which is approx 3.5 USD."], "generated_at": "2025-10-13 17:25:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some activities to do at Ulun Danu Bratan Temple?", "output": "You can take a speed boat ride on the lake, walk around the temple grounds, and enjoy photography opportunities.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["7e26182e-53e1-46ca-9701-ceab5f1927b9", "94822305-8e78-41d9-a16d-a326741ab0ee", "6a93ee18-6933-4e44-8ef6-c817853c4025", "0c8820ed-baa1-433b-9b4b-4dd2a2d6753e"], "citations": ["It offers ample photo opportunity. It comprises of a large area with lake, lush green grounds, children playing area and finely decorated with colorful flowers."], "generated_at": "2025-10-13 17:25:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to visit Ulun Danu Bratan Temple?", "output": "The entrance fee is 50,000 Rp./person, which is approximately 3.5 USD.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["7e26182e-53e1-46ca-9701-ceab5f1927b9", "94822305-8e78-41d9-a16d-a326741ab0ee", "6a93ee18-6933-4e44-8ef6-c817853c4025", "0c8820ed-baa1-433b-9b4b-4dd2a2d6753e"], "citations": ["Known as Lake temple near Bedugul beautiful Hindu Temple is surrounded by lush green mountain,Hindu Ulun Danu temple is situated on the middle of the lake,its very beautiful and charming relaxing place an entry fee of 50,000 Rp./person which is approx 3.5 USD."], "generated_at": "2025-10-13 17:25:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is notable about the location of the temple?", "output": "It sits atop a mountain, which is an extinct volcano.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["d1201fe1-5bb2-42ed-bd73-e89c8fb0c2a5", "1efb95ab-22f6-4534-bfb5-9b336323846d", "fb09221e-4d88-40e7-8e69-b1c7abef09da", "c0a0b6d6-92fb-4720-86a8-62b0ee11a775"], "generated_at": "2025-10-13 17:25:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be done on the grounds of the temple?", "output": "You could take a picnic as there are lovely grassy areas to sit.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["d1201fe1-5bb2-42ed-bd73-e89c8fb0c2a5", "1efb95ab-22f6-4534-bfb5-9b336323846d", "fb09221e-4d88-40e7-8e69-b1c7abef09da", "c0a0b6d6-92fb-4720-86a8-62b0ee11a775"], "generated_at": "2025-10-13 17:25:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the weather at the temple compared to other parts of Bali?", "output": "The temperature is cooler, and there's a refreshing breeze due to its location in the mountains.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["d1201fe1-5bb2-42ed-bd73-e89c8fb0c2a5", "1efb95ab-22f6-4534-bfb5-9b336323846d", "fb09221e-4d88-40e7-8e69-b1c7abef09da", "c0a0b6d6-92fb-4720-86a8-62b0ee11a775"], "generated_at": "2025-10-13 17:25:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to visit the temple?", "output": "The entrance fee is IRP 50k per person.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["d1201fe1-5bb2-42ed-bd73-e89c8fb0c2a5", "1efb95ab-22f6-4534-bfb5-9b336323846d", "fb09221e-4d88-40e7-8e69-b1c7abef09da", "c0a0b6d6-92fb-4720-86a8-62b0ee11a775"], "generated_at": "2025-10-13 17:25:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen and experienced at the temple?", "output": "A picturesque view of the lake, mountain, flowers, and trees.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["d1201fe1-5bb2-42ed-bd73-e89c8fb0c2a5", "1efb95ab-22f6-4534-bfb5-9b336323846d", "fb09221e-4d88-40e7-8e69-b1c7abef09da", "c0a0b6d6-92fb-4720-86a8-62b0ee11a775"], "generated_at": "2025-10-13 17:25:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Where is the Ulun Danu Bratan Temple located?", "output": "The temple is located at the end of Beratan lake, in the Bedugul tourist area, Candikuning village, Baturiti district, Tabanan regency, Bali.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["c46e023c-9b5c-4a3d-b02c-12da74609562", "99508f5f-227c-464d-bda4-5fa00bc21e19", "17e37e3e-8dee-491f-b9ef-f47a0bcb4dbd", "c6b0032b-946f-4911-8cd4-e46f9c1321a2"], "generated_at": "2025-10-13 17:25:18", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What makes the Ulun Danu Bratan Temple unique?", "output": "The temple appears to float on water when the lake's water level rises.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["c46e023c-9b5c-4a3d-b02c-12da74609562", "99508f5f-227c-464d-bda4-5fa00bc21e19", "17e37e3e-8dee-491f-b9ef-f47a0bcb4dbd", "c6b0032b-946f-4911-8cd4-e46f9c1321a2"], "generated_at": "2025-10-13 17:25:18", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to drive from Kuta to Ulun Danu Bratan Temple?", "output": "It takes about 2 hours with traffic.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["c46e023c-9b5c-4a3d-b02c-12da74609562", "99508f5f-227c-464d-bda4-5fa00bc21e19", "17e37e3e-8dee-491f-b9ef-f47a0bcb4dbd", "c6b0032b-946f-4911-8cd4-e46f9c1321a2"], "citations": ["(25)"], "generated_at": "2025-10-13 17:25:18", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can visitors do at the temple?", "output": "Visitors can enjoy the uniqueness of the temple and the beautiful natural surroundings, take nice pictures, and walk around the temple complex.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["c46e023c-9b5c-4a3d-b02c-12da74609562", "99508f5f-227c-464d-bda4-5fa00bc21e19", "17e37e3e-8dee-491f-b9ef-f47a0bcb4dbd", "c6b0032b-946f-4911-8cd4-e46f9c1321a2"], "citations": ["(12)", "(13)"], "generated_at": "2025-10-13 17:25:18", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is Ulun Danu Bratan Temple a must-visit place in Bali?", "output": "Yes, it is one of the two big lake temples in Bali and a popular tourist destination.", "meta": {"source_path": "corpus/topic=2__part=093__n=60.txt", "chunk_ids": ["c46e023c-9b5c-4a3d-b02c-12da74609562", "99508f5f-227c-464d-bda4-5fa00bc21e19", "17e37e3e-8dee-491f-b9ef-f47a0bcb4dbd", "c6b0032b-946f-4911-8cd4-e46f9c1321a2"], "citations": ["(38)", "(40)"], "generated_at": "2025-10-13 17:25:18", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple on the 50,000 IDR bill?", "output": "Ulun Danu Bratan Temple", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["24933a69-6ece-4517-bf61-8e1c369b7128", "ab78fe1d-4dbe-4ec7-97cd-bb2f998a849d", "daedfbb9-cde2-43fb-808c-164e5ee51e22", "8aa03442-4aa3-4dba-b41e-0f4475523323"], "generated_at": "2025-10-13 17:25:23", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What activities can you do around the temple grounds?", "output": "You can take a walk, hire boats, rent paddleboats, and sit to get out of the sunlight.", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["24933a69-6ece-4517-bf61-8e1c369b7128", "ab78fe1d-4dbe-4ec7-97cd-bb2f998a849d", "daedfbb9-cde2-43fb-808c-164e5ee51e22", "8aa03442-4aa3-4dba-b41e-0f4475523323"], "generated_at": "2025-10-13 17:25:23", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting the temple if you're a photographer?", "output": "Yes, especially during the early morning when the light is good.", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["24933a69-6ece-4517-bf61-8e1c369b7128", "ab78fe1d-4dbe-4ec7-97cd-bb2f998a849d", "daedfbb9-cde2-43fb-808c-164e5ee51e22", "8aa03442-4aa3-4dba-b41e-0f4475523323"], "generated_at": "2025-10-13 17:25:23", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of the temple located in a scenic spot?", "output": "nothing much to see inside", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["349e4ce3-ba50-4c76-9f37-fc6c613d34e0", "8896b725-9cd5-4453-bf3f-2028aeca4aaf", "63bb33df-bd7c-4914-99ed-32ddffeba702", "08eec50f-9e8d-4414-ac39-ff53dd1b751a"], "citations": ["It's just another temple at Bali."], "generated_at": "2025-10-13 17:25:28", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended time for taking photographs at this temple?", "output": "during sunrise time", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["349e4ce3-ba50-4c76-9f37-fc6c613d34e0", "8896b725-9cd5-4453-bf3f-2028aeca4aaf", "63bb33df-bd7c-4914-99ed-32ddffeba702", "08eec50f-9e8d-4414-ac39-ff53dd1b751a"], "citations": ["As you can get a beautiful background(sky) with beautiful foreground (temple) in one picture!"], "generated_at": "2025-10-13 17:25:28", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is an alternative activity to do at this temple?", "output": "speed boat experience", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["349e4ce3-ba50-4c76-9f37-fc6c613d34e0", "8896b725-9cd5-4453-bf3f-2028aeca4aaf", "63bb33df-bd7c-4914-99ed-32ddffeba702", "08eec50f-9e8d-4414-ac39-ff53dd1b751a"], "citations": ["Do try the speed boat experience"], "generated_at": "2025-10-13 17:25:28", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple located in between pretty hills on the banks of a picturesque lake?", "output": "Ulun Danu Bratan Temple", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["f2f0884e-f1cb-4e01-a30a-a589edd4fe0a", "4f481806-0e04-4721-a0d2-6d93c6bb02be", "b1522263-4a7d-42de-b7ef-299015fbaa19", "582b7671-434b-4887-8390-e3149d36b5d9"], "generated_at": "2025-10-13 17:25:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to get inside the temple complex at Ulun Danu Bratan Temple?", "output": "30,000 IDR", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "citations": ["It only costs about 30,000 IDR to get in"], "chunk_ids": ["f2f0884e-f1cb-4e01-a30a-a589edd4fe0a", "4f481806-0e04-4721-a0d2-6d93c6bb02be", "b1522263-4a7d-42de-b7ef-299015fbaa19", "582b7671-434b-4887-8390-e3149d36b5d9"], "generated_at": "2025-10-13 17:25:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of the temple's surroundings?", "output": "A lake and surrounding hills", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["f2f0884e-f1cb-4e01-a30a-a589edd4fe0a", "4f481806-0e04-4721-a0d2-6d93c6bb02be", "b1522263-4a7d-42de-b7ef-299015fbaa19", "582b7671-434b-4887-8390-e3149d36b5d9"], "generated_at": "2025-10-13 17:25:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is Ulun Danu Bratan Temple worth visiting?", "output": "Yes, it is a must see in Bali.", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "citations": ["This one wins by far! Go check it out; it only costs about 30,000 IDR to get in"], "chunk_ids": ["f2f0884e-f1cb-4e01-a30a-a589edd4fe0a", "4f481806-0e04-4721-a0d2-6d93c6bb02be", "b1522263-4a7d-42de-b7ef-299015fbaa19", "582b7671-434b-4887-8390-e3149d36b5d9"], "generated_at": "2025-10-13 17:25:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen in the grounds surrounding Ulun Danu Bratan Temple?", "output": "Statue-like structures of many birds and animals", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["f2f0884e-f1cb-4e01-a30a-a589edd4fe0a", "4f481806-0e04-4721-a0d2-6d93c6bb02be", "b1522263-4a7d-42de-b7ef-299015fbaa19", "582b7671-434b-4887-8390-e3149d36b5d9"], "generated_at": "2025-10-13 17:25:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entry price for Ulun Danu temple?", "output": "The entry price is set.", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["1ed19acf-1e48-452a-9d46-11475aa7c088", "6631db50-c8e8-46d6-bde9-1672d4a586ef", "8d20f415-f13a-4a29-a839-c8dfdd929ba5", "c0058f16-589f-433c-8612-edcc5f5436bb"], "generated_at": "2025-10-13 17:25:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some activities to do at Ulun Danu Beratan Temple?", "output": "You can explore by foot, take a little swan paddle boat, or walk around the grounds and take photos.", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["1ed19acf-1e48-452a-9d46-11475aa7c088", "6631db50-c8e8-46d6-bde9-1672d4a586ef", "8d20f415-f13a-4a29-a839-c8dfdd929ba5", "c0058f16-589f-433c-8612-edcc5f5436bb"], "generated_at": "2025-10-13 17:25:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How does the water level at Ulun Danu temple change?", "output": "The water only comes after months of rain, otherwise it's dry.", "meta": {"source_path": "corpus/topic=2__part=088__n=60.txt", "chunk_ids": ["1ed19acf-1e48-452a-9d46-11475aa7c088", "6631db50-c8e8-46d6-bde9-1672d4a586ef", "8d20f415-f13a-4a29-a839-c8dfdd929ba5", "c0058f16-589f-433c-8612-edcc5f5436bb"], "generated_at": "2025-10-13 17:25:41", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique feature of Tanah Lot Temple?", "output": "It's located on a cliff and surrounded by sea, making it a stunningly beautiful place.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["31e5e4d7-ac3f-4507-9f0a-39bc44b05465", "dd2306cf-e040-465c-b85a-fb0c14984c04", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "88bb145b-0abc-4396-9781-b7415d1e4b43"], "citations": ["The scenery is just amazing and, with the temple positioned where it is, this is a very special and quite spiritual place."], "generated_at": "2025-10-13 17:25:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How crowded was Tanah Lot Temple during sunset?", "output": "It gets busy for sunset, but there are still plenty of spots to enjoy the view.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["31e5e4d7-ac3f-4507-9f0a-39bc44b05465", "dd2306cf-e040-465c-b85a-fb0c14984c04", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "88bb145b-0abc-4396-9781-b7415d1e4b43"], "citations": ["It gets busy for sunset, this is promoted as sunset temple."], "generated_at": "2025-10-13 17:25:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be done at Tanah Lot Temple?", "output": "You can watch the procession of offerings made by locals, take pictures from any side, and explore the temple grounds.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["31e5e4d7-ac3f-4507-9f0a-39bc44b05465", "dd2306cf-e040-465c-b85a-fb0c14984c04", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "88bb145b-0abc-4396-9781-b7415d1e4b43"], "citations": ["watched the procession of offerings made by locals, it was amazing but quite busy."], "generated_at": "2025-10-13 17:25:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique experience at Tanah Lot Temple?", "output": "You can walk through the water to get to the temple area.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["31e5e4d7-ac3f-4507-9f0a-39bc44b05465", "dd2306cf-e040-465c-b85a-fb0c14984c04", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "88bb145b-0abc-4396-9781-b7415d1e4b43"], "citations": ["One has to walk through the water to get to them."], "generated_at": "2025-10-13 17:25:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should be avoided at Tanah Lot Temple?", "output": "Don't go near the waterfall, as it will make you smell it before you get close.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["31e5e4d7-ac3f-4507-9f0a-39bc44b05465", "dd2306cf-e040-465c-b85a-fb0c14984c04", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "88bb145b-0abc-4396-9781-b7415d1e4b43"], "citations": ["Lots of shops when walking to temple and restaurants"], "generated_at": "2025-10-13 17:25:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the situation like at temple toilets in Bali?", "output": "They can be very dirty.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["6b543da9-a77e-45eb-b03b-6f88de3ae773", "a6ac5870-7de5-4ffb-a39f-51cafb1d107d", "7233cbeb-c642-4184-89cc-fb67e3f7fafd", "9e73c042-675b-4a59-9346-2338539d22a4"], "generated_at": "2025-10-13 17:25:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter a temple in Bali?", "output": "The entry fee is not fixed, but you will have to pay for each person in your group.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["6b543da9-a77e-45eb-b03b-6f88de3ae773", "a6ac5870-7de5-4ffb-a39f-51cafb1d107d", "7233cbeb-c642-4184-89cc-fb67e3f7fafd", "9e73c042-675b-4a59-9346-2338539d22a4"], "generated_at": "2025-10-13 17:25:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can visitors do around the temple on water in Bali?", "output": "They can visit the temple on their own without a guide and also go for a boat or jet ski ride.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["6b543da9-a77e-45eb-b03b-6f88de3ae773", "a6ac5870-7de5-4ffb-a39f-51cafb1d107d", "7233cbeb-c642-4184-89cc-fb67e3f7fafd", "9e73c042-675b-4a59-9346-2338539d22a4"], "generated_at": "2025-10-13 17:25:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the Tanah Lot temple's location?", "output": "It is located on an offshore rock, and during high tide, it is completely cut off from the main island.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["43691b04-8e09-4940-ba44-16b95ff0ede1", "ba275124-c791-4b3c-89e1-05323f1185e2", "41003e9a-914b-499e-bc07-b55c9dd7a757", "951858fd-f412-43ce-84c8-649c8cbace44"], "generated_at": "2025-10-13 17:25:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you take photos without other tourists in the background?", "output": "No, it may be hard to take photos without other tourists in the background.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["43691b04-8e09-4940-ba44-16b95ff0ede1", "ba275124-c791-4b3c-89e1-05323f1185e2", "41003e9a-914b-499e-bc07-b55c9dd7a757", "951858fd-f412-43ce-84c8-649c8cbace44"], "generated_at": "2025-10-13 17:25:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular time to visit Tanah Lot temple for its sunset view?", "output": "The best view is at sunset from the cliff on the right side, but be early because it gets crowded.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["43691b04-8e09-4940-ba44-16b95ff0ede1", "ba275124-c791-4b3c-89e1-05323f1185e2", "41003e9a-914b-499e-bc07-b55c9dd7a757", "951858fd-f412-43ce-84c8-649c8cbace44"], "generated_at": "2025-10-13 17:25:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the typical wait time to take pictures at Tenah Lot?", "output": "At least 1 hour, and sometimes up to 3 hours.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["22d203d4-a3c9-4bdc-bbbc-07b488285ed4", "eac706cc-bec6-4b2f-a9cc-9e0ca02313ec", "09f5c308-91f3-4f6e-80bc-bdb427faf230", "f282523d-f66e-45ca-8872-704f9320dca7"], "generated_at": "2025-10-13 17:26:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any facilities available at Tenah Lot?", "output": "Yes, there are toilets and restaurants available, but some of them may be dirty or require a fee.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["22d203d4-a3c9-4bdc-bbbc-07b488285ed4", "eac706cc-bec6-4b2f-a9cc-9e0ca02313ec", "09f5c308-91f3-4f6e-80bc-bdb427faf230", "f282523d-f66e-45ca-8872-704f9320dca7"], "generated_at": "2025-10-13 17:26:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Tenah Lot to avoid crowds?", "output": "Going early, before 10am, can help you avoid long lines.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["22d203d4-a3c9-4bdc-bbbc-07b488285ed4", "eac706cc-bec6-4b2f-a9cc-9e0ca02313ec", "09f5c308-91f3-4f6e-80bc-bdb427faf230", "f282523d-f66e-45ca-8872-704f9320dca7"], "generated_at": "2025-10-13 17:26:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it necessary to hire a photographer at Tenah Lot?", "output": "No, there are men who work at the temple that can take your photos for you.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["22d203d4-a3c9-4bdc-bbbc-07b488285ed4", "eac706cc-bec6-4b2f-a9cc-9e0ca02313ec", "09f5c308-91f3-4f6e-80bc-bdb427faf230", "f282523d-f66e-45ca-8872-704f9320dca7"], "generated_at": "2025-10-13 17:26:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the way photographs are taken at Tenah Lot?", "output": "They use a mirror to create the illusion of a reflection, rather than actually being on water.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["22d203d4-a3c9-4bdc-bbbc-07b488285ed4", "eac706cc-bec6-4b2f-a9cc-9e0ca02313ec", "09f5c308-91f3-4f6e-80bc-bdb427faf230", "f282523d-f66e-45ca-8872-704f9320dca7"], "generated_at": "2025-10-13 17:26:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to visit Tenah Lot?", "output": "At least 2 hours is recommended, but it can be worth visiting for a longer time.", "meta": {"source_path": "corpus/topic=2__part=047__n=60.txt", "chunk_ids": ["22d203d4-a3c9-4bdc-bbbc-07b488285ed4", "eac706cc-bec6-4b2f-a9cc-9e0ca02313ec", "09f5c308-91f3-4f6e-80bc-bdb427faf230", "f282523d-f66e-45ca-8872-704f9320dca7"], "generated_at": "2025-10-13 17:26:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is special about this temple's location?", "output": "It's located by a cliff with a spectacular view.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["f22b3c5f-c6da-4280-81d2-a8ce9a0e3e30", "3be59313-43ca-48a1-9127-933acd359c9c", "8dca2415-06a5-4ccc-b844-7d3b0a028655", "a0ba3c1b-957e-436e-b88d-a8daeb83590f"], "generated_at": "2025-10-13 17:26:10", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any risks associated with visiting this temple?", "output": "Yes, be careful of the monkeys as they may snatch your belongings.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["f22b3c5f-c6da-4280-81d2-a8ce9a0e3e30", "3be59313-43ca-48a1-9127-933acd359c9c", "8dca2415-06a5-4ccc-b844-7d3b0a028655", "a0ba3c1b-957e-436e-b88d-a8daeb83590f"], "generated_at": "2025-10-13 17:26:10", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at this temple?", "output": "Watching the sunset and the Kecak dance are highly recommended.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["f22b3c5f-c6da-4280-81d2-a8ce9a0e3e30", "3be59313-43ca-48a1-9127-933acd359c9c", "8dca2415-06a5-4ccc-b844-7d3b0a028655", "a0ba3c1b-957e-436e-b88d-a8daeb83590f"], "generated_at": "2025-10-13 17:26:10", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear to visit this temple?", "output": "A sarong is provided, but you may want to dress modestly.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["0178285b-be6b-481f-9664-35868ea055a1", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "be458059-d90d-4681-822b-251054c44c7a", "2597ad03-36bf-496f-9ee5-7d72c96bfbd5"], "citations": ["One has to be well dressed to enter the temple.."], "generated_at": "2025-10-13 17:26:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do I protect my belongings from the monkeys?", "output": "Keep a tight hold on your cameras and avoid wearing sunglasses or other items that might attract them.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["0178285b-be6b-481f-9664-35868ea055a1", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "be458059-d90d-4681-822b-251054c44c7a", "2597ad03-36bf-496f-9ee5-7d72c96bfbd5"], "citations": ["Avoid wearing sunglass/glasses, cap etc, and keep a tight hold on your cameras."], "generated_at": "2025-10-13 17:26:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can I expect to see at sunset?", "output": "The view is stunning with the Indian ocean in the background.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["0178285b-be6b-481f-9664-35868ea055a1", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "be458059-d90d-4681-822b-251054c44c7a", "2597ad03-36bf-496f-9ee5-7d72c96bfbd5"], "citations": ["You don't go there for the temple, which you can't access, but for the dramatic views from the top of the cliffs."], "generated_at": "2025-10-13 17:26:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended attire for visiting temples in this region?", "output": "Long pants, shirts that cover the arms, no headwear, and no shades when entering.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["046eb8f7-5e63-43d1-91c8-d93dd59d6d75", "dac3ffd4-70c9-43b7-8426-109f6215f442", "e5ae7534-cee9-4f23-9bb5-52b10b0211a0", "7de60464-5362-4ba1-9efc-673b88a77883"], "generated_at": "2025-10-13 17:26:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I take my personal belongings with me to the temple?", "output": "No, be careful and keep everything safe as monkeys can snatch things from you.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["046eb8f7-5e63-43d1-91c8-d93dd59d6d75", "dac3ffd4-70c9-43b7-8426-109f6215f442", "e5ae7534-cee9-4f23-9bb5-52b10b0211a0", "7de60464-5362-4ba1-9efc-673b88a77883"], "generated_at": "2025-10-13 17:26:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to rent a sarong at the temple?", "output": "10,000 IDR per person (€ 0.70)", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["046eb8f7-5e63-43d1-91c8-d93dd59d6d75", "dac3ffd4-70c9-43b7-8426-109f6215f442", "e5ae7534-cee9-4f23-9bb5-52b10b0211a0", "7de60464-5362-4ba1-9efc-673b88a77883"], "citations": ["We always make sure we dress nice and appropriately: Long pants, shirts that cover the arms...", "You NEED to RENT a sarong for 10.000 IDR per person (€ 0,70, at times of writing)"], "generated_at": "2025-10-13 17:26:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I drive my car up to the temple?", "output": "No, go right and walk up the hill road to the temple.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["046eb8f7-5e63-43d1-91c8-d93dd59d6d75", "dac3ffd4-70c9-43b7-8426-109f6215f442", "e5ae7534-cee9-4f23-9bb5-52b10b0211a0", "7de60464-5362-4ba1-9efc-673b88a77883"], "generated_at": "2025-10-13 17:26:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended way to get a picture at the gates of the temple?", "output": "Be prepared to wait a while in the heat and tip the young boys who take your photo.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["046eb8f7-5e63-43d1-91c8-d93dd59d6d75", "dac3ffd4-70c9-43b7-8426-109f6215f442", "e5ae7534-cee9-4f23-9bb5-52b10b0211a0", "7de60464-5362-4ba1-9efc-673b88a77883"], "generated_at": "2025-10-13 17:26:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is notable about the temple's location?", "output": "It is located cliffside with a scenic view of the ocean.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "9a8253fd-6e3a-4427-a137-18f2356ad536", "0b51ab06-b7b2-49e7-9416-a696040a49c8", "96cacf86-eeba-472a-9d11-4aacb868c0b5"], "generated_at": "2025-10-13 17:26:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do tourists protect their belongings from temple monkeys?", "output": "They should remove anything that can be easily taken, such as glasses or earrings, and not feed them.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "9a8253fd-6e3a-4427-a137-18f2356ad536", "0b51ab06-b7b2-49e7-9416-a696040a49c8", "96cacf86-eeba-472a-9d11-4aacb868c0b5"], "generated_at": "2025-10-13 17:26:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do after visiting the temple?", "output": "Try the coconut (kelapa batok) for 20,000 IDR.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "9a8253fd-6e3a-4427-a137-18f2356ad536", "0b51ab06-b7b2-49e7-9416-a696040a49c8", "96cacf86-eeba-472a-9d11-4aacb868c0b5"], "generated_at": "2025-10-13 17:26:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any safety concerns when visiting the temple?", "output": "Yes, beware of aggressive monkeys that will steal your belongings.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "9a8253fd-6e3a-4427-a137-18f2356ad536", "0b51ab06-b7b2-49e7-9416-a696040a49c8", "96cacf86-eeba-472a-9d11-4aacb868c0b5"], "generated_at": "2025-10-13 17:26:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of the temple complex?", "output": "The view from the temple is really amazing, overlooking the Indian Ocean.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "9a8253fd-6e3a-4427-a137-18f2356ad536", "0b51ab06-b7b2-49e7-9416-a696040a49c8", "96cacf86-eeba-472a-9d11-4aacb868c0b5"], "generated_at": "2025-10-13 17:26:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do tourists typically interact with the monkeys at the temple?", "output": "They often try to bribe them with food, but this can condition them to steal.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "9a8253fd-6e3a-4427-a137-18f2356ad536", "0b51ab06-b7b2-49e7-9416-a696040a49c8", "96cacf86-eeba-472a-9d11-4aacb868c0b5"], "generated_at": "2025-10-13 17:26:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular time to visit the temple?", "output": "At sunset, when the view is especially beautiful.", "meta": {"source_path": "corpus/topic=4__part=006__n=60.txt", "chunk_ids": ["fd3614ed-3335-475f-b068-045ac3d98dec", "9a8253fd-6e3a-4427-a137-18f2356ad536", "0b51ab06-b7b2-49e7-9416-a696040a49c8", "96cacf86-eeba-472a-9d11-4aacb868c0b5"], "generated_at": "2025-10-13 17:26:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost to enter the temple grounds?", "output": "$3AUD per person", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["ab94eb9c-11b3-4a0a-bf61-689c0e5745b2", "ffc0c268-928d-4992-a165-af493247a692", "e65be1f5-ff3f-4451-88ee-6c8904bc3fc7", "3f839636-a9b4-4c10-8768-07c8868a7ec9"], "generated_at": "2025-10-13 17:26:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can tourists get a drink on the way down to the temple in Bali?", "output": "Yes", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["ab94eb9c-11b3-4a0a-bf61-689c0e5745b2", "ffc0c268-928d-4992-a165-af493247a692", "e65be1f5-ff3f-4451-88ee-6c8904bc3fc7", "3f839636-a9b4-4c10-8768-07c8868a7ec9"], "citations": ["Totally worth the taxi fare from Kuta\nApprox $30-$40 return trip on s bluebird metered Taxi."], "generated_at": "2025-10-13 17:26:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much should tourists pay for a private tour to visit Bat Cave, Water Palace, and another places in Bali?", "output": "Rp. 700,000 (about USD 70) for a 10 hour trip", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["ab94eb9c-11b3-4a0a-bf61-689c0e5745b2", "ffc0c268-928d-4992-a165-af493247a692", "e65be1f5-ff3f-4451-88ee-6c8904bc3fc7", "3f839636-a9b4-4c10-8768-07c8868a7ec9"], "generated_at": "2025-10-13 17:26:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple that is only a short walk away from a beach in Bali?", "output": "INSUFFICIENT_CONTEXT", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["ab94eb9c-11b3-4a0a-bf61-689c0e5745b2", "ffc0c268-928d-4992-a165-af493247a692", "e65be1f5-ff3f-4451-88ee-6c8904bc3fc7", "3f839636-a9b4-4c10-8768-07c8868a7ec9"], "generated_at": "2025-10-13 17:26:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to drive from Kuta to the peak where you can see a stunning view in Bali?", "output": "About 11/2 hours", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["ab94eb9c-11b3-4a0a-bf61-689c0e5745b2", "ffc0c268-928d-4992-a165-af493247a692", "e65be1f5-ff3f-4451-88ee-6c8904bc3fc7", "3f839636-a9b4-4c10-8768-07c8868a7ec9"], "generated_at": "2025-10-13 17:26:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple mentioned in the text?", "output": "Tanah Lot Temple", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["3ef956db-bb6e-4654-b983-a319ff3f5275", "e286808c-0ff2-4f14-ae9c-d8a8acae7d97", "79b41768-7426-42eb-bd48-732616883ed6", "b1f9efb4-32f8-438f-9702-400a5b82eae4"], "generated_at": "2025-10-13 17:26:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen at Tanah Lot during low tide?", "output": "The temple and a holy spring", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["3ef956db-bb6e-4654-b983-a319ff3f5275", "e286808c-0ff2-4f14-ae9c-d8a8acae7d97", "79b41768-7426-42eb-bd48-732616883ed6", "b1f9efb4-32f8-438f-9702-400a5b82eae4"], "generated_at": "2025-10-13 17:26:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to visit Tanah Lot Temple?", "output": "Late afternoon for sunset", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["3ef956db-bb6e-4654-b983-a319ff3f5275", "e286808c-0ff2-4f14-ae9c-d8a8acae7d97", "79b41768-7426-42eb-bd48-732616883ed6", "b1f9efb4-32f8-438f-9702-400a5b82eae4"], "generated_at": "2025-10-13 17:26:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Tanah Lot Temple?", "output": "30,000 IDR per person", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["7a50ac3d-a37d-4dc3-a3a8-d3b8593451e1", "58e8ec7c-575a-4577-ac2c-a8e4ebb02c8f", "94cbe8e5-9f15-411b-afd6-9d8a814c718f", "ba29ad65-fe9c-4d4d-b3b3-9c6cfd1e7eca"], "citations": ["The entrance was very touristy, and we each had to pay 60k IDR to enter."], "generated_at": "2025-10-13 17:26:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can tourists go inside the temple at Tanah Lot?", "output": "No", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["7a50ac3d-a37d-4dc3-a3a8-d3b8593451e1", "58e8ec7c-575a-4577-ac2c-a8e4ebb02c8f", "94cbe8e5-9f15-411b-afd6-9d8a814c718f", "ba29ad65-fe9c-4d4d-b3b3-9c6cfd1e7eca"], "citations": ["You are not allowed in the actual temple"], "generated_at": "2025-10-13 17:26:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of Tanah Lot Temple at sunset?", "output": "The sunset is magical", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["7a50ac3d-a37d-4dc3-a3a8-d3b8593451e1", "58e8ec7c-575a-4577-ac2c-a8e4ebb02c8f", "94cbe8e5-9f15-411b-afd6-9d8a814c718f", "ba29ad65-fe9c-4d4d-b3b3-9c6cfd1e7eca"], "citations": ["You have to get there reasonably early in order to find a nice spot. Ideally try to get to one of the restaurants overlooking the temple so you can not only watch the sunset, but catch a glimpse of the buddhist prayer ceremonies that go on within it."], "generated_at": "2025-10-13 17:26:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors enter the actual temple at Tirtha Empul?", "output": "No", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["7a50ac3d-a37d-4dc3-a3a8-d3b8593451e1", "58e8ec7c-575a-4577-ac2c-a8e4ebb02c8f", "94cbe8e5-9f15-411b-afd6-9d8a814c718f", "ba29ad65-fe9c-4d4d-b3b3-9c6cfd1e7eca"], "citations": ["Remember this is an active temple so you really don't get to go inside like most major temples."], "generated_at": "2025-10-13 17:26:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique aspect of visiting Tirtha Empul?", "output": "You can see the temple from afar, and it's well taken care of", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["7a50ac3d-a37d-4dc3-a3a8-d3b8593451e1", "58e8ec7c-575a-4577-ac2c-a8e4ebb02c8f", "94cbe8e5-9f15-411b-afd6-9d8a814c718f", "ba29ad65-fe9c-4d4d-b3b3-9c6cfd1e7eca"], "citations": ["The picturesque piece is located on the lake, one really can only see from afar."], "generated_at": "2025-10-13 17:26:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable experience visitors can have at this temple?", "output": "Getting blessed in the holy spring", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["e5c0aeea-0fc5-4776-9be4-ff9254359df5", "b26fe390-6c6f-4e1c-a803-38a59819244e", "e533f852-915b-4403-a3be-c4e8e58b1627", "15709058-8ca2-4425-b3d5-1f1dfa446474"], "generated_at": "2025-10-13 17:27:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up to the top of the mountain?", "output": "About 1.5 hours", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["e5c0aeea-0fc5-4776-9be4-ff9254359df5", "b26fe390-6c6f-4e1c-a803-38a59819244e", "e533f852-915b-4403-a3be-c4e8e58b1627", "15709058-8ca2-4425-b3d5-1f1dfa446474"], "generated_at": "2025-10-13 17:27:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors be aware of when visiting this temple?", "output": "Crowds, sellers, and litter", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["e5c0aeea-0fc5-4776-9be4-ff9254359df5", "b26fe390-6c6f-4e1c-a803-38a59819244e", "e533f852-915b-4403-a3be-c4e8e58b1627", "15709058-8ca2-4425-b3d5-1f1dfa446474"], "generated_at": "2025-10-13 17:27:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting the temple just for its market?", "output": "Yes, it's great with lots to see that you won't find elsewhere", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["e5c0aeea-0fc5-4776-9be4-ff9254359df5", "b26fe390-6c6f-4e1c-a803-38a59819244e", "e533f852-915b-4403-a3be-c4e8e58b1627", "15709058-8ca2-4425-b3d5-1f1dfa446474"], "generated_at": "2025-10-13 17:27:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit this temple to avoid crowds?", "output": "Early in the morning, before 9 am", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["e5c0aeea-0fc5-4776-9be4-ff9254359df5", "b26fe390-6c6f-4e1c-a803-38a59819244e", "e533f852-915b-4403-a3be-c4e8e58b1627", "15709058-8ca2-4425-b3d5-1f1dfa446474"], "generated_at": "2025-10-13 17:27:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors use credit cards for transactions at the temple?", "output": "No, only cash is accepted", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "chunk_ids": ["e5c0aeea-0fc5-4776-9be4-ff9254359df5", "b26fe390-6c6f-4e1c-a803-38a59819244e", "e533f852-915b-4403-a3be-c4e8e58b1627", "15709058-8ca2-4425-b3d5-1f1dfa446474"], "generated_at": "2025-10-13 17:27:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some challenges that visitors may face when hiking up to the top of the mountain?", "output": "Scrambling over sharp and loose volcanic rock, especially in the dark", "meta": {"source_path": "corpus/topic=2__part=052__n=60.txt", "citations": ["The hike up took us 2 hours, slightly challenging for someone who doesn't take to exercising too well"], "chunk_ids": ["e5c0aeea-0fc5-4776-9be4-ff9254359df5", "b26fe390-6c6f-4e1c-a803-38a59819244e", "e533f852-915b-4403-a3be-c4e8e58b1627", "15709058-8ca2-4425-b3d5-1f1dfa446474"], "generated_at": "2025-10-13 17:27:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Tanah Lot temple?", "output": "Low tide, so you can walk down to the main temple.", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["07545cf0-2617-42c6-a26f-a6f01c97d079", "16f5cd9d-0518-4325-9adb-dcf1f580a49b", "9954787e-6e62-4e8e-b9b0-7159c7026ea5", "e99c0221-8207-4b6f-baad-f10e61cd8128"], "generated_at": "2025-10-13 17:27:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you wear just anything when visiting Tanah Lot?", "output": "No, if entering the temple, a sarong with a cloth belt is required.", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["07545cf0-2617-42c6-a26f-a6f01c97d079", "16f5cd9d-0518-4325-9adb-dcf1f580a49b", "9954787e-6e62-4e8e-b9b0-7159c7026ea5", "e99c0221-8207-4b6f-baad-f10e61cd8128"], "generated_at": "2025-10-13 17:27:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What makes Tanah Lot unique?", "output": "Its uniquely located on the ocean cliff, with a main temple in the sea.", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["07545cf0-2617-42c6-a26f-a6f01c97d079", "16f5cd9d-0518-4325-9adb-dcf1f580a49b", "9954787e-6e62-4e8e-b9b0-7159c7026ea5", "e99c0221-8207-4b6f-baad-f10e61cd8128"], "generated_at": "2025-10-13 17:27:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple in Bali that is known for its stunning views?", "output": "Pura Uluwatu", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["0304c6ae-5a73-44af-b2ea-4bc92f4a7a85", "37080f43-bd3c-4aeb-8fba-7d664d1f2168", "55f768c7-ea90-468b-a532-77e20d306eb1", "35d3dbf9-b95b-474d-8d08-43894fe335a3"], "generated_at": "2025-10-13 17:27:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear to enter the temple premises?", "output": "A sarong, which is included in the entrance price", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["0304c6ae-5a73-44af-b2ea-4bc92f4a7a85", "37080f43-bd3c-4aeb-8fba-7d664d1f2168", "55f768c7-ea90-468b-a532-77e20d306eb1", "35d3dbf9-b95b-474d-8d08-43894fe335a3"], "generated_at": "2025-10-13 17:27:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What kind of cultural dance performance can I watch at this temple?", "output": "Kecak fire dance", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["0304c6ae-5a73-44af-b2ea-4bc92f4a7a85", "37080f43-bd3c-4aeb-8fba-7d664d1f2168", "55f768c7-ea90-468b-a532-77e20d306eb1", "35d3dbf9-b95b-474d-8d08-43894fe335a3"], "citations": ["The kids enjoyed the whole tour. This is a must visit place."], "generated_at": "2025-10-13 17:27:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time should I arrive at Pura Uluwatu to watch the kecak dance performance?", "output": "Around 3pm", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["0304c6ae-5a73-44af-b2ea-4bc92f4a7a85", "37080f43-bd3c-4aeb-8fba-7d664d1f2168", "55f768c7-ea90-468b-a532-77e20d306eb1", "35d3dbf9-b95b-474d-8d08-43894fe335a3"], "citations": ["Would suggest to arrive around 3pm so you can enjoy the view while waiting for the kecak dance to start."], "generated_at": "2025-10-13 17:27:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it possible to enter the main shrine of Pura Uluwatu?", "output": "Yes, but only with the head priest's approval", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["0304c6ae-5a73-44af-b2ea-4bc92f4a7a85", "37080f43-bd3c-4aeb-8fba-7d664d1f2168", "55f768c7-ea90-468b-a532-77e20d306eb1", "35d3dbf9-b95b-474d-8d08-43894fe335a3"], "generated_at": "2025-10-13 17:27:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is special about Pura Uluwatu according to Hindu belief?", "output": "The power of 3 Hindu lords Shiva, Vishnu and Brahma unite at this temple to save Bali from evils from sea", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["0304c6ae-5a73-44af-b2ea-4bc92f4a7a85", "37080f43-bd3c-4aeb-8fba-7d664d1f2168", "55f768c7-ea90-468b-a532-77e20d306eb1", "35d3dbf9-b95b-474d-8d08-43894fe335a3"], "generated_at": "2025-10-13 17:27:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of temple is this?", "output": "Hindu", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["5890dfbc-d391-465d-85ab-69f7ee7fd7af", "31de67fd-2296-48ca-b37a-c5e53ff1028f", "2a3aff3d-978c-46c0-b70d-1003d7921ff4", "7d08334b-5d3c-46e6-8a29-40e57b084b7a"], "generated_at": "2025-10-13 17:27:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is the main temple accessible to visitors?", "output": "No", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["5890dfbc-d391-465d-85ab-69f7ee7fd7af", "31de67fd-2296-48ca-b37a-c5e53ff1028f", "2a3aff3d-978c-46c0-b70d-1003d7921ff4", "7d08334b-5d3c-46e6-8a29-40e57b084b7a"], "citations": ["You cannot really go inside the temple but just to take pictures outside the gate."], "generated_at": "2025-10-13 17:27:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some things visitors can do during their visit?", "output": "Walk along the cliffs, watch the sunset, see the after fire show, and purchase tickets for a dance performance", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["5890dfbc-d391-465d-85ab-69f7ee7fd7af", "31de67fd-2296-48ca-b37a-c5e53ff1028f", "2a3aff3d-978c-46c0-b70d-1003d7921ff4", "7d08334b-5d3c-46e6-8a29-40e57b084b7a"], "generated_at": "2025-10-13 17:27:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time is best to visit Tanah Lot Temple for a stunning view?", "output": "Evening or early morning to see sunset or sunrise.", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["1e6f2e10-2ea3-48c7-99d8-9682ae98abfb", "9b4e5d2b-f68f-4423-b880-05372f6a406c", "6d6de44f-be27-445d-8fa4-4b33830e13e1", "0985ea48-d665-45f3-b5e5-a48c41c581a8"], "generated_at": "2025-10-13 17:27:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you go inside the temple at Tanah Lot?", "output": "No, it's a temple complex and you cannot go inside.", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["1e6f2e10-2ea3-48c7-99d8-9682ae98abfb", "9b4e5d2b-f68f-4423-b880-05372f6a406c", "6d6de44f-be27-445d-8fa4-4b33830e13e1", "0985ea48-d665-45f3-b5e5-a48c41c581a8"], "generated_at": "2025-10-13 17:27:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some popular activities to do while watching the sunset at Tanah Lot?", "output": "You can order drinks and finger food from the cafe called Sunset Corner, or take photos of the stunning view.", "meta": {"source_path": "corpus/topic=2__part=106__n=60.txt", "chunk_ids": ["1e6f2e10-2ea3-48c7-99d8-9682ae98abfb", "9b4e5d2b-f68f-4423-b880-05372f6a406c", "6d6de44f-be27-445d-8fa4-4b33830e13e1", "0985ea48-d665-45f3-b5e5-a48c41c581a8"], "generated_at": "2025-10-13 17:27:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear to visit this temple?", "output": "Wear comfortable shoes and consider bringing a sarong or clothes that cover your knees.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["726f4423-980c-4cc8-b9ba-c93d42550341", "d04167de-af03-4920-bfa1-9f5217dea2d8", "a705a7c8-4a65-4801-8840-041d391171a3", "341e5ed9-99cf-4208-8f38-6aac2c5e10dd"], "generated_at": "2025-10-13 17:27:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any aggressive animals at the temple?", "output": "Yes, be careful with the monkeys as they can be aggressive and steal your belongings.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["726f4423-980c-4cc8-b9ba-c93d42550341", "d04167de-af03-4920-bfa1-9f5217dea2d8", "a705a7c8-4a65-4801-8840-041d391171a3", "341e5ed9-99cf-4208-8f38-6aac2c5e10dd"], "generated_at": "2025-10-13 17:27:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some tips for visiting this temple?", "output": "Bring an umbrella, wear loose accessories at your own risk, and be prepared for crowds.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["726f4423-980c-4cc8-b9ba-c93d42550341", "d04167de-af03-4920-bfa1-9f5217dea2d8", "a705a7c8-4a65-4801-8840-041d391171a3", "341e5ed9-99cf-4208-8f38-6aac2c5e10dd"], "citations": ["There are plenty of monkeys around (we even saw one at the entrance cradling a puppy). If you are aware of your surroundings and you don’t wear any loose accessories, the monkeys will generally leave you alone."], "generated_at": "2025-10-13 17:27:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear to enter Uluwatu Temple?", "output": "You need to wear a sarong, which is included in the price for entry.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["c5bd924f-a491-4ad1-ac7c-1c9447610b6d", "f8c6796c-4ce3-44e2-ae1c-e32005c52b93", "0dfd108c-d407-49e5-a831-5ed2bdc82925", "371e08c2-bb9d-4b15-a368-9d90be624bc2"], "generated_at": "2025-10-13 17:27:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time should I arrive at Uluwatu Temple to get a good seat?", "output": "It's recommended to arrive by 4 PM to get seated by 5:30 and have a close view of the Kecak dance.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["c5bd924f-a491-4ad1-ac7c-1c9447610b6d", "f8c6796c-4ce3-44e2-ae1c-e32005c52b93", "0dfd108c-d407-49e5-a831-5ed2bdc82925", "371e08c2-bb9d-4b15-a368-9d90be624bc2"], "generated_at": "2025-10-13 17:27:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak dance at Uluwatu Temple?", "output": "It costs an additional 100,000 IDR per person if you want to see the special Balinese dance.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["c5bd924f-a491-4ad1-ac7c-1c9447610b6d", "f8c6796c-4ce3-44e2-ae1c-e32005c52b93", "0dfd108c-d407-49e5-a831-5ed2bdc82925", "371e08c2-bb9d-4b15-a368-9d90be624bc2"], "generated_at": "2025-10-13 17:27:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the Uluwatu temple like?", "output": "The temple itself can't be accessed, but it's a lovely thing to see.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["46f501d4-ed82-4977-980c-3047af9f503b", "daaabb41-427f-4602-9771-6e11e6a3abc8", "41d30dc8-b9cc-45d5-98a1-e637bca6e8a5", "509d510c-ad82-4333-9370-c9978034ae33"], "generated_at": "2025-10-13 17:27:42", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear to the Uluwatu temple?", "output": "You have to wear a special sarong regardless of your clothing.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["46f501d4-ed82-4977-980c-3047af9f503b", "daaabb41-427f-4602-9771-6e11e6a3abc8", "41d30dc8-b9cc-45d5-98a1-e637bca6e8a5", "509d510c-ad82-4333-9370-c9978034ae33"], "generated_at": "2025-10-13 17:27:42", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can I protect my belongings from the monkeys at Uluwatu?", "output": "Keep a sensible distance and don't wear caps or sunglasses.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["46f501d4-ed82-4977-980c-3047af9f503b", "daaabb41-427f-4602-9771-6e11e6a3abc8", "41d30dc8-b9cc-45d5-98a1-e637bca6e8a5", "509d510c-ad82-4333-9370-c9978034ae33"], "generated_at": "2025-10-13 17:27:42", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Uluwatu temple?", "output": "The best time to visit is at sunset.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["46f501d4-ed82-4977-980c-3047af9f503b", "daaabb41-427f-4602-9771-6e11e6a3abc8", "41d30dc8-b9cc-45d5-98a1-e637bca6e8a5", "509d510c-ad82-4333-9370-c9978034ae33"], "generated_at": "2025-10-13 17:27:42", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are the monkeys friendly at Uluwatu?", "output": "No, they are not exactly friendly.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["46f501d4-ed82-4977-980c-3047af9f503b", "daaabb41-427f-4602-9771-6e11e6a3abc8", "41d30dc8-b9cc-45d5-98a1-e637bca6e8a5", "509d510c-ad82-4333-9370-c9978034ae33"], "generated_at": "2025-10-13 17:27:42", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the dress code for visitors to Uluwatu Temple?", "output": "Visitors must cover their legs, and if they don't have long pants or a long skirt, they will be provided with a sarong.", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["60278e1e-e029-433a-ba6b-a43845be02f8", "9f2dcadf-a7b8-44a3-a7c2-a3f066181264", "66737838-61b4-489b-921e-bf7ba1ae1228", "c3a2ed0b-584c-4c60-a396-b4db7a00a0f9"], "generated_at": "2025-10-13 17:27:47", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of watching the Kecak Dance at Uluwatu Temple?", "output": "AUD$10 per person", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["60278e1e-e029-433a-ba6b-a43845be02f8", "9f2dcadf-a7b8-44a3-a7c2-a3f066181264", "66737838-61b4-489b-921e-bf7ba1ae1228", "c3a2ed0b-584c-4c60-a396-b4db7a00a0f9"], "generated_at": "2025-10-13 17:27:47", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time is recommended to visit the Uluwatu Temple for sunset views?", "output": "3-4 pm, so you have enough time to soak in the view and set yourself up for the sunset", "meta": {"source_path": "corpus/topic=7__part=013__n=60.txt", "chunk_ids": ["60278e1e-e029-433a-ba6b-a43845be02f8", "9f2dcadf-a7b8-44a3-a7c2-a3f066181264", "66737838-61b4-489b-921e-bf7ba1ae1228", "c3a2ed0b-584c-4c60-a396-b4db7a00a0f9"], "generated_at": "2025-10-13 17:27:47", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the temple's location?", "output": "Bali", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["4092dc70-6292-4996-97ee-8bc21b2612f8", "9ced7389-32b1-44fb-87cc-e76d5eb24b9d", "1e5862f6-d2f2-45d6-b206-34abcd9ed551", "5c473bb7-32dd-4218-8e19-30212386a235"], "generated_at": "2025-10-13 17:27:51", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did it take to get to Tanah Lot from Seminyak?", "output": "1.5 hours", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["4092dc70-6292-4996-97ee-8bc21b2612f8", "9ced7389-32b1-44fb-87cc-e76d5eb24b9d", "1e5862f6-d2f2-45d6-b206-34abcd9ed551", "5c473bb7-32dd-4218-8e19-30212386a235"], "generated_at": "2025-10-13 17:27:51", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors bring to the temple for Instagram photographs?", "output": "a sarong and a throw to cover their shoulders", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["4092dc70-6292-4996-97ee-8bc21b2612f8", "9ced7389-32b1-44fb-87cc-e76d5eb24b9d", "1e5862f6-d2f2-45d6-b206-34abcd9ed551", "5c473bb7-32dd-4218-8e19-30212386a235"], "generated_at": "2025-10-13 17:27:51", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance ticket price for Uluwatu Temple?", "output": "Rp 3000", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["d57c6678-b550-4a39-9e9b-255e348282a4", "b99cc05b-c70f-4e4a-a72f-6b6acaf11949", "d1201fe1-5bb2-42ed-bd73-e89c8fb0c2a5", "efa134a1-c2b3-49ef-8b1b-e692546c6547"], "generated_at": "2025-10-13 17:27:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it recommended to visit Uluwatu Temple at sunrise or sunset?", "output": "sunset", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["d57c6678-b550-4a39-9e9b-255e348282a4", "b99cc05b-c70f-4e4a-a72f-6b6acaf11949", "d1201fe1-5bb2-42ed-bd73-e89c8fb0c2a5", "efa134a1-c2b3-49ef-8b1b-e692546c6547"], "citations": ["The best time for visiting this place is before sunset for two main reasons :"], "generated_at": "2025-10-13 17:27:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to drive from Nusa Dua to Uluwatu Temple?", "output": "40 minutes", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["d57c6678-b550-4a39-9e9b-255e348282a4", "b99cc05b-c70f-4e4a-a72f-6b6acaf11949", "d1201fe1-5bb2-42ed-bd73-e89c8fb0c2a5", "efa134a1-c2b3-49ef-8b1b-e692546c6547"], "generated_at": "2025-10-13 17:27:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I be careful about when visiting this temple?", "output": "The monkeys", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["5fa6d5aa-7913-42ec-b21f-f366a52fbc14", "788220d8-fd60-4a70-9b0f-05eb316d1d76", "a39c3b2f-5d48-4436-bda8-5b14050e66d8", "3724946e-bc5b-4bbb-bc2f-3279bfba6fa2"], "generated_at": "2025-10-13 17:28:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can I protect my belongings from the monkeys?", "output": "Keep shiny objects inside your bag, such as sunglasses and watches.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["5fa6d5aa-7913-42ec-b21f-f366a52fbc14", "788220d8-fd60-4a70-9b0f-05eb316d1d76", "a39c3b2f-5d48-4436-bda8-5b14050e66d8", "3724946e-bc5b-4bbb-bc2f-3279bfba6fa2"], "generated_at": "2025-10-13 17:28:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended time to visit this temple for the best experience?", "output": "Get there early, around 3pm, to appreciate the full sight of the cliffs and select a spot for the sunset.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["5fa6d5aa-7913-42ec-b21f-f366a52fbc14", "788220d8-fd60-4a70-9b0f-05eb316d1d76", "a39c3b2f-5d48-4436-bda8-5b14050e66d8", "3724946e-bc5b-4bbb-bc2f-3279bfba6fa2"], "generated_at": "2025-10-13 17:28:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is special about the monkeys at this temple?", "output": "They are trained to snatch shiny objects, and you can recover them by paying a fee.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["5fa6d5aa-7913-42ec-b21f-f366a52fbc14", "788220d8-fd60-4a70-9b0f-05eb316d1d76", "a39c3b2f-5d48-4436-bda8-5b14050e66d8", "3724946e-bc5b-4bbb-bc2f-3279bfba6fa2"], "generated_at": "2025-10-13 17:28:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear when visiting this temple?", "output": "A sarong is required if your knees are exposed, and it's included in the entry price.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["5fa6d5aa-7913-42ec-b21f-f366a52fbc14", "788220d8-fd60-4a70-9b0f-05eb316d1d76", "a39c3b2f-5d48-4436-bda8-5b14050e66d8", "3724946e-bc5b-4bbb-bc2f-3279bfba6fa2"], "generated_at": "2025-10-13 17:28:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can I expect to see during the sunset at this temple?", "output": "The sky around the sun changes color, and the water gets a stunning reflection.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["5fa6d5aa-7913-42ec-b21f-f366a52fbc14", "788220d8-fd60-4a70-9b0f-05eb316d1d76", "a39c3b2f-5d48-4436-bda8-5b14050e66d8", "3724946e-bc5b-4bbb-bc2f-3279bfba6fa2"], "generated_at": "2025-10-13 17:28:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is this temple worth visiting?", "output": "Yes, it's a must-see place for sunset-lovers.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["5fa6d5aa-7913-42ec-b21f-f366a52fbc14", "788220d8-fd60-4a70-9b0f-05eb316d1d76", "a39c3b2f-5d48-4436-bda8-5b14050e66d8", "3724946e-bc5b-4bbb-bc2f-3279bfba6fa2"], "generated_at": "2025-10-13 17:28:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main reason tourists visit this temple?", "output": "The view and sunset are excellent, but some visitors feel it's not worth the long drive or the cost.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["1e5862f6-d2f2-45d6-b206-34abcd9ed551", "362fe149-f1b3-4eb9-87d0-6614d2cd26c1", "b6cc76b1-db1f-4176-b567-44f06999b5e8", "dc848db8-58af-4bad-a827-9c2919cb7fd8"], "generated_at": "2025-10-13 17:28:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do tourists typically get to this temple?", "output": "It takes around 2 hours to reach the temple from Kuta, Legian area, due to traffic jams.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["1e5862f6-d2f2-45d6-b206-34abcd9ed551", "362fe149-f1b3-4eb9-87d0-6614d2cd26c1", "b6cc76b1-db1f-4176-b567-44f06999b5e8", "dc848db8-58af-4bad-a827-9c2919cb7fd8"], "generated_at": "2025-10-13 17:28:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is one thing that visitors should be mindful of when watching a performance at this temple?", "output": "Visitors should respect the performers and sit through the whole show, rather than getting up to take pictures or leaving early.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["1e5862f6-d2f2-45d6-b206-34abcd9ed551", "362fe149-f1b3-4eb9-87d0-6614d2cd26c1", "b6cc76b1-db1f-4176-b567-44f06999b5e8", "dc848db8-58af-4bad-a827-9c2919cb7fd8"], "generated_at": "2025-10-13 17:28:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a common complaint about visiting this temple?", "output": "Some visitors feel that the temple itself is disappointing and not worth the long drive.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["1e5862f6-d2f2-45d6-b206-34abcd9ed551", "362fe149-f1b3-4eb9-87d0-6614d2cd26c1", "b6cc76b1-db1f-4176-b567-44f06999b5e8", "dc848db8-58af-4bad-a827-9c2919cb7fd8"], "generated_at": "2025-10-13 17:28:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter this temple?", "output": "The entry fee is 20k IDR per person, with an additional 'payment' or donation expected after visiting.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["1e5862f6-d2f2-45d6-b206-34abcd9ed551", "362fe149-f1b3-4eb9-87d0-6614d2cd26c1", "b6cc76b1-db1f-4176-b567-44f06999b5e8", "dc848db8-58af-4bad-a827-9c2919cb7fd8"], "generated_at": "2025-10-13 17:28:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is one thing that visitors should be prepared for when watching a performance at this temple?", "output": "The performers are putting their effort into providing an authentic and honest spectacle, but tourists should respect them by sitting through the whole show.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["1e5862f6-d2f2-45d6-b206-34abcd9ed551", "362fe149-f1b3-4eb9-87d0-6614d2cd26c1", "b6cc76b1-db1f-4176-b567-44f06999b5e8", "dc848db8-58af-4bad-a827-9c2919cb7fd8"], "generated_at": "2025-10-13 17:28:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at this temple?", "output": "Visitors can watch the sunset and enjoy the view from the cliff.", "meta": {"source_path": "corpus/topic=2__part=099__n=60.txt", "chunk_ids": ["1e5862f6-d2f2-45d6-b206-34abcd9ed551", "362fe149-f1b3-4eb9-87d0-6614d2cd26c1", "b6cc76b1-db1f-4176-b567-44f06999b5e8", "dc848db8-58af-4bad-a827-9c2919cb7fd8"], "generated_at": "2025-10-13 17:28:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
302
raft/outputs/raft_dataset_attempt2.jsonl
Normal file
302
raft/outputs/raft_dataset_attempt2.jsonl
Normal file
@@ -0,0 +1,302 @@
|
||||
{"input": "What is the name of the temple in Bali that is famous for its sunset views?", "output": "Tanah Lot", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "citations": ["Going to this temple was an amazing find. We have never seen anything like it."], "generated_at": "2025-10-13 15:02:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does the entrance fee for Tanah Lot Temple cost?", "output": "20,000 IDR", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "generated_at": "2025-10-13 15:02:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors be aware of when visiting Tanah Lot Temple during peak hours?", "output": "Big crowds and high pressure from souvenir sellers", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "citations": ["Be prepared for big crowds."], "generated_at": "2025-10-13 15:02:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended time to visit Tanah Lot Temple for the best experience?", "output": "4-5pm", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "generated_at": "2025-10-13 15:02:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any safety precautions that visitors should take when visiting Tanah Lot Temple?", "output": "Be aware of cheeky monkeys who may grab your belongings", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["71de3df8-7e27-42df-8c13-fa0d9d93ed00", "61683f82-6540-45a6-904d-9004a9382489", "24cb4ae2-bb81-4b5c-9a1d-a3b716764287", "fc97be3e-db2e-4177-88d0-ae6b95bb5fe9"], "generated_at": "2025-10-13 15:02:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Tanah Lot Temple?", "output": "Early morning or late afternoon", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "generated_at": "2025-10-13 15:03:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter Tanah Lot Temple?", "output": "60k IDR per Adult and 30k IDR per child", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "citations": ["P.s the entry is a bit expensive, so make sure you've got that covered."], "generated_at": "2025-10-13 15:03:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen at Tanah Lot Temple besides the sunset?", "output": "A temple in the ocean and a sizeable market with shops selling various items", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "generated_at": "2025-10-13 15:03:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting Tanah Lot Temple?", "output": "Yes, but consider going at a quieter time or being prepared for crowds", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "generated_at": "2025-10-13 15:03:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about Tanah Lot Temple?", "output": "It's built on a rock in the ocean, providing a stunning view", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "generated_at": "2025-10-13 15:03:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you walk around Tanah Lot Temple?", "output": "Yes, but be aware that the temple can be very busy", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["956becc2-e1a3-4901-897c-26716f1a6977", "5678134f-c725-4705-b265-3940217c7368", "4d13b809-e274-48a5-b1ce-fc0b7f79e7fc", "ee0b4928-1b92-4f7f-a705-50e20364dd32"], "generated_at": "2025-10-13 15:03:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple visited by the authors?", "output": "Tanah Lot temple", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["8b4521ce-1137-41c6-a889-f761eaffc629", "85b78fb3-bffa-46a2-8f8f-75bbc46a5450", "2450a936-1a64-42b3-938d-5c81c42d4f09", "90d101da-1db5-4608-b191-e35881c4be05"], "generated_at": "2025-10-13 15:04:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much did the author pay for entrance to the Tanah Lot temple?", "output": "IDR 60,000", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["8b4521ce-1137-41c6-a889-f761eaffc629", "85b78fb3-bffa-46a2-8f8f-75bbc46a5450", "2450a936-1a64-42b3-938d-5c81c42d4f09", "90d101da-1db5-4608-b191-e35881c4be05"], "citations": ["The entrance fee is just too expensive, i.e. IDR 60 000."], "generated_at": "2025-10-13 15:04:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is special about the Tanah Lot temple's location?", "output": "It is built on a rock and has a breathtaking view", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["8b4521ce-1137-41c6-a889-f761eaffc629", "85b78fb3-bffa-46a2-8f8f-75bbc46a5450", "2450a936-1a64-42b3-938d-5c81c42d4f09", "90d101da-1db5-4608-b191-e35881c4be05"], "generated_at": "2025-10-13 15:04:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is Tanah Lot Temple known for?", "output": "It's a Hindu temple located in Bali, perched precariously on tumbling rocks in an outcrop on the crashing waves on a sublime beach.", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["b03901f6-3795-43e1-aaa1-1cbfb664bcba", "ef2acae3-c5fe-4b27-a25a-d204dd6a47de", "1d445378-7009-4295-9ff8-8d77f97efedd", "a53d90dc-584e-426a-a2e7-92cdaef78f7e"], "citations": ["Tanah lot is the most beautiful among thousands of temples in Bali ."], "generated_at": "2025-10-13 15:06:14", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to take a photo at Tanah Lot Temple?", "output": "20,000 IDR", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["b03901f6-3795-43e1-aaa1-1cbfb664bcba", "ef2acae3-c5fe-4b27-a25a-d204dd6a47de", "1d445378-7009-4295-9ff8-8d77f97efedd", "a53d90dc-584e-426a-a2e7-92cdaef78f7e"], "citations": ["The prices of food stalls are very expensive, I suggest to buy some drinks in mini market."], "generated_at": "2025-10-13 15:06:14", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good time to visit Tanah Lot Temple?", "output": "Early morning or during sunrise and sunset", "meta": {"source_path": "corpus/topic=2__part=066__n=60.txt", "chunk_ids": ["b03901f6-3795-43e1-aaa1-1cbfb664bcba", "ef2acae3-c5fe-4b27-a25a-d204dd6a47de", "1d445378-7009-4295-9ff8-8d77f97efedd", "a53d90dc-584e-426a-a2e7-92cdaef78f7e"], "citations": ["So I recommend to leave your hotel in the early morning, get there early before all the tourist arrive."], "generated_at": "2025-10-13 15:06:14", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear on the sunrise trek to Batur?", "output": "Warm clothes, good steady shoes, and a sweater", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["3e578457-d058-45b5-86c0-c74fdc03d0dc", "9b45f71b-f25a-44e3-85ab-6e18b85e6e14", "73579352-9a34-4935-ac47-a14be3854cd0", "60f71a6a-bf68-48a2-9250-e87bd887a44f"], "generated_at": "2025-10-13 15:07:23", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Do I need a guide for the trek?", "output": "No, but it's recommended to hire one to avoid being stopped or lost in the path", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["3e578457-d058-45b5-86c0-c74fdc03d0dc", "9b45f71b-f25a-44e3-85ab-6e18b85e6e14", "73579352-9a34-4935-ac47-a14be3854cd0", "60f71a6a-bf68-48a2-9250-e87bd887a44f"], "generated_at": "2025-10-13 15:07:23", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does the trek take and what are some challenges I might face?", "output": "The trek takes around 2-3 hours, including a steep climb and descent in the dark. Be prepared for loose rocks and small stones on the path.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["3e578457-d058-45b5-86c0-c74fdc03d0dc", "9b45f71b-f25a-44e3-85ab-6e18b85e6e14", "73579352-9a34-4935-ac47-a14be3854cd0", "60f71a6a-bf68-48a2-9250-e87bd887a44f"], "generated_at": "2025-10-13 15:07:23", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the difficulty level of climbing Mount Batur?", "output": "The hike to the summit of Mount Batur is strenuous, but with proper preparation and physical condition, it can be manageable.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["d81cb6eb-ce63-4a79-96d5-781431e9cc5f", "6e931483-8d7f-4e78-b285-7558d8a9f398", "cea91eaf-07cd-4559-af72-b960608e2851", "886d620c-f5d9-4c7c-91ab-6a0bf6e28912"], "citations": [], "generated_at": "2025-10-13 15:08:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are local guides required to climb Mount Batur?", "output": "No, but some locals may insist that tourists hire a guide, claiming it is an official requirement.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["d81cb6eb-ce63-4a79-96d5-781431e9cc5f", "6e931483-8d7f-4e78-b285-7558d8a9f398", "cea91eaf-07cd-4559-af72-b960608e2851", "886d620c-f5d9-4c7c-91ab-6a0bf6e28912"], "citations": [], "generated_at": "2025-10-13 15:08:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What kind of clothing should I wear for a sunrise hike on Mount Batur?", "output": "It is recommended to bring layers of clothing, including a light sweater, hat, and gloves, as the temperature can drop significantly at the summit.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["d81cb6eb-ce63-4a79-96d5-781431e9cc5f", "6e931483-8d7f-4e78-b285-7558d8a9f398", "cea91eaf-07cd-4559-af72-b960608e2851", "886d620c-f5d9-4c7c-91ab-6a0bf6e28912"], "citations": [], "generated_at": "2025-10-13 15:08:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up and down Mount Batur?", "output": "The entire journey can last anywhere from four to six hours.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["d81cb6eb-ce63-4a79-96d5-781431e9cc5f", "6e931483-8d7f-4e78-b285-7558d8a9f398", "cea91eaf-07cd-4559-af72-b960608e2851", "886d620c-f5d9-4c7c-91ab-6a0bf6e28912"], "citations": [], "generated_at": "2025-10-13 15:08:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is Mount Batur a commercialized tourist spot?", "output": "Yes, the area around the volcano has become commercialized, with overpriced restaurants and shops.", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["d81cb6eb-ce63-4a79-96d5-781431e9cc5f", "6e931483-8d7f-4e78-b285-7558d8a9f398", "cea91eaf-07cd-4559-af72-b960608e2851", "886d620c-f5d9-4c7c-91ab-6a0bf6e28912"], "citations": [], "generated_at": "2025-10-13 15:08:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up Mount Batur?", "output": "2 hours", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["e2d2a644-c193-4df4-ab6d-403dc0ea2fa9", "cd8e9850-c26c-4441-9d76-5f07f0e1743f", "926cb0b3-a543-4893-b039-b251df00ee51", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "generated_at": "2025-10-13 15:10:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the difficulty level of hiking Mount Batur?", "output": "6.5-7/10", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["e2d2a644-c193-4df4-ab6d-403dc0ea2fa9", "cd8e9850-c26c-4441-9d76-5f07f0e1743f", "926cb0b3-a543-4893-b039-b251df00ee51", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "citations": ["Awesome hike to watch a beautiful sunrise... The fact that you're hiking in the dark, with a loose surface, with a flashlight, with a bunch of people is what makes it more taxing."], "generated_at": "2025-10-13 15:10:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can anyone climb Mount Batur?", "output": "Yes", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["e2d2a644-c193-4df4-ab6d-403dc0ea2fa9", "cd8e9850-c26c-4441-9d76-5f07f0e1743f", "926cb0b3-a543-4893-b039-b251df00ee51", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "citations": ["Recently we did this mountain with experienced local guide Wayan. Climb up only 1.15 h the top, easy and worth it."], "generated_at": "2025-10-13 15:10:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I expect to pay for a Mount Batur hike?", "output": "250k per head all up", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["e2d2a644-c193-4df4-ab6d-403dc0ea2fa9", "cd8e9850-c26c-4441-9d76-5f07f0e1743f", "926cb0b3-a543-4893-b039-b251df00ee51", "67c420d8-d662-45b2-844b-a5ac19d80c8f"], "generated_at": "2025-10-13 15:10:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the mountain that can be climbed from Seminyak?", "output": "Mount Agung", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "generated_at": "2025-10-13 15:11:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did it take to drive from Seminyak to the Lempuyang Temple?", "output": "2 hours", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "generated_at": "2025-10-13 15:11:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to arrive at the summit of an active volcano in Bali?", "output": "EXTREMELY early", "meta": {"source_path": "corpus/topic=5__part=018__n=60.txt", "chunk_ids": ["1f348ed4-61f5-430b-a314-a79a3ebcf2ea", "88370925-1517-4cfa-bd23-1d3f92d55ca9", "b5a0d9f6-baf0-40b8-85e1-da54a70d7e64", "943e444c-dbdc-43ad-8d9f-2313f863ea0c"], "citations": ["You need to be here, EXTREMELY early to catch the mountain in your picture and avoid wasting time."], "generated_at": "2025-10-13 15:11:35", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I be aware of when visiting Uluwatu temple?", "output": "The monkeys can snatch hats, sunglasses, and food.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["8bb23abb-b845-4710-a915-c52e573dbd82", "e4bea445-f410-43cd-8080-f23f68f57398", "1034e913-318c-4de4-ae48-f3ceae169758", "251259bc-6ff7-4ebf-a5a9-ef2b3b125f27"], "generated_at": "2025-10-13 15:12:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do I protect my belongings from the monkeys at Uluwatu temple?", "output": "Keep your sunglasses and hat inside a secured bag.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["8bb23abb-b845-4710-a915-c52e573dbd82", "e4bea445-f410-43cd-8080-f23f68f57398", "1034e913-318c-4de4-ae48-f3ceae169758", "251259bc-6ff7-4ebf-a5a9-ef2b3b125f27"], "generated_at": "2025-10-13 15:12:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the difference between the monkeys at Uluwatu temple and those in Ubud's monkey forest?", "output": "The Uluwatu monkeys are more aggressive than those in Ubud.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["8bb23abb-b845-4710-a915-c52e573dbd82", "e4bea445-f410-43cd-8080-f23f68f57398", "1034e913-318c-4de4-ae48-f3ceae169758", "251259bc-6ff7-4ebf-a5a9-ef2b3b125f27"], "generated_at": "2025-10-13 15:12:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of an adult entrance ticket to Uluwatu Temple?", "output": "Rp.30,000", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["0dcb5605-4dff-438e-a474-51e3be6b23d4", "229bae8c-d88f-42e1-ace2-feeb9563b883", "4f7e568e-322d-44e2-880e-11803cefa765", "3a973561-e2ec-4e4a-a975-669375333a4d"], "generated_at": "2025-10-13 15:13:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can visitors protect themselves from aggressive monkeys at Uluwatu Temple?", "output": "Avoid wearing glasses, hats, and jewelry that might attract their attention, keep valuables secure, and don't feed them.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["0dcb5605-4dff-438e-a474-51e3be6b23d4", "229bae8c-d88f-42e1-ace2-feeb9563b883", "4f7e568e-322d-44e2-880e-11803cefa765", "3a973561-e2ec-4e4a-a975-669375333a4d"], "citations": ["The monkeys are throughout the hill so they may be distracting when you want to snap a picture of the temple and cliff but worried they may snatch your belongings."], "generated_at": "2025-10-13 15:13:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is recommended attire for visiting Uluwatu Temple?", "output": "Visitors must wear a sarong (if their pants or skirts do not reach knee length) and a sash.", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["0dcb5605-4dff-438e-a474-51e3be6b23d4", "229bae8c-d88f-42e1-ace2-feeb9563b883", "4f7e568e-322d-44e2-880e-11803cefa765", "3a973561-e2ec-4e4a-a975-669375333a4d"], "generated_at": "2025-10-13 15:13:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost to enter the temple?", "output": "Rp20,000", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 15:15:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak Fire Dance?", "output": "Rp100,000", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 15:15:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is recommended for seating during the Kecak Fire Dance?", "output": "Find seats earlier, preferably in the middle part", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["2075fcaa-29ca-4627-bcbb-047ccf86e8e4", "53ad7d1e-bf31-4f5a-93f0-b3bcf794f0a4", "de796438-e244-42c2-a9ec-295e35fac7c9", "d85d68c1-5471-48fe-bd2d-212a26080f4a"], "generated_at": "2025-10-13 15:15:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the dance that takes place at Uluwatu Temple every evening?", "output": "Kecak Ramayana & Fire Dance", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["29afc1bf-65fa-44a2-94f6-bcc6c29d8155", "07a8ba70-f5df-42bd-8d27-150a22717c41", "d31cb945-b7fc-4a97-95ed-271ead12e874", "63b32ff2-f502-47cd-9c8c-90561fa61d64"], "citations": ["The Kecak Ramayana & Fire Dance is 70,000 Rupiah (less than $8 US).\n\nOur driver suggested seats in the top row for best view.", "The Kecak dance during sunset, where re-enact a scene in the ramayana!"], "generated_at": "2025-10-13 15:16:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists be careful about when visiting Uluwatu Temple?", "output": "Monkeys that may steal belongings", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["29afc1bf-65fa-44a2-94f6-bcc6c29d8155", "07a8ba70-f5df-42bd-8d27-150a22717c41", "d31cb945-b7fc-4a97-95ed-271ead12e874", "63b32ff2-f502-47cd-9c8c-90561fa61d64"], "citations": ["The monkeys do snatch caps and eyeglasses so beware.", "You have to pay attention to the monkeys which steel everything they can if they have possibility - so do not wear"], "generated_at": "2025-10-13 15:16:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak Ramayana & Fire Dance at Uluwatu Temple?", "output": "$8 USD", "meta": {"source_path": "corpus/topic=7__part=005__n=60.txt", "chunk_ids": ["29afc1bf-65fa-44a2-94f6-bcc6c29d8155", "07a8ba70-f5df-42bd-8d27-150a22717c41", "d31cb945-b7fc-4a97-95ed-271ead12e874", "63b32ff2-f502-47cd-9c8c-90561fa61d64"], "citations": ["The Kecak Ramayana & Fire Dance is 70,000 Rupiah (less than $8 US).\n\nOur driver suggested seats in the top row for best view."], "generated_at": "2025-10-13 15:16:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended time to visit Mt. Batur?", "output": "December is not the best time for sunrise tours due to cloud coverage, but it's still possible to see the volcano.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["d1fa72c0-c5e9-417f-83a2-b73007b6aa60", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61", "d8692a1b-05ab-4aa1-a69c-e736cde560ff", "3d1ccbc2-f623-48f0-8f0e-c634f8be260a"], "citations": ["Beware that this is not the time to go for any sunrise tours as you will not get the best viewing due to the cloud."], "generated_at": "2025-10-13 15:17:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What activities can be done at Mt. Batur?", "output": "Visitors can hike up the volcano, view it from a distance, or enjoy the scenic views and buffet lunch.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["d1fa72c0-c5e9-417f-83a2-b73007b6aa60", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61", "d8692a1b-05ab-4aa1-a69c-e736cde560ff", "3d1ccbc2-f623-48f0-8f0e-c634f8be260a"], "citations": ["For those who have already seen a volcano, this will be a bit of an anticlimactic experience."], "generated_at": "2025-10-13 15:17:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to hike up Mt. Batur?", "output": "The medium route takes approximately 2-2.5 hours to climb up and 1.5 hours to descend.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["d1fa72c0-c5e9-417f-83a2-b73007b6aa60", "5d4c2cd3-3e01-42b3-83c4-1d3d24c58c61", "d8692a1b-05ab-4aa1-a69c-e736cde560ff", "3d1ccbc2-f623-48f0-8f0e-c634f8be260a"], "citations": ["We took the medium route, which took about 2-2.5 hours up and 1.5 hours down."], "generated_at": "2025-10-13 15:17:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the typical pace of a sunrise trek?", "output": "The guides set a fast pace, but it's worth noting that one writer mentioned they had to take breaks and another said their guide was 'pulling away up ahead'.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["315134ca-6ca2-4851-9592-4c134d3cd6bf", "97fd3d2d-87a6-4ad4-a7f6-2d9a0b16c4ac", "31b48523-eab3-4c20-a609-1663ef20be90", "6f3de7eb-65d2-4426-9877-f2b5a037c3fe"], "citations": ["I had a few breaks, our two guides didnt mind stopping as much as we wanted"], "generated_at": "2025-10-13 15:18:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the weather like at the summit?", "output": "It was windy and cool at the viewing summit.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["315134ca-6ca2-4851-9592-4c134d3cd6bf", "97fd3d2d-87a6-4ad4-a7f6-2d9a0b16c4ac", "31b48523-eab3-4c20-a609-1663ef20be90", "6f3de7eb-65d2-4426-9877-f2b5a037c3fe"], "citations": [], "generated_at": "2025-10-13 15:18:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to reach the summit?", "output": "One writer completed the climb in 1 hour and 20 minutes.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["315134ca-6ca2-4851-9592-4c134d3cd6bf", "97fd3d2d-87a6-4ad4-a7f6-2d9a0b16c4ac", "31b48523-eab3-4c20-a609-1663ef20be90", "6f3de7eb-65d2-4426-9877-f2b5a037c3fe"], "citations": [], "generated_at": "2025-10-13 15:18:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear for hiking Mount Batur?", "output": "Hiking shoes, ankle-high boots, gloves, and layers (jacket, hat) to keep warm.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["dea904f8-7fc6-4b7c-9665-e82f7c654d88", "238247ad-4fed-442d-81ce-912c298340b8", "cb17196f-7b0f-429b-bdaf-27526dc85c20", "6c43684b-cc4a-4619-bc96-05fdc12a6c8d"], "citations": ["It is chilly, not just on the top but for most of the climb as well. You will need layers and layers, a waterproof jacket (you might not use it but it is unpredictable), gloves (!!!), perhaps a hat.", "your ego low and spirits high. Its cold at top so carry jacket or windcheater with some thing to cover your ears and handgloves(especially for ladies)"], "generated_at": "2025-10-13 15:20:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does the hike take?", "output": "Approximately 3 hours, but it depends on your pace and how many stops you make.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["dea904f8-7fc6-4b7c-9665-e82f7c654d88", "238247ad-4fed-442d-81ce-912c298340b8", "cb17196f-7b0f-429b-bdaf-27526dc85c20", "6c43684b-cc4a-4619-bc96-05fdc12a6c8d"], "citations": ["For beginner you can start at 2 AM or earlier because it will take time approximately 3 hours (because do a lot of stops to take a breath)"], "generated_at": "2025-10-13 15:20:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I bring for the climb?", "output": "Water, camera, hiking shoes, and a headlamp. Optional items include gloves, walking poles, and energy drinks.", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["dea904f8-7fc6-4b7c-9665-e82f7c654d88", "238247ad-4fed-442d-81ce-912c298340b8", "cb17196f-7b0f-429b-bdaf-27526dc85c20", "6c43684b-cc4a-4619-bc96-05fdc12a6c8d"], "citations": ["Must have: good shoes, back pack to carry water, towel, simple first aid, camera, and get to bed much earlier the night before.", "Hiking sticks (didn't bring em, but wish I had on the down hill hahaha ...)"], "generated_at": "2025-10-13 15:20:15", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the minimum fitness level required to climb this mountain?", "output": "A reasonable fitness level", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["642b21a6-0879-486f-beef-e37860224e5a", "2c39b70c-8ade-4239-b9ae-291ceed88b67", "14aef982-1eac-473a-931c-8867a385fc98", "487031a0-b0ea-4991-9549-f6d3de939bd9"], "generated_at": "2025-10-13 15:21:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did it take for the author of topic 4 to reach the resting spot before the summit?", "output": "around 4:30", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["642b21a6-0879-486f-beef-e37860224e5a", "2c39b70c-8ade-4239-b9ae-291ceed88b67", "14aef982-1eac-473a-931c-8867a385fc98", "487031a0-b0ea-4991-9549-f6d3de939bd9"], "generated_at": "2025-10-13 15:21:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a necessary item to bring for the trek, especially during rainy season?", "output": "a raincoat", "meta": {"source_path": "corpus/topic=5__part=032__n=60.txt", "chunk_ids": ["642b21a6-0879-486f-beef-e37860224e5a", "2c39b70c-8ade-4239-b9ae-291ceed88b67", "14aef982-1eac-473a-931c-8867a385fc98", "487031a0-b0ea-4991-9549-f6d3de939bd9"], "generated_at": "2025-10-13 15:21:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is one reason why tourists visit this temple?", "output": "The sunset view from this temple", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "generated_at": "2025-10-13 15:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is the temple disappointing according to one reviewer?", "output": "One cannot even go inside the temple grounds, and it has none of the flair of typical Balinese temples", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "generated_at": "2025-10-13 15:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a cultural event that can be experienced at this temple?", "output": "The Kecak dance, which is done without instruments but only vocal", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "generated_at": "2025-10-13 15:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit this temple?", "output": "Early morning or late afternoon to avoid the heat", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "generated_at": "2025-10-13 15:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a negative aspect of visiting this temple?", "output": "The drive, traffic & the endless vendors leading up to the site were a drag", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "generated_at": "2025-10-13 15:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is provided for visitors to wear while in the temple area?", "output": "A sarong and sash, available at a small cost", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["96ac75c1-adbf-4937-9d2f-482cb183c794", "9f372b09-afde-4e4c-a755-505e2dc9fb22", "162346ad-0f9b-49b7-a147-54ae462d841b", "cf7e0523-c669-48c6-97f0-3de99052805a"], "generated_at": "2025-10-13 15:22:56", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you do if a monkey snatches your glasses?", "output": "Show them you're not scared and they will leave", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["af803e0e-149e-47e8-b798-32a2baa9711f", "f51b2824-0ab0-4a75-bb20-b17aa4802f85", "701319e4-6e10-4b44-8ba2-16ddbdf8483e", "43fb4e3e-0d6d-46ba-af04-955bc79bad4e"], "generated_at": "2025-10-13 15:24:08", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you trade food with the monkeys for your stolen belongings?", "output": "Yes, if you're lucky, they may trade in food for your belonging", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["af803e0e-149e-47e8-b798-32a2baa9711f", "f51b2824-0ab0-4a75-bb20-b17aa4802f85", "701319e4-6e10-4b44-8ba2-16ddbdf8483e", "43fb4e3e-0d6d-46ba-af04-955bc79bad4e"], "generated_at": "2025-10-13 15:24:08", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What happened to the writer's prescription glasses during a fire dance performance?", "output": "The monkey snuck up behind him and ripped them off his head", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["af803e0e-149e-47e8-b798-32a2baa9711f", "f51b2824-0ab0-4a75-bb20-b17aa4802f85", "701319e4-6e10-4b44-8ba2-16ddbdf8483e", "43fb4e3e-0d6d-46ba-af04-955bc79bad4e"], "generated_at": "2025-10-13 15:24:08", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is notable about the monkeys at this temple?", "output": "They are aggressive and will steal items from tourists, including sunglasses and hats.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["0b51ab06-b7b2-49e7-9416-a696040a49c8", "7c68b002-d1b6-4517-8be7-ed52928de15c", "2b3cc895-eeeb-4760-a737-5e7ab44f5afd", "fd3614ed-3335-475f-b068-045ac3d98dec"], "generated_at": "2025-10-13 15:25:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended action to take when visiting this temple?", "output": "Be careful with your belongings, as the monkeys may steal them.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["0b51ab06-b7b2-49e7-9416-a696040a49c8", "7c68b002-d1b6-4517-8be7-ed52928de15c", "2b3cc895-eeeb-4760-a737-5e7ab44f5afd", "fd3614ed-3335-475f-b068-045ac3d98dec"], "citations": ["set on a cliff above the Indian Ocean, the scenery is stunning."], "generated_at": "2025-10-13 15:25:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of the temple's location?", "output": "It is located on a cliff overlooking the Indian Ocean.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["0b51ab06-b7b2-49e7-9416-a696040a49c8", "7c68b002-d1b6-4517-8be7-ed52928de15c", "2b3cc895-eeeb-4760-a737-5e7ab44f5afd", "fd3614ed-3335-475f-b068-045ac3d98dec"], "generated_at": "2025-10-13 15:25:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists do to avoid having their belongings stolen by monkeys?", "output": "Keep a close eye on your belongings and don't feed the monkeys.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["3bd3ee14-cbb6-4156-a6fd-2dbe622bf6ee", "dd79172d-96eb-44ad-b727-b347a58e2e19", "c87542c9-2fa3-41f1-a06b-68dbc7c426ee", "c34bef1c-fc03-407b-b7b4-e78ec91b73d9"], "generated_at": "2025-10-13 15:26:28", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it safe to walk around the temple with a 1.5 hour walk from the hotel?", "output": "No, it's not recommended as it took one tourist 1.5 hours to get there.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["3bd3ee14-cbb6-4156-a6fd-2dbe622bf6ee", "dd79172d-96eb-44ad-b727-b347a58e2e19", "c87542c9-2fa3-41f1-a06b-68dbc7c426ee", "c34bef1c-fc03-407b-b7b4-e78ec91b73d9"], "generated_at": "2025-10-13 15:26:28", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction at this temple location?", "output": "The stunning view of the ocean and surrounding cliffs.", "meta": {"source_path": "corpus/topic=4__part=003__n=60.txt", "chunk_ids": ["3bd3ee14-cbb6-4156-a6fd-2dbe622bf6ee", "dd79172d-96eb-44ad-b727-b347a58e2e19", "c87542c9-2fa3-41f1-a06b-68dbc7c426ee", "c34bef1c-fc03-407b-b7b4-e78ec91b73d9"], "generated_at": "2025-10-13 15:26:28", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I do if a monkey steals my glasses?", "output": "Reward it with some rupiah or a banana to get them back.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["eff2afba-cfd5-4da6-8b74-bb0fe9b283f5", "8dca2415-06a5-4ccc-b844-7d3b0a028655", "82ad0fc1-51d1-426f-9588-19784c85754f", "b51aebc1-0a48-4b13-a476-fa8a1c794519"], "citations": ["\"that is what happened to my husband and a local man, used to that, had to give a banana to the monkey in order to get them back.\""], "generated_at": "2025-10-13 15:28:46", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting this temple for its sunset views?", "output": "Yes, the view is really nice.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["eff2afba-cfd5-4da6-8b74-bb0fe9b283f5", "8dca2415-06a5-4ccc-b844-7d3b0a028655", "82ad0fc1-51d1-426f-9588-19784c85754f", "b51aebc1-0a48-4b13-a476-fa8a1c794519"], "citations": [], "generated_at": "2025-10-13 15:28:46", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I take a taxi or public transportation to get to this temple?", "output": "No, it's recommended to have a driver wait for you as no transportation is available from the temple itself.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["eff2afba-cfd5-4da6-8b74-bb0fe9b283f5", "8dca2415-06a5-4ccc-b844-7d3b0a028655", "82ad0fc1-51d1-426f-9588-19784c85754f", "b51aebc1-0a48-4b13-a476-fa8a1c794519"], "citations": [], "generated_at": "2025-10-13 15:28:46", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you do to protect your belongings from monkeys at this temple?", "output": "Keep a tight hold on your cameras and avoid wearing loose items like sunglasses or glasses.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["7de3f1fb-4def-46c8-851f-b15cfc8a5bc8", "987538cc-6553-4852-9bd6-f1681acad185", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "8c26f36b-f9c7-47bd-baf4-a5bcabea33c3"], "generated_at": "2025-10-13 15:29:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit this temple for a sunset view?", "output": "Late afternoon", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["7de3f1fb-4def-46c8-851f-b15cfc8a5bc8", "987538cc-6553-4852-9bd6-f1681acad185", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "8c26f36b-f9c7-47bd-baf4-a5bcabea33c3"], "citations": ["The view was breathtaking. The lush greens and the white waves crashing on the beach, backed by the beautiful blue sky and sea...the scenery was just awesome."], "generated_at": "2025-10-13 15:29:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you describe the Kecak Dance at this temple?", "output": "It's a unique and entertaining dance that takes place after sunset.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["7de3f1fb-4def-46c8-851f-b15cfc8a5bc8", "987538cc-6553-4852-9bd6-f1681acad185", "1d9e1bfc-a81f-4a5c-a304-b09027e528eb", "8c26f36b-f9c7-47bd-baf4-a5bcabea33c3"], "citations": ["After the sunset, the Kecak Dance is quite entertaining and unique."], "generated_at": "2025-10-13 15:29:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you not wear to Uluwatu Temple?", "output": "Avoid wearing sunglasses, caps, hanging earrings, or anything that can be easily snatched by monkeys.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "generated_at": "2025-10-13 15:31:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you do if a monkey takes your belongings?", "output": "Try to get them back, but don't touch the monkeys as they might become aggressive.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "generated_at": "2025-10-13 15:31:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good time to visit Uluwatu Temple?", "output": "The sunset is recommended for the breathtaking view, and you can also watch the Kecak dance performance at around that time.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "generated_at": "2025-10-13 15:31:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you borrow a sarong if you're not wearing polite clothes?", "output": "Yes, it's free and available for borrowing.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "generated_at": "2025-10-13 15:31:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you not give to the monkeys at Uluwatu Temple?", "output": "Don't give them food, as it might encourage them to steal your belongings.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "generated_at": "2025-10-13 15:31:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is the temple itself special?", "output": "Not overly special, but the setting, dance show, and monkeys make it unique.", "meta": {"source_path": "corpus/topic=4__part=035__n=27.txt", "chunk_ids": ["51915d4e-cef1-4ecf-9f0a-89b85178975e", "c94b9f72-3702-43cf-a9ce-522209c80120", "c7b161ff-251f-45d6-ac97-a4594580ac0d", "46f501d4-ed82-4977-980c-3047af9f503b"], "generated_at": "2025-10-13 15:31:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Uluwatu Temple?", "output": "During sunset.", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 15:32:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does the entrance fee for the temple cost in IDR?", "output": "50000 IDR", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 15:32:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists be aware of when watching the Kecak dance performance?", "output": "Crowd control is minimal, and monkeys may steal items from spectators.", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["3c2d46ab-fd0d-433a-bc17-59d4750db4a7", "cc9a2991-a247-4daf-9c95-769b52af185e", "64b4aa64-1661-4575-9a2a-97c8e6d47049", "710aaeb1-0ffe-41cd-95d1-750644cf1084"], "generated_at": "2025-10-13 15:32:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of Uluwatu Temple?", "output": "breathtaking views", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "generated_at": "2025-10-13 15:34:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How early should tourists arrive to buy tickets for the Kecak Dance?", "output": "5 pm", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "citations": ["Pack of tourists lining up as early as 5 pm to buy ticket for Kecak Dance"], "generated_at": "2025-10-13 15:34:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to visit Uluwatu Temple?", "output": "during sunset", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "citations": ["Best to visit the place during sunset"], "generated_at": "2025-10-13 15:34:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of dance is performed at Uluwatu Temple?", "output": "Kecak Dance", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "generated_at": "2025-10-13 15:34:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any monkeys at Uluwatu Temple?", "output": "yes", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "citations": ["monkeys sitting on top of the wall"], "generated_at": "2025-10-13 15:34:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique aspect of Uluwatu Temple?", "output": "location atop a huge cliff", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["de125d19-9fb6-4c6e-8b47-fa1aa5cdd9df", "12b299dd-cff0-4349-ad2b-8221b7c2943c", "e06ab980-6c1e-4064-8191-cda4ce2932ad", "357d8bc7-7cb5-415d-9488-520e31b37fd6"], "citations": ["the location of the temple atop a huge cliff"], "generated_at": "2025-10-13 15:34:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Uluwatu Temple?", "output": "20,000 IDR per person", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["0dfd108c-d407-49e5-a831-5ed2bdc82925", "608c5b6d-9490-41c6-975d-0c2094f3ea66", "41519b32-c89c-49bd-876f-c584990b2b1e", "732b9384-39dc-4da7-adb5-7b0b8208605b"], "generated_at": "2025-10-13 15:35:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I wear a sleeveless top to Uluwatu Temple?", "output": "Yes", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["0dfd108c-d407-49e5-a831-5ed2bdc82925", "608c5b6d-9490-41c6-975d-0c2094f3ea66", "41519b32-c89c-49bd-876f-c584990b2b1e", "732b9384-39dc-4da7-adb5-7b0b8208605b"], "citations": ["No need to worry about attire, saron can be borrowed free of charge and sleeveless top is ok."], "generated_at": "2025-10-13 15:35:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time should I arrive at Uluwatu Temple to get a good seat?", "output": "By 4 PM", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["0dfd108c-d407-49e5-a831-5ed2bdc82925", "608c5b6d-9490-41c6-975d-0c2094f3ea66", "41519b32-c89c-49bd-876f-c584990b2b1e", "732b9384-39dc-4da7-adb5-7b0b8208605b"], "generated_at": "2025-10-13 15:35:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Uluwatu Temple?", "output": "IDR 20,000", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["abe742f7-a9a1-405d-9990-d5bc70284cb7", "07c72af3-59ae-40ad-8ea3-509853fd005e", "6ceb2e3e-16a5-4202-82d5-785c9f7bde14", "ad055029-ace7-4b82-8629-3ddcca6938c0"], "generated_at": "2025-10-13 15:36:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can tourists enter the temple itself at Uluwatu?", "output": "No", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["abe742f7-a9a1-405d-9990-d5bc70284cb7", "07c72af3-59ae-40ad-8ea3-509853fd005e", "6ceb2e3e-16a5-4202-82d5-785c9f7bde14", "ad055029-ace7-4b82-8629-3ddcca6938c0"], "citations": ["You can t enter the temple itself but there is an amazing panorama that makes up for it."], "generated_at": "2025-10-13 15:36:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of dance performance is held at Uluwatu Temple?", "output": "Kecak Dance", "meta": {"source_path": "corpus/topic=7__part=012__n=60.txt", "chunk_ids": ["abe742f7-a9a1-405d-9990-d5bc70284cb7", "07c72af3-59ae-40ad-8ea3-509853fd005e", "6ceb2e3e-16a5-4202-82d5-785c9f7bde14", "ad055029-ace7-4b82-8629-3ddcca6938c0"], "citations": ["The view is stunning, the beach is perfect for surfers (it's one of those surfers mecca place)."], "generated_at": "2025-10-13 15:36:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear for a trek to Mount Batur?", "output": "Wear warm clothing, including a fleece or jacket, and bring layers for the summit.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["2b1cdc43-c1d6-4086-a524-dabdef55d020", "d6407a58-2227-4c98-8bac-71e5c84f994b", "714e8fdd-801b-410a-ae29-50280b21247d", "d670c23b-bef7-4f01-8dcf-cf09c9207ad2"], "generated_at": "2025-10-13 15:37:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to trek to the top of Mount Batur?", "output": "It takes 2 hours to trek to the top from the base of the volcano.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["2b1cdc43-c1d6-4086-a524-dabdef55d020", "d6407a58-2227-4c98-8bac-71e5c84f994b", "714e8fdd-801b-410a-ae29-50280b21247d", "d670c23b-bef7-4f01-8dcf-cf09c9207ad2"], "generated_at": "2025-10-13 15:37:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I bring for a safe and enjoyable hike?", "output": "Bring snacks, water, a camera, and a headlamp or request one from the tour operator. Wear trekking shoes with good gear to handle slippery parts.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["2b1cdc43-c1d6-4086-a524-dabdef55d020", "d6407a58-2227-4c98-8bac-71e5c84f994b", "714e8fdd-801b-410a-ae29-50280b21247d", "d670c23b-bef7-4f01-8dcf-cf09c9207ad2"], "generated_at": "2025-10-13 15:37:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of hiring a guide to climb Mount Batur?", "output": "IDR 300,000 for a group of six people.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["831c6aa4-6f99-49dd-8cdb-d88a293f62ae", "49f71619-5d1d-4afb-8537-e705001814d4", "d06a7979-9d80-40b8-accf-2f718a94890a", "bddf63f3-3dc0-4bf3-b133-172f44d277dd"], "generated_at": "2025-10-13 15:38:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to reach the top of Mount Batur?", "output": "It can be done in under 2 hours.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["831c6aa4-6f99-49dd-8cdb-d88a293f62ae", "49f71619-5d1d-4afb-8537-e705001814d4", "d06a7979-9d80-40b8-accf-2f718a94890a", "bddf63f3-3dc0-4bf3-b133-172f44d277dd"], "generated_at": "2025-10-13 15:38:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about the sunrise at Mount Batur?", "output": "It can be seen from a higher altitude, offering a spectacular view.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["831c6aa4-6f99-49dd-8cdb-d88a293f62ae", "49f71619-5d1d-4afb-8537-e705001814d4", "d06a7979-9d80-40b8-accf-2f718a94890a", "bddf63f3-3dc0-4bf3-b133-172f44d277dd"], "generated_at": "2025-10-13 15:38:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time is recommended to start the hike up Mount Batur?", "output": "4am", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["4c25eb1b-5a8d-4182-9761-a29103b221b3", "b3f2dd38-c7ba-4000-b73d-93a6e112ae77", "331f41eb-1cd6-4fc1-b517-29803459286c", "f2100fcb-0adb-4fc4-9eb5-a8c67d333ec2"], "generated_at": "2025-10-13 15:40:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you climb Mount Batur during the day?", "output": "No, it's recommended to climb at night to see the sunrise.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "citations": ["We reached the top before 5am."], "chunk_ids": ["4c25eb1b-5a8d-4182-9761-a29103b221b3", "b3f2dd38-c7ba-4000-b73d-93a6e112ae77", "331f41eb-1cd6-4fc1-b517-29803459286c", "f2100fcb-0adb-4fc4-9eb5-a8c67d333ec2"], "generated_at": "2025-10-13 15:40:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I wear for the hike up Mount Batur?", "output": "Comfortable walking shoes, hat, and layers for cold weather at the top.", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["4c25eb1b-5a8d-4182-9761-a29103b221b3", "b3f2dd38-c7ba-4000-b73d-93a6e112ae77", "331f41eb-1cd6-4fc1-b517-29803459286c", "f2100fcb-0adb-4fc4-9eb5-a8c67d333ec2"], "generated_at": "2025-10-13 15:40:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to drive to Kintamani?", "output": "2.5 hours", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["4c25eb1b-5a8d-4182-9761-a29103b221b3", "b3f2dd38-c7ba-4000-b73d-93a6e112ae77", "331f41eb-1cd6-4fc1-b517-29803459286c", "f2100fcb-0adb-4fc4-9eb5-a8c67d333ec2"], "generated_at": "2025-10-13 15:40:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the WhatsApp number to contact for booking a trekking tour?", "output": "+6281904082208", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["b0aa38a2-373e-4bc0-92f5-ffa231b8355e", "cd050985-101b-45c7-8f7d-222c9e1a9396", "e307c2e7-1982-46bc-9e7a-0ea170d42efa", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc"], "generated_at": "2025-10-13 15:41:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to reach the base of Mount Batur from Canggu?", "output": "2 hours", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["b0aa38a2-373e-4bc0-92f5-ffa231b8355e", "cd050985-101b-45c7-8f7d-222c9e1a9396", "e307c2e7-1982-46bc-9e7a-0ea170d42efa", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc"], "generated_at": "2025-10-13 15:41:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique experience that trekkers can have on Mount Batur?", "output": "Watching the sunrise from the summit and having breakfast cooked by the guide", "meta": {"source_path": "corpus/topic=5__part=022__n=60.txt", "chunk_ids": ["b0aa38a2-373e-4bc0-92f5-ffa231b8355e", "cd050985-101b-45c7-8f7d-222c9e1a9396", "e307c2e7-1982-46bc-9e7a-0ea170d42efa", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc"], "generated_at": "2025-10-13 15:41:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a must-see at this temple?", "output": "The sunset and Kecak Dance", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["f23eb4a2-d00f-4502-9e0d-ff9171da45ad", "ec584975-0903-40f9-bc4a-e4daef0b1b4c", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "1d60ed73-5e18-48c1-872e-da36f822d7f6"], "generated_at": "2025-10-13 15:42:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why should visitors be cautious when approaching the temple grounds?", "output": "Monkeys may steal valuables, such as glasses or hats", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["f23eb4a2-d00f-4502-9e0d-ff9171da45ad", "ec584975-0903-40f9-bc4a-e4daef0b1b4c", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "1d60ed73-5e18-48c1-872e-da36f822d7f6"], "generated_at": "2025-10-13 15:42:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen from the cliff top where the temple is located?", "output": "Spectacular views of the coastline and ocean", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["f23eb4a2-d00f-4502-9e0d-ff9171da45ad", "ec584975-0903-40f9-bc4a-e4daef0b1b4c", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "1d60ed73-5e18-48c1-872e-da36f822d7f6"], "generated_at": "2025-10-13 15:42:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is special about this temple?", "output": "It's located on a cliff, making it a unique spot.", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "citations": ["The view from the cliff is simply stunning. The dance is long, tedious, poorly organized, and a bit dangerous with the flames."], "generated_at": "2025-10-13 15:43:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kecak Dance?", "output": "The ticket price for the Kecak Dance is IDR70,000/person.", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "generated_at": "2025-10-13 15:43:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time should I arrive to watch the Kecak Dance?", "output": "It's recommended to arrive at least an hour before the attraction starts to get a good seat.", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["5004ca75-246c-4a93-8900-1224e8f4b1f8", "d85d68c1-5471-48fe-bd2d-212a26080f4a", "ed340cb6-add6-4ba7-8b8b-a0f21f7f2950", "0b10acc8-e538-410b-bf1a-ba4a3c1f3ae7"], "citations": ["Make sure you arrive here an hour before the attraction start or you'll ended sitting on the floor like me and missed out the sun set."], "generated_at": "2025-10-13 15:43:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of tickets for the Kecak dance?", "output": "70,000 Rp per person", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["12650122-157e-48dc-861c-cc58134765a8", "8cea135b-a7da-47e9-bf2f-1491068bf180", "99076811-2d04-40f4-bb9e-7e4d0499feca", "65ab406b-c8ba-4d5c-ac39-662c122800fd"], "generated_at": "2025-10-13 15:44:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time should I arrive at Uluwatu to watch the sunset and Kecak dance?", "output": "Come slightly earlier than 6pm to get a good spot for the show", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["12650122-157e-48dc-861c-cc58134765a8", "8cea135b-a7da-47e9-bf2f-1491068bf180", "99076811-2d04-40f4-bb9e-7e4d0499feca", "65ab406b-c8ba-4d5c-ac39-662c122800fd"], "generated_at": "2025-10-13 15:44:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I watch the fire dance from afar?", "output": "Yes, you can watch them from afar by going to the top of the right-hand temple", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["12650122-157e-48dc-861c-cc58134765a8", "8cea135b-a7da-47e9-bf2f-1491068bf180", "99076811-2d04-40f4-bb9e-7e4d0499feca", "65ab406b-c8ba-4d5c-ac39-662c122800fd"], "generated_at": "2025-10-13 15:44:48", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit the temple for the Kecak dance show?", "output": "4:00 PM", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["73bbb438-0903-46d7-b5f2-3c97b02044eb", "5004ca75-246c-4a93-8900-1224e8f4b1f8", "08374f80-e183-49e6-99b4-9ef9eb4bebd7", "7ac7ac2e-641d-4bba-84e6-ca0125612bc5"], "generated_at": "2025-10-13 15:46:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is it recommended to arrive early at the temple for the Kecak dance show?", "output": "To get a seat with a view of the temple", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["73bbb438-0903-46d7-b5f2-3c97b02044eb", "5004ca75-246c-4a93-8900-1224e8f4b1f8", "08374f80-e183-49e6-99b4-9ef9eb4bebd7", "7ac7ac2e-641d-4bba-84e6-ca0125612bc5"], "generated_at": "2025-10-13 15:46:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about this temple's location?", "output": "It is located on a cliff with stunning views of the ocean", "meta": {"source_path": "corpus/topic=10__part=008__n=60.txt", "chunk_ids": ["73bbb438-0903-46d7-b5f2-3c97b02044eb", "5004ca75-246c-4a93-8900-1224e8f4b1f8", "08374f80-e183-49e6-99b4-9ef9eb4bebd7", "7ac7ac2e-641d-4bba-84e6-ca0125612bc5"], "generated_at": "2025-10-13 15:46:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors wear to the temple?", "output": "Sarongs/sashes will be provided by the temple.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["b6629dd1-069b-4089-8537-8e8a1691a8fb", "a6c05952-862c-482a-967e-24b55a7082f0", "eb083131-d65d-4bf9-a15d-047345f571f8", "f0982348-22f8-4c66-a016-df70f0a7bf85"], "citations": ["The temple will provide sarongs/sashes to visitors."], "generated_at": "2025-10-13 15:47:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are the monkeys at the temple aggressive?", "output": "No, but they are sneaky and may steal your belongings.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["b6629dd1-069b-4089-8537-8e8a1691a8fb", "a6c05952-862c-482a-967e-24b55a7082f0", "eb083131-d65d-4bf9-a15d-047345f571f8", "f0982348-22f8-4c66-a016-df70f0a7bf85"], "citations": ["They will take you stuff and run until you trade them with something in return"], "generated_at": "2025-10-13 15:47:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen at the temple during sunset?", "output": "A traditional dance performance.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["b6629dd1-069b-4089-8537-8e8a1691a8fb", "a6c05952-862c-482a-967e-24b55a7082f0", "eb083131-d65d-4bf9-a15d-047345f571f8", "f0982348-22f8-4c66-a016-df70f0a7bf85"], "citations": ["traditional dance in the sunset"], "generated_at": "2025-10-13 15:47:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are the toilets at the temple clean?", "output": "No, they were described as 'disgusting'.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["b6629dd1-069b-4089-8537-8e8a1691a8fb", "a6c05952-862c-482a-967e-24b55a7082f0", "eb083131-d65d-4bf9-a15d-047345f571f8", "f0982348-22f8-4c66-a016-df70f0a7bf85"], "citations": ["The toilets outside the theatre were disgusting"], "generated_at": "2025-10-13 15:47:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you bring your own food to feed the monkeys?", "output": "No, it is advised not to bring peanuts or bananas.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["b6629dd1-069b-4089-8537-8e8a1691a8fb", "a6c05952-862c-482a-967e-24b55a7082f0", "eb083131-d65d-4bf9-a15d-047345f571f8", "f0982348-22f8-4c66-a016-df70f0a7bf85"], "citations": ["It was advised not to bring peanuts or bananas"], "generated_at": "2025-10-13 15:47:25", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at the Ulawatu Temple?", "output": "Taking photos and walking along the cliff paths", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "generated_at": "2025-10-13 15:48:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can tourists protect themselves from aggressive monkeys at Ulawatu Temple?", "output": "By carrying stout sticks or wearing clothing that covers the knees to avoid being asked for a saron", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "citations": ["You will have to wear a saron"], "generated_at": "2025-10-13 15:48:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the Kecak dance and when is it best to watch it at Ulawatu Temple?", "output": "The Kecak dance is a traditional Balinese performance that can be seen at sunset, but it may be crowded", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "citations": ["WOOW! What a brilliant interplay of voices"], "generated_at": "2025-10-13 15:48:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any guided tours available at Ulawatu Temple?", "output": "Yes, wonderful guided tours are available to learn about the location's significance and architecture", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "generated_at": "2025-10-13 15:48:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors borrow clothing at Ulawatu Temple?", "output": "Yes, a sarong can be borrowed for free if needed", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "generated_at": "2025-10-13 15:48:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the spiritual experience like at Ulawatu Temple?", "output": "Watching the sunset over the ocean brings on a sense of awe and spirituality, regardless of one's faith", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["fad33c26-8aaf-4f2c-89c7-1ffb42f7bb22", "20f8076c-9132-464b-ab7d-41a5a1cdbbb1", "0c2e1719-95c1-44dc-b0ea-8ca4e8b2b04a", "64f9bf02-8d04-4132-92f6-43754f678d6b"], "generated_at": "2025-10-13 15:48:57", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors wear to a temple in Bali?", "output": "A sarong is recommended, which can be borrowed for free at the entrance.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["41ff9593-d7dd-4f1c-aa38-b177dde54814", "376aa759-b555-4849-8b83-a9f071155846", "fb095731-8628-498f-a762-817935b01219", "fa91daab-83d3-4b86-8ccf-8458aa926f3d"], "citations": ["Sarung is needed if you are wearing shorts/short skirt, to show respect to the God."], "generated_at": "2025-10-13 15:50:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a common problem at this temple?", "output": "Aggressive monkeys that may steal visitors' belongings, such as sunglasses and bags.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["41ff9593-d7dd-4f1c-aa38-b177dde54814", "376aa759-b555-4849-8b83-a9f071155846", "fb095731-8628-498f-a762-817935b01219", "fa91daab-83d3-4b86-8ccf-8458aa926f3d"], "generated_at": "2025-10-13 15:50:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended time to visit the temple?", "output": "Sunset, as it offers excellent photographic opportunities and entertainment.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["41ff9593-d7dd-4f1c-aa38-b177dde54814", "376aa759-b555-4849-8b83-a9f071155846", "fb095731-8628-498f-a762-817935b01219", "fa91daab-83d3-4b86-8ccf-8458aa926f3d"], "generated_at": "2025-10-13 15:50:06", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the dance performed at this temple?", "output": "Kecak fire dance", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["f5a68853-93da-46d7-bcef-3c25e3d80acc", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "df51eb72-33de-4f82-9277-f199e3472de3", "94fb061b-ee15-42dd-beb9-91354486fa18"], "citations": ["You can watch the Kacek fire dance."], "generated_at": "2025-10-13 15:51:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any safety precautions to take when visiting this temple?", "output": "Yes, beware of the monkeys and keep your belongings secure.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["f5a68853-93da-46d7-bcef-3c25e3d80acc", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "df51eb72-33de-4f82-9277-f199e3472de3", "94fb061b-ee15-42dd-beb9-91354486fa18"], "citations": ["1. many monkeys as you enter the temple, keep your belongings in your bag especially loose items like mobile phones and sunglasses."], "generated_at": "2025-10-13 15:51:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it necessary to dress modestly when visiting this temple?", "output": "Yes, please cover your legs with something simple like a sarong.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["f5a68853-93da-46d7-bcef-3c25e3d80acc", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "df51eb72-33de-4f82-9277-f199e3472de3", "94fb061b-ee15-42dd-beb9-91354486fa18"], "citations": ["Also as will all temples please dress as per their rules which means covering your legs with something as simple as a sarong."], "generated_at": "2025-10-13 15:51:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What makes this temple unique in terms of its location?", "output": "It is located on a 100m deep escarpment overlooking the Indian Ocean.", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["f5a68853-93da-46d7-bcef-3c25e3d80acc", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "df51eb72-33de-4f82-9277-f199e3472de3", "94fb061b-ee15-42dd-beb9-91354486fa18"], "citations": ["ple located in stunning edge of the island, on 100m deep escarpment."], "generated_at": "2025-10-13 15:51:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter the temple grounds?", "output": "$2 AUD", "meta": {"source_path": "corpus/topic=4__part=031__n=60.txt", "chunk_ids": ["f5a68853-93da-46d7-bcef-3c25e3d80acc", "0ac80199-bdfb-4ac4-b245-af34420cc75a", "df51eb72-33de-4f82-9277-f199e3472de3", "94fb061b-ee15-42dd-beb9-91354486fa18"], "citations": ["$2aud to enter Temple grounds"], "generated_at": "2025-10-13 15:51:36", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for this temple?", "output": "30,000 Rp per person", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["62cd1988-013d-4ebd-bb08-5dec405c747c", "5bd23d25-8a24-46e8-bd15-0bf7486e242f", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2", "6253a704-8504-419f-885b-06b87a3af76a"], "generated_at": "2025-10-13 15:52:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can non-Balinese people enter the temple itself or just view it from outside?", "output": "They can only see it from outside.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["62cd1988-013d-4ebd-bb08-5dec405c747c", "5bd23d25-8a24-46e8-bd15-0bf7486e242f", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2", "6253a704-8504-419f-885b-06b87a3af76a"], "citations": ["the temple does not allow non-balinese people, so you can just see it from outside."], "generated_at": "2025-10-13 15:52:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique feature of this temple?", "output": "It has a lake in the middle of it.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["62cd1988-013d-4ebd-bb08-5dec405c747c", "5bd23d25-8a24-46e8-bd15-0bf7486e242f", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2", "6253a704-8504-419f-885b-06b87a3af76a"], "citations": ["you can find a lake."], "generated_at": "2025-10-13 15:52:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much time should I allocate to visit the temple and its surroundings?", "output": "20 minutes to enjoy the surrounding gardens and statues", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["62cd1988-013d-4ebd-bb08-5dec405c747c", "5bd23d25-8a24-46e8-bd15-0bf7486e242f", "d8fb6d93-6778-4ca8-8f00-3d0db13c5cc2", "6253a704-8504-419f-885b-06b87a3af76a"], "generated_at": "2025-10-13 15:52:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple that was described as feeling like Disneyland?", "output": "INSUFFICIENT_CONTEXT", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["f1c2a75d-5fca-4464-a4f7-848ffaf2335e", "adb73191-4648-4292-8aad-516f6d5850e5", "06483297-bdbe-4e55-abce-018b97cd6f6e", "2e116ec9-4d0e-4b7c-8e65-e06a0122f898"], "generated_at": "2025-10-13 15:54:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it respectful to wear short pants or short skirts when visiting temples in Bali?", "output": "Yes, but it would be more respectful to wear appropriate temple attire.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["f1c2a75d-5fca-4464-a4f7-848ffaf2335e", "adb73191-4648-4292-8aad-516f6d5850e5", "06483297-bdbe-4e55-abce-018b97cd6f6e", "2e116ec9-4d0e-4b7c-8e65-e06a0122f898"], "generated_at": "2025-10-13 15:54:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of the Ulun Danu Bratan temple?", "output": "It has nicer pictures to take and is located on the Bratan lake.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["f1c2a75d-5fca-4464-a4f7-848ffaf2335e", "adb73191-4648-4292-8aad-516f6d5850e5", "06483297-bdbe-4e55-abce-018b97cd6f6e", "2e116ec9-4d0e-4b7c-8e65-e06a0122f898"], "citations": ["Visit the Ulun Danu Bratan on the Bratan lake, much more nicer pictures to take and temples like the Besakih temple."], "generated_at": "2025-10-13 15:54:00", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the lake where the Ulun Danu Beratan Temple is located?", "output": "Beratan Lake", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["8429fb63-c87f-4255-b225-668236a9c830", "24933a69-6ece-4517-bf61-8e1c369b7128", "61d242c7-6538-4d10-88a0-1bf38c7c2372", "a4e7a67d-c211-4fce-b53f-5c38ead2e364"], "generated_at": "2025-10-13 15:55:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why should tourists not enter the temple at Ulun Danu Beratan?", "output": "There is nothing to see inside, and visitors can only pose in front of it for a photo.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["8429fb63-c87f-4255-b225-668236a9c830", "24933a69-6ece-4517-bf61-8e1c369b7128", "61d242c7-6538-4d10-88a0-1bf38c7c2372", "a4e7a67d-c211-4fce-b53f-5c38ead2e364"], "generated_at": "2025-10-13 15:55:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What amenities are available near the Ulun Danu Beratan Temple?", "output": "There is a little park area for children, restaurants, and some animals that can be taken pictures with for a small fee.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["8429fb63-c87f-4255-b225-668236a9c830", "24933a69-6ece-4517-bf61-8e1c369b7128", "61d242c7-6538-4d10-88a0-1bf38c7c2372", "a4e7a67d-c211-4fce-b53f-5c38ead2e364"], "generated_at": "2025-10-13 15:55:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the significance of Ulun Danu Beratan Temple?", "output": "It's a famous picturesque landmark and a scenic backdrop due to its unique location on the lake surrounded by mountains.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["8429fb63-c87f-4255-b225-668236a9c830", "24933a69-6ece-4517-bf61-8e1c369b7128", "61d242c7-6538-4d10-88a0-1bf38c7c2372", "a4e7a67d-c211-4fce-b53f-5c38ead2e364"], "generated_at": "2025-10-13 15:55:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists do to avoid crowds at Ulun Danu Beratan Temple?", "output": "Visit at sunrise to avoid the crowd for a beautiful photo.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["8429fb63-c87f-4255-b225-668236a9c830", "24933a69-6ece-4517-bf61-8e1c369b7128", "61d242c7-6538-4d10-88a0-1bf38c7c2372", "a4e7a67d-c211-4fce-b53f-5c38ead2e364"], "generated_at": "2025-10-13 15:55:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the atmosphere like around Ulun Danu Beratan Temple?", "output": "The atmosphere is serene, and there are lots of areas to relax and enjoy the scene.", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["8429fb63-c87f-4255-b225-668236a9c830", "24933a69-6ece-4517-bf61-8e1c369b7128", "61d242c7-6538-4d10-88a0-1bf38c7c2372", "a4e7a67d-c211-4fce-b53f-5c38ead2e364"], "generated_at": "2025-10-13 15:55:34", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple located on the shores of Lake Bratan?", "output": "Ulun Danu Bratan Temple", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "generated_at": "2025-10-13 15:56:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at the temple?", "output": "Boating on the lake with options of paddle and motor boat", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "generated_at": "2025-10-13 15:56:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good time to visit the temple for photography?", "output": "Morning", "meta": {"source_path": "corpus/topic=2__part=079__n=60.txt", "chunk_ids": ["6a93ee18-6933-4e44-8ef6-c817853c4025", "ec76722c-bb64-4645-9da5-e64388233647", "cbdf45d2-d794-416d-bb88-8832f29327df", "9f804e03-6f8c-404f-a9c3-def2684411c6"], "citations": [57], "generated_at": "2025-10-13 15:56:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the dance performance that was disappointing to the reviewer?", "output": "Kecak dance", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["2efbec05-c328-40df-be6d-85158dac1dfe", "71d85bde-b1a7-430f-abd9-b3822fda040a", "8729d9c6-fd64-40c1-8fa6-a1b00c7faf25", "5985bcf7-7059-4d53-9a90-c083d7c1c45e"], "generated_at": "2025-10-13 15:57:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why did the reviewer feel ashamed during the Kecak dance performance?", "output": "They felt that the performers were disrespecting their culture by engaging in childish and stupid actions, including getting audience members on stage to do funny acts.", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["2efbec05-c328-40df-be6d-85158dac1dfe", "71d85bde-b1a7-430f-abd9-b3822fda040a", "8729d9c6-fd64-40c1-8fa6-a1b00c7faf25", "5985bcf7-7059-4d53-9a90-c083d7c1c45e"], "generated_at": "2025-10-13 15:57:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much did it cost for tourists to visit the temple?", "output": "Rp 30,000", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["2efbec05-c328-40df-be6d-85158dac1dfe", "71d85bde-b1a7-430f-abd9-b3822fda040a", "8729d9c6-fd64-40c1-8fa6-a1b00c7faf25", "5985bcf7-7059-4d53-9a90-c083d7c1c45e"], "citations": ["it was very crowded. It costs Rp 30,000 for tourists."], "generated_at": "2025-10-13 15:57:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple where the reviewer visited?", "output": "Uluwatu temple", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["2efbec05-c328-40df-be6d-85158dac1dfe", "71d85bde-b1a7-430f-abd9-b3822fda040a", "8729d9c6-fd64-40c1-8fa6-a1b00c7faf25", "5985bcf7-7059-4d53-9a90-c083d7c1c45e"], "generated_at": "2025-10-13 15:57:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Uluwatu Temple?", "output": "$2 USD", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["f371d1ba-164f-4b8b-a126-28fd8acc7819", "b72f9631-3376-4a60-a33a-4741e3814443", "439bba92-03b9-49cf-930b-2bff0ad8af20", "470867cd-b3a7-4fac-8c46-52f03aada22a"], "generated_at": "2025-10-13 15:59:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long did it take to ascend and descend the mountain at Uluwatu?", "output": "1 hr 45 min to ascend, 1 hr to descend", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["f371d1ba-164f-4b8b-a126-28fd8acc7819", "b72f9631-3376-4a60-a33a-4741e3814443", "439bba92-03b9-49cf-930b-2bff0ad8af20", "470867cd-b3a7-4fac-8c46-52f03aada22a"], "generated_at": "2025-10-13 15:59:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you do when interacting with monkeys at Uluwatu?", "output": "Take glasses and hats off, hide food, and avoid eye contact", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["f371d1ba-164f-4b8b-a126-28fd8acc7819", "b72f9631-3376-4a60-a33a-4741e3814443", "439bba92-03b9-49cf-930b-2bff0ad8af20", "470867cd-b3a7-4fac-8c46-52f03aada22a"], "generated_at": "2025-10-13 15:59:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the cost of watching the kecak dance at Uluwatu Temple?", "output": "$7 to $4 USD", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["ec8e564d-235a-49b0-85ab-98b70e1a1c36", "f15dc530-7c50-43e9-a57d-5f5a9a02d795", "d98d9d80-c383-4773-a6f9-9ec9d3192627", "0cde5b34-605b-4253-b28a-acb0bf1f8be2"], "generated_at": "2025-10-13 16:00:14", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to get to Uluwatu Temple from Kuta Town by motorcycle?", "output": "45 minutes", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["ec8e564d-235a-49b0-85ab-98b70e1a1c36", "f15dc530-7c50-43e9-a57d-5f5a9a02d795", "d98d9d80-c383-4773-a6f9-9ec9d3192627", "0cde5b34-605b-4253-b28a-acb0bf1f8be2"], "generated_at": "2025-10-13 16:00:14", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Uluwatu Temple for a sunset view?", "output": "Before 3pm or at 5pm", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["ec8e564d-235a-49b0-85ab-98b70e1a1c36", "f15dc530-7c50-43e9-a57d-5f5a9a02d795", "d98d9d80-c383-4773-a6f9-9ec9d3192627", "0cde5b34-605b-4253-b28a-acb0bf1f8be2"], "generated_at": "2025-10-13 16:00:14", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the dress code for visiting Uluwatu Temple?", "output": "You need to cover up if your legs are showing, but if you're wearing pants or a long skirt, you can just tie a sash around your waist.", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["c3a2ed0b-584c-4c60-a396-b4db7a00a0f9", "20c6c01a-dcaa-47a8-a413-a72945b2c853", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "2fbfb1c0-afc3-46a1-8af2-8d9b22019934"], "generated_at": "2025-10-13 16:01:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How early should I arrive for the Kecak Fire Dance performance?", "output": "It's recommended to get there at least an hour before the show starts, as seats can fill up quickly.", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["c3a2ed0b-584c-4c60-a396-b4db7a00a0f9", "20c6c01a-dcaa-47a8-a413-a72945b2c853", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "2fbfb1c0-afc3-46a1-8af2-8d9b22019934"], "generated_at": "2025-10-13 16:01:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is the Uluwatu Temple wheelchair accessible?", "output": "No, it's not recommended for people with mobility issues due to its location on a high cliff and lack of accommodations.", "meta": {"source_path": "corpus/topic=7__part=003__n=60.txt", "chunk_ids": ["c3a2ed0b-584c-4c60-a396-b4db7a00a0f9", "20c6c01a-dcaa-47a8-a413-a72945b2c853", "9c6bc4d9-1960-476d-9c88-e612622b76aa", "2fbfb1c0-afc3-46a1-8af2-8d9b22019934"], "generated_at": "2025-10-13 16:01:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended dress code for climbing a volcano?", "output": "Hiking shoes or at least your Nike from gym", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["806a4f6d-a42f-4139-8a0b-3c5b182d8160", "6e29a26e-fdc2-4596-970a-cbe3db194a62", "d3a048f7-73ea-446b-82a5-4ce905a81ab4", "f0cb0d0e-a33d-476d-b6be-457ab4c401ee"], "generated_at": "2025-10-13 16:02:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to climb up the volcano?", "output": "2 hours", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["806a4f6d-a42f-4139-8a0b-3c5b182d8160", "6e29a26e-fdc2-4596-970a-cbe3db194a62", "d3a048f7-73ea-446b-82a5-4ce905a81ab4", "f0cb0d0e-a33d-476d-b6be-457ab4c401ee"], "citations": ["An amazing experience. We were taken to the base of the volcano to meet our wonderful hiking guide at 3am."], "generated_at": "2025-10-13 16:02:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen from the top of the volcano?", "output": "the entire mountain, lake view on a clear day", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["806a4f6d-a42f-4139-8a0b-3c5b182d8160", "6e29a26e-fdc2-4596-970a-cbe3db194a62", "d3a048f7-73ea-446b-82a5-4ce905a81ab4", "f0cb0d0e-a33d-476d-b6be-457ab4c401ee"], "generated_at": "2025-10-13 16:02:26", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the guide who helped a couple on their Mt Batur trek in June 2017?", "output": "Nik", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "generated_at": "2025-10-13 16:03:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a challenge that trekkers may face on the descent from Mt Batur?", "output": "loose pebbles and ashes can cause slipping", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "generated_at": "2025-10-13 16:03:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of the trek to Mt Batur that one guide, Dewata Li Bali, took care of?", "output": "collecting every piece of litter and garbage", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["4c21f4c3-8e0c-46da-b5b0-2e81c7d89ca2", "858ed7b7-7b87-4fd6-9ad8-7b4cd66d27cc", "92527441-5203-4cf5-baa6-487e34d36aef", "e0d2257d-6ac8-491d-8462-06121009c351"], "citations": ["He patiently collected every piece of litter/ garbage on his way down from the trek..all this without any fuss or complaint."], "generated_at": "2025-10-13 16:03:38", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the driver who took tourists to Uluwatu temple?", "output": "Bagus Arka", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["010fa482-df8b-462a-b1b9-e77d5b519965", "a00401d8-ef18-406a-b236-b9d81246682c", "6ac60a9a-6194-4659-b865-eb37d2fd0f6e", "ffa6ab05-bfb9-4f41-b480-dc1a4fb45bbb"], "generated_at": "2025-10-13 16:05:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a challenging aspect of the hike up Mount Batur?", "output": "It can be very strenuous for someone who's out of shape", "meta": {"source_path": "corpus/topic=5__part=012__n=60.txt", "chunk_ids": ["010fa482-df8b-462a-b1b9-e77d5b519965", "a00401d8-ef18-406a-b236-b9d81246682c", "6ac60a9a-6194-4659-b865-eb37d2fd0f6e", "ffa6ab05-bfb9-4f41-b480-dc1a4fb45bbb"], "generated_at": "2025-10-13 16:05:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for this water sanctuary?", "output": "30k for foreigners", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["59e1da53-e22f-47c5-9409-be81684b0915", "c534c51a-98b5-44fd-b221-90bcb9dc8c07", "315527cc-72bb-40cd-b706-cda325a87e34", "bd6e3217-25ee-47ae-b483-25c1e2704ca7"], "generated_at": "2025-10-13 16:07:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you swim in the pools at Tirta Gangga?", "output": "Yes, there are two pools that can be used for a small extra fee of 20k", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["59e1da53-e22f-47c5-9409-be81684b0915", "c534c51a-98b5-44fd-b221-90bcb9dc8c07", "315527cc-72bb-40cd-b706-cda325a87e34", "bd6e3217-25ee-47ae-b483-25c1e2704ca7"], "citations": ["Lots of Koi carp to see and feed."], "generated_at": "2025-10-13 16:07:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be done in the back area of Tirta Gangga?", "output": "You can take a dip in the inner pools, pay an entrance fee to use two or all three spring water swimming pools, and changing rooms are available", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["59e1da53-e22f-47c5-9409-be81684b0915", "c534c51a-98b5-44fd-b221-90bcb9dc8c07", "315527cc-72bb-40cd-b706-cda325a87e34", "bd6e3217-25ee-47ae-b483-25c1e2704ca7"], "generated_at": "2025-10-13 16:07:09", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Tirta Gangga?", "output": "10,000 IDR", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["a9107f4b-3876-4442-a035-c193e4e94f43", "363ea55c-ef64-43c2-bf40-3933eb92452e", "c2c1e883-e5ee-490d-a041-99f99f1f8773", "f3bdf07e-24f9-4aa6-99e4-112b0dc3ab15"], "generated_at": "2025-10-13 16:08:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you feed the fish at Tirta Gangga?", "output": "Yes, visitors can buy fish food from vendors and feed the fish in the ponds", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["a9107f4b-3876-4442-a035-c193e4e94f43", "363ea55c-ef64-43c2-bf40-3933eb92452e", "c2c1e883-e5ee-490d-a041-99f99f1f8773", "f3bdf07e-24f9-4aa6-99e4-112b0dc3ab15"], "generated_at": "2025-10-13 16:08:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is there a swimming pool available for visitors at Tirta Gangga?", "output": "Yes, but it requires an extra charge of IDR 10,000/person", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["a9107f4b-3876-4442-a035-c193e4e94f43", "363ea55c-ef64-43c2-bf40-3933eb92452e", "c2c1e883-e5ee-490d-a041-99f99f1f8773", "f3bdf07e-24f9-4aa6-99e4-112b0dc3ab15"], "generated_at": "2025-10-13 16:08:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction at Tirta Gangga?", "output": "The water fountain with stone steps in the middle where visitors can feed the fish.", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["f143fe6d-9e8b-4259-8617-d6fc7a11c0f6", "824593ca-a78d-477f-8095-8e4abc1255e5", "3f08ce96-ef6a-477d-bd59-0ebe08cc9b0b", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4"], "generated_at": "2025-10-13 16:09:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter Tirta Gangga?", "output": "30 IR (Indonesian Rupiah)", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["f143fe6d-9e8b-4259-8617-d6fc7a11c0f6", "824593ca-a78d-477f-8095-8e4abc1255e5", "3f08ce96-ef6a-477d-bd59-0ebe08cc9b0b", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4"], "generated_at": "2025-10-13 16:09:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What activities can visitors do at Tirta Gangga?", "output": "Feed the fish, swim in the pool (for a fee), and take photos with animals such as snakes and iguanas.", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["f143fe6d-9e8b-4259-8617-d6fc7a11c0f6", "824593ca-a78d-477f-8095-8e4abc1255e5", "3f08ce96-ef6a-477d-bd59-0ebe08cc9b0b", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4"], "citations": ["make sure you take your bathers as there is a wonderful freshwater pool to swim in up at the top (extra 10,000rP- Aussie $1)"], "generated_at": "2025-10-13 16:09:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the water palace mentioned in this text?", "output": "Tirta Gangga", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "chunk_ids": ["1f91f6b3-9c6a-4730-8bc3-c0da2e24fbba", "d72a1bef-d670-455b-b420-2104a7f8f95a", "eb776d01-6b46-468b-8214-0a1589b4b1c4", "5a7fd856-aa3d-4c25-9cfd-197bfb702d8b"], "generated_at": "2025-10-13 16:10:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there restaurants available at Tirta Gangga water palace?", "output": "Yes, there are restaurants available.", "meta": {"source_path": "corpus/topic=8__part=003__n=60.txt", "citations": ["(6) Good place to enjoy water and fishes. recommend to go later in the afternoon so it is not so sunny. You can ride a boat and feed the koi. Good experience for kids too."], "chunk_ids": ["1f91f6b3-9c6a-4730-8bc3-c0da2e24fbba", "d72a1bef-d670-455b-b420-2104a7f8f95a", "eb776d01-6b46-468b-8214-0a1589b4b1c4", "5a7fd856-aa3d-4c25-9cfd-197bfb702d8b"], "generated_at": "2025-10-13 16:10:44", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at Tirta Gangga?", "output": "Feeding fish", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["91a725fb-26a4-4203-a9a1-5d397d5c137c", "984f1e1f-5965-4155-81bb-0194bdd610d2", "c502848b-b5e7-4915-9055-10f2b7fa9185", "35acf884-cfde-47da-865a-792bc3582e8c"], "generated_at": "2025-10-13 16:11:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a recommended time to visit Tirta Gangga?", "output": "Early in the morning", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["91a725fb-26a4-4203-a9a1-5d397d5c137c", "984f1e1f-5965-4155-81bb-0194bdd610d2", "c502848b-b5e7-4915-9055-10f2b7fa9185", "35acf884-cfde-47da-865a-792bc3582e8c"], "citations": ["It's better with less people if you go at the end of the temple.", "Maybe if you get there early, it's less busy."], "generated_at": "2025-10-13 16:11:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What kind of animals can be found near Tirta Gangga?", "output": "Owls, civet cats, snakes, and flying dogs", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["91a725fb-26a4-4203-a9a1-5d397d5c137c", "984f1e1f-5965-4155-81bb-0194bdd610d2", "c502848b-b5e7-4915-9055-10f2b7fa9185", "35acf884-cfde-47da-865a-792bc3582e8c"], "generated_at": "2025-10-13 16:11:58", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at this water garden?", "output": "Walking the stepping stones in the pond", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 16:13:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost for adults to dip into the pool at this water garden?", "output": "10,000 IDR", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 16:13:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What makes this place suitable for young children?", "output": "It's a safe and natural environment with no risk of getting yelled at, and kids can even take their bathers to swim in the pool", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["62b65d20-021d-4520-8d56-4aff77abb36f", "c6abc52a-e3e9-412e-8059-7ea608d4b82f", "05d44f11-ef93-421e-aa9a-dc7c3cf197d2", "ff726dff-3d0d-4709-8b38-79817b17ac9a"], "generated_at": "2025-10-13 16:13:04", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is this place known for?", "output": "water gardens with koi carp", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["3d5a8def-4c2e-4870-988e-74d63e6cd970", "91a725fb-26a4-4203-a9a1-5d397d5c137c", "5c9929aa-e996-4f18-9805-184e4e0b8287", "a7b938e7-d716-4b62-9eaa-d26d7762d546"], "generated_at": "2025-10-13 16:14:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any crowds at this place?", "output": "yes, especially during peak hours", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["3d5a8def-4c2e-4870-988e-74d63e6cd970", "91a725fb-26a4-4203-a9a1-5d397d5c137c", "5c9929aa-e996-4f18-9805-184e4e0b8287", "a7b938e7-d716-4b62-9eaa-d26d7762d546"], "generated_at": "2025-10-13 16:14:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the admission fee for this place?", "output": "$4 or IDR30k", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["3d5a8def-4c2e-4870-988e-74d63e6cd970", "91a725fb-26a4-4203-a9a1-5d397d5c137c", "5c9929aa-e996-4f18-9805-184e4e0b8287", "a7b938e7-d716-4b62-9eaa-d26d7762d546"], "generated_at": "2025-10-13 16:14:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is Tirta Gangga known for?", "output": "It's a water temple with beautiful gardens, fountains, fish ponds, and statues.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["bd3bfe61-fb5c-4d64-b1f6-26202f99580d", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4", "7b5e177a-283a-4f42-9d9d-f164217727fe", "8d17d80c-6d0a-4988-834a-3a2c12db1e31"], "generated_at": "2025-10-13 16:15:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can visitors make the most of their time at Tirta Gangga?", "output": "It's recommended to visit early in the morning to avoid crowds and take photos without too many people behind you.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["bd3bfe61-fb5c-4d64-b1f6-26202f99580d", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4", "7b5e177a-283a-4f42-9d9d-f164217727fe", "8d17d80c-6d0a-4988-834a-3a2c12db1e31"], "generated_at": "2025-10-13 16:15:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What activities can visitors do at Tirta Gangga?", "output": "Visitors can feed the fish, walk on stepping stones, and take photos with the beautiful scenery.", "meta": {"source_path": "corpus/topic=8__part=002__n=60.txt", "chunk_ids": ["bd3bfe61-fb5c-4d64-b1f6-26202f99580d", "e0fe1274-ad68-47f0-bba8-2dc9d69584d4", "7b5e177a-283a-4f42-9d9d-f164217727fe", "8d17d80c-6d0a-4988-834a-3a2c12db1e31"], "generated_at": "2025-10-13 16:15:21", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about this temple?", "output": "It's set in the sea, and you can walk up to it during low tide.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["89c2d63a-5e49-4769-bd15-d7ddebb0639b", "f7739202-394b-44ed-a420-4f0b05c37e53", "e0865e6b-1b94-4906-8b8c-0c1fa9f9348a", "612b5e44-81cf-4aeb-80b3-96cc2de9a341"], "citations": ["The uniqueness of this temple is that it is set in the sea."], "generated_at": "2025-10-13 16:16:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors enter the temples?", "output": "No, tourists are not allowed within the temples but can view them from a distance.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["89c2d63a-5e49-4769-bd15-d7ddebb0639b", "f7739202-394b-44ed-a420-4f0b05c37e53", "e0865e6b-1b94-4906-8b8c-0c1fa9f9348a", "612b5e44-81cf-4aeb-80b3-96cc2de9a341"], "citations": ["Tourists are not allowed within the temples but it's a great experience nevertheless."], "generated_at": "2025-10-13 16:16:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors do to avoid crowds?", "output": "Consider an early morning visit or rent a moped to dodge the lines of cars.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["89c2d63a-5e49-4769-bd15-d7ddebb0639b", "f7739202-394b-44ed-a420-4f0b05c37e53", "e0865e6b-1b94-4906-8b8c-0c1fa9f9348a", "612b5e44-81cf-4aeb-80b3-96cc2de9a341"], "citations": ["Consider an early morning visit instead of the sunset crowd."], "generated_at": "2025-10-13 16:16:29", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main issue with visiting Tanah Lot Temple?", "output": "Crowds", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["9b318603-ba4f-4897-8702-904cabe27412", "93e3e56b-38ec-401f-9830-2cbfcb4a377d", "15dc0126-5862-4107-93bb-fd199ff66f4e", "00faeb98-95db-4e29-85c8-b41d391397e4"], "generated_at": "2025-10-13 16:17:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter the temple?", "output": "IDR 30k", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["9b318603-ba4f-4897-8702-904cabe27412", "93e3e56b-38ec-401f-9830-2cbfcb4a377d", "15dc0126-5862-4107-93bb-fd199ff66f4e", "00faeb98-95db-4e29-85c8-b41d391397e4"], "citations": ["The entrance fee - one of the most expensive of any temple I have visited"], "generated_at": "2025-10-13 16:17:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can be seen at Tanah Lot Temple during sunset?", "output": "Bats flying out of a cave", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["9b318603-ba4f-4897-8702-904cabe27412", "93e3e56b-38ec-401f-9830-2cbfcb4a377d", "15dc0126-5862-4107-93bb-fd199ff66f4e", "00faeb98-95db-4e29-85c8-b41d391397e4"], "citations": ["Tanah Lot Temple its nice place to visit in the evening and seeing sunset, it's very crowded place even out of season. What I did like that minutes after sunset hundreds of bats did fly out of the cave that was something :) as I didn't expected that one."], "generated_at": "2025-10-13 16:17:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors enter the main temple building?", "output": "No", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["9b318603-ba4f-4897-8702-904cabe27412", "93e3e56b-38ec-401f-9830-2cbfcb4a377d", "15dc0126-5862-4107-93bb-fd199ff66f4e", "00faeb98-95db-4e29-85c8-b41d391397e4"], "generated_at": "2025-10-13 16:17:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the significance of the sea snake at Tanah Lot Temple?", "output": "According to legend, it guards the temple", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["9b318603-ba4f-4897-8702-904cabe27412", "93e3e56b-38ec-401f-9830-2cbfcb4a377d", "15dc0126-5862-4107-93bb-fd199ff66f4e", "00faeb98-95db-4e29-85c8-b41d391397e4"], "citations": ["When we crossed the ocean back to land there was another man charging money to show tourist a sea snake (lengend states the temple is guarded by a sea snake)"], "generated_at": "2025-10-13 16:17:53", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a popular activity to do at Tana Lot?", "output": "Watch the sunset", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["eb9e0aef-2b50-4c0f-af7b-44a05bd2560a", "aba34325-b1df-42d8-8071-1c42ff1d8f1b", "e6d15360-9bf0-49ce-946f-8b9ce2eb3563", "ec4a74f8-02a5-44ee-acbe-f245afd0471b"], "generated_at": "2025-10-13 16:18:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to drive from Seminyak to Tana Lot temple?", "output": "About an hour", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["eb9e0aef-2b50-4c0f-af7b-44a05bd2560a", "aba34325-b1df-42d8-8071-1c42ff1d8f1b", "e6d15360-9bf0-49ce-946f-8b9ce2eb3563", "ec4a74f8-02a5-44ee-acbe-f245afd0471b"], "citations": ["The drive to the temple from seminyak is about 1 hour"], "generated_at": "2025-10-13 16:18:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists be aware of when visiting Tana Lot at high tide?", "output": "The path under water and the rocks can be slippery", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["eb9e0aef-2b50-4c0f-af7b-44a05bd2560a", "aba34325-b1df-42d8-8071-1c42ff1d8f1b", "e6d15360-9bf0-49ce-946f-8b9ce2eb3563", "ec4a74f8-02a5-44ee-acbe-f245afd0471b"], "citations": ["lf, as the tide was in and the path under water"], "generated_at": "2025-10-13 16:18:59", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is notable about the temple's location?", "output": "It is built in the sea.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 16:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can visitors enter the temple itself?", "output": "No, access is restricted to sacred days or low tide.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 16:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What makes this temple unique among others in Bali?", "output": "It is a natural formation, possibly created by an earthquake or volcano.", "meta": {"source_path": "corpus/topic=2__part=038__n=60.txt", "chunk_ids": ["25989e03-6982-456d-b302-174bc5962902", "378cad34-7ce1-4a0c-9ec3-a40b3a8b91e7", "3eb00abc-a002-4527-bef0-043ac027b46b", "c76fca09-000e-4136-b15f-72c50f5df122"], "generated_at": "2025-10-13 16:20:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to drive from Seminyak to this temple?", "output": "3.5 hours", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["ac5cb170-0bce-41af-83f5-2d8b9abd8300", "442c19aa-4cac-4d70-a2e5-5881e090b528", "b1d77a81-71da-4746-892c-6b2f01a85552", "bc4bccb1-6aad-4ba9-bc05-6aa97a383ad1"], "generated_at": "2025-10-13 16:21:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What kind of animals can be rented at the temple for photos?", "output": "miniature owls, a huge Python and several large bats", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["ac5cb170-0bce-41af-83f5-2d8b9abd8300", "442c19aa-4cac-4d70-a2e5-5881e090b528", "b1d77a81-71da-4746-892c-6b2f01a85552", "bc4bccb1-6aad-4ba9-bc05-6aa97a383ad1"], "citations": ["They had miniature owls, a huge Python and several large bats."], "generated_at": "2025-10-13 16:21:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it possible to enter the temple itself at this location?", "output": "No", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["ac5cb170-0bce-41af-83f5-2d8b9abd8300", "442c19aa-4cac-4d70-a2e5-5881e090b528", "b1d77a81-71da-4746-892c-6b2f01a85552", "bc4bccb1-6aad-4ba9-bc05-6aa97a383ad1"], "citations": ["The temple itself is closed to the public."], "generated_at": "2025-10-13 16:21:13", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of this water palace in Karangasem?", "output": "Tirta Gangga", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["f9455858-c386-4cff-9b0a-4e64734781a0", "7c896c67-f114-4861-8455-3a84ea89a844", "e6736884-6f95-4175-a82b-e5bb8eed4d25", "18bddf83-afcc-4536-9929-ec8cdb9c26cb"], "generated_at": "2025-10-13 16:22:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you swim in the pools at Tirta Gangga?", "output": "Yes, but some areas may have separate entrance fees.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["f9455858-c386-4cff-9b0a-4e64734781a0", "7c896c67-f114-4861-8455-3a84ea89a844", "e6736884-6f95-4175-a82b-e5bb8eed4d25", "18bddf83-afcc-4536-9929-ec8cdb9c26cb"], "generated_at": "2025-10-13 16:22:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to enter Tirta Gangga?", "output": "30,000", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["f9455858-c386-4cff-9b0a-4e64734781a0", "7c896c67-f114-4861-8455-3a84ea89a844", "e6736884-6f95-4175-a82b-e5bb8eed4d25", "18bddf83-afcc-4536-9929-ec8cdb9c26cb"], "citations": ["30,000 to get in and well worth it."], "generated_at": "2025-10-13 16:22:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of this water palace in Karangasem?", "output": "Tirta Gangga", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["f9455858-c386-4cff-9b0a-4e64734781a0", "7c896c67-f114-4861-8455-3a84ea89a844", "e6736884-6f95-4175-a82b-e5bb8eed4d25", "18bddf83-afcc-4536-9929-ec8cdb9c26cb"], "generated_at": "2025-10-13 16:22:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you swim in the pools at Tirta Gangga?", "output": "Yes, but some areas may have separate entrance fees.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["f9455858-c386-4cff-9b0a-4e64734781a0", "7c896c67-f114-4861-8455-3a84ea89a844", "e6736884-6f95-4175-a82b-e5bb8eed4d25", "18bddf83-afcc-4536-9929-ec8cdb9c26cb"], "generated_at": "2025-10-13 16:22:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended activity at Tirta Gangga?", "output": "Feeding the fish in the pond with stepping stones.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["f9455858-c386-4cff-9b0a-4e64734781a0", "7c896c67-f114-4861-8455-3a84ea89a844", "e6736884-6f95-4175-a82b-e5bb8eed4d25", "18bddf83-afcc-4536-9929-ec8cdb9c26cb"], "generated_at": "2025-10-13 16:22:45", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some features of the Water Palace?", "output": "The Water Palace has large koi, beautiful architecture, statues, and a serene atmosphere.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["d738bb60-60b3-490d-b65e-5cc0cbfe666f", "1aec65e6-a0f1-4e1b-804b-3fc8399591c4", "33713497-9e16-40be-bcd8-3a004a52721d", "7486f099-9f91-44e3-aeb0-f31004b08c41"], "generated_at": "2025-10-13 16:23:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to visit Tirta Gangga?", "output": "The entry fee is 30,000 and swimming costs an additional 5,000.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["d738bb60-60b3-490d-b65e-5cc0cbfe666f", "1aec65e6-a0f1-4e1b-804b-3fc8399591c4", "33713497-9e16-40be-bcd8-3a004a52721d", "7486f099-9f91-44e3-aeb0-f31004b08c41"], "generated_at": "2025-10-13 16:23:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can you swim in the pools at Tirta Gangga?", "output": "Yes, there are public pools within the palace grounds where you can take a dip.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["d738bb60-60b3-490d-b65e-5cc0cbfe666f", "1aec65e6-a0f1-4e1b-804b-3fc8399591c4", "33713497-9e16-40be-bcd8-3a004a52721d", "7486f099-9f91-44e3-aeb0-f31004b08c41"], "generated_at": "2025-10-13 16:23:55", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for this water palace?", "output": "IDR60k/person", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "generated_at": "2025-10-13 16:25:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any pools where I can swim with fish nearby?", "output": "Yes, some pools are stocked by large goldfish and their relatives.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "generated_at": "2025-10-13 16:25:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique feature of this water palace?", "output": "There are pools with stepping stones to enable people to walk across the pool among statues.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "citations": ["This is ideal for taking photos with a different perspective."], "generated_at": "2025-10-13 16:25:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I feed fish in the pools?", "output": "Yes, you can buy bread near the entrance to feed the beautiful fish.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "generated_at": "2025-10-13 16:25:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any restaurants nearby where I can relax and enjoy the view?", "output": "Yes, there is a nice cafe overlooking the fish ponds.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "generated_at": "2025-10-13 16:25:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How long does it take to walk around and see everything in this water palace?", "output": "It takes about an hour.", "meta": {"source_path": "corpus/topic=8__part=005__n=60.txt", "chunk_ids": ["8165152b-c448-45e2-be07-d1f4ce57e7f8", "d074d08b-9c5c-4a7a-8568-db4e66201fd7", "04056707-3980-47ad-b581-8b53dac8c9f9", "3916aab2-c308-4704-b570-e701c14b4335"], "generated_at": "2025-10-13 16:25:22", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the typical cost to enter the temple?", "output": "20,000 IDR per person", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "citations": ["The view at sunset was quite stunning. It was worth going for that alone.", "Entrance cost 20,000 IDR per person."], "generated_at": "2025-10-13 16:26:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can tourists protect their belongings from the monkeys?", "output": "Keep valuables secure and be cautious when approaching the temple", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "citations": ["Be careful when you go up the mountain monkeys will pluck your sun glasses, or drinks or food you have in your hand.", "Beware of the monkeys as we saw a few people lose their phones and cameras!"], "generated_at": "2025-10-13 16:26:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some tips for visiting the temple during sunset?", "output": "Get there early to secure a good spot, avoid cloudy days", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["8a23ce2a-9312-407e-8f70-3a1efdd10dfc", "caca3e39-7b1c-42e5-91ac-02ca6a1eb5f7", "6428c625-7cfb-48c9-ab96-6d92aa99b23b", "cce0b34e-a8e0-4825-8666-271d7790480e"], "citations": ["My only tip would be to get there early enough to not miss the sunset and preferably not a cloudy day."], "generated_at": "2025-10-13 16:26:40", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main attraction at this temple?", "output": "The view", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "generated_at": "2025-10-13 16:27:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do visitors describe the monkeys at this location?", "output": "They are funny but can steal things from you", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["16b29a04-9662-49b5-8de5-80e7b2dca5d1", "31e4e72d-decc-474b-95e5-6b3d7d0ed26c", "fcec6d8d-8d96-4046-9100-c15a486f55ab", "5222d0c6-4eba-4a5c-a914-6866836e2dc7"], "citations": ["they take everything from you: flip flop, sunglasses, hat, hair band, scarf, water bottle, jewleries, bags!!"], "generated_at": "2025-10-13 16:27:50", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors wear to the temple?", "output": "Visitors need to cover their legs, and if they're wearing shorts, they can rent a sarong at the entrance.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "generated_at": "2025-10-13 16:29:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a common problem visitors encounter at this temple?", "output": "The monkeys are known to steal sunglasses and other belongings from tourists, so it's recommended to keep them secure.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "generated_at": "2025-10-13 16:29:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is the temple accessible for people with mobility issues?", "output": "No, the temple is not very accessible, and visitors need to be prepared for a good walk.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "citations": ["The temple itself is pretty for a pictures but you can't go into it."], "generated_at": "2025-10-13 16:29:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does the entrance fee cost?", "output": "Rp 20,000", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "generated_at": "2025-10-13 16:29:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time of day is recommended to visit the temple for a peaceful experience?", "output": "Morning", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "citations": ["the temple is as awe-inspiring as ever but if you want to enjoy it in peace you should visit it in the morning."], "generated_at": "2025-10-13 16:29:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any additional activities or events held at the temple?", "output": "Yes, visitors can watch a Kecak dance performance at 5 pm if they're lucky.", "meta": {"source_path": "corpus/topic=4__part=024__n=60.txt", "chunk_ids": ["558790a5-3779-4a5b-9ba1-366d58812856", "726f4423-980c-4cc8-b9ba-c93d42550341", "a705a7c8-4a65-4801-8840-041d391171a3", "b1ce4062-82b4-4e48-9d28-3e8ca9f18f65"], "generated_at": "2025-10-13 16:29:17", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Tanah Lot Temple for sunset?", "output": "During low tide", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["5ebe410a-ba03-42b8-a8be-abcddad731a7", "0eb28b5b-0160-4698-93d0-289753bf00d3", "294f599e-e57b-4c8a-bc16-f0be804f8eae", "ecfb1e67-c3f6-4e25-8915-98d3ea8aa5ad"], "generated_at": "2025-10-13 16:31:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much did the ticket cost to visit Tanah Lot Temple?", "output": "20k rupiah", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["5ebe410a-ba03-42b8-a8be-abcddad731a7", "0eb28b5b-0160-4698-93d0-289753bf00d3", "294f599e-e57b-4c8a-bc16-f0be804f8eae", "ecfb1e67-c3f6-4e25-8915-98d3ea8aa5ad"], "generated_at": "2025-10-13 16:31:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is it not recommended to get too close to the temple during high tide season?", "output": "Because they don't allow you near the temple", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["5ebe410a-ba03-42b8-a8be-abcddad731a7", "0eb28b5b-0160-4698-93d0-289753bf00d3", "294f599e-e57b-4c8a-bc16-f0be804f8eae", "ecfb1e67-c3f6-4e25-8915-98d3ea8aa5ad"], "generated_at": "2025-10-13 16:31:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good time to visit this location?", "output": "late afternoon or sunset", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "citations": ["I prefer in the late afternoon, so you can wait for the sunset."], "generated_at": "2025-10-13 16:33:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some popular activities to do at this location?", "output": "watching the sunset, shopping, rafting", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "generated_at": "2025-10-13 16:33:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is it recommended to visit during early morning or near sunset?", "output": "avoid crowds and take nice pictures", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "citations": ["Go either early morning or near sunset.", "It gets busier at sunset."], "generated_at": "2025-10-13 16:33:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What makes this location special?", "output": "beautiful views, picturesque landscape", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["6d60a1c8-57ce-4580-bc04-f1e4fb1f7456", "4f172233-05fe-4571-9495-51bb59bc355d", "e7693aec-a549-47e4-a1d7-6964c1d6d873", "4f19b150-7571-4789-8db2-2dfb60bb5877"], "citations": ["Nice place to see the beautiful picturesque and sun set.", "I really enjoyed the beautiful sunset as well as the picturesque with my friends."], "generated_at": "2025-10-13 16:33:07", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What time is best to visit Tanah Lot temple to avoid crowds?", "output": "Early morning or late afternoon", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 16:34:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any local temples in Bali that are less crowded than Tanah Lot?", "output": "Yes, consider visiting a quieter local temple instead", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 16:34:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists be careful about when visiting Uluwatu Temple?", "output": "Be cautious of aggressive monkeys and protect your belongings", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 16:34:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is it recommended to visit Uluwatu Temple early in the morning or late afternoon?", "output": "To avoid crowds and traffic, especially during peak hours between 9am and 4pm", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 16:34:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique experience to look out for at Uluwatu Temple?", "output": "The Kecak dance, which tells the story of Ramayana through music and movement", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 16:34:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a warning for tourists visiting Tanah Lot temple?", "output": "Be careful not to knock over selfie sticks or other objects, as they can fall off the cliff", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["ae52c715-0686-489d-9e64-ad2b85b1ad7a", "5b1ddcbe-f62c-4f95-bc2e-61bfcbae4186", "c4f40351-d14d-4d38-893f-09e49db0dd39", "ed907774-085f-40ee-b223-ec0f37b96bfd"], "generated_at": "2025-10-13 16:34:30", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some common complaints about Tanah Lot?", "output": "It's too commercial, crowded, and touristy.", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["e8b5b445-3b79-40a6-a4b7-cff6400e19bb", "6f50170f-fcc6-4255-a9e4-62c97ecd6065", "9e70365d-cf55-4a88-a56f-994108467bd3", "b6ac7014-a692-4e17-9c67-0bbd993664eb"], "generated_at": "2025-10-13 16:35:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some tips for visiting Tanah Lot?", "output": "Go early, avoid sunset hours, and consider visiting during the week.", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["e8b5b445-3b79-40a6-a4b7-cff6400e19bb", "6f50170f-fcc6-4255-a9e4-62c97ecd6065", "9e70365d-cf55-4a88-a56f-994108467bd3", "b6ac7014-a692-4e17-9c67-0bbd993664eb"], "citations": ["Sunset is beautiful, but you have to pay to go inside the temple surroundings..."], "generated_at": "2025-10-13 16:35:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some pros and cons of visiting Tanah Lot?", "output": "Pros: stunning views, great for photography; Cons: crowded, commercialized, and expensive.", "meta": {"source_path": "corpus/topic=6__part=018__n=60.txt", "chunk_ids": ["e8b5b445-3b79-40a6-a4b7-cff6400e19bb", "6f50170f-fcc6-4255-a9e4-62c97ecd6065", "9e70365d-cf55-4a88-a56f-994108467bd3", "b6ac7014-a692-4e17-9c67-0bbd993664eb"], "generated_at": "2025-10-13 16:35:39", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a must-do activity when visiting Tanah Lot Temple?", "output": "Touching the holy snakes while they read a prayer for good luck.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["beb3daff-8a33-4734-a01e-d73886bbb355", "06e79ed1-6845-49e7-af55-b5e36b7360de", "79b41768-7426-42eb-bd48-732616883ed6", "fc9ede4e-5198-4330-a87d-1ccb11e4bb30"], "generated_at": "2025-10-13 16:36:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can you access the lower part of the temple at Tanah Lot?", "output": "At low tide, when the water recedes.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["beb3daff-8a33-4734-a01e-d73886bbb355", "06e79ed1-6845-49e7-af55-b5e36b7360de", "79b41768-7426-42eb-bd48-732616883ed6", "fc9ede4e-5198-4330-a87d-1ccb11e4bb30"], "generated_at": "2025-10-13 16:36:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can you do if you visit Tanah Lot during high tide?", "output": "You can still enjoy the temple view from a distance, and explore the temple park and surrounding area.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["beb3daff-8a33-4734-a01e-d73886bbb355", "06e79ed1-6845-49e7-af55-b5e36b7360de", "79b41768-7426-42eb-bd48-732616883ed6", "fc9ede4e-5198-4330-a87d-1ccb11e4bb30"], "generated_at": "2025-10-13 16:36:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the entrance fee for Tanah Lot temple?", "output": "IDR30,000 for adults", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["(45)"], "generated_at": "2025-10-13 16:37:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Why is Tanah Lot temple a popular tourist spot?", "output": "The temple has an amazing view of the sea, and the setting against the backdrop of crashing waves is a crowd puller", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["(44)"], "generated_at": "2025-10-13 16:37:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it possible to take good photographs at Tanah Lot temple?", "output": "Yes, but be prepared for crowds and consider visiting during low tide", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["a5c8b737-d367-4b11-b783-4f6c0972871d", "3e673c01-ea3e-43e9-a30d-cbdf0b5d6cca", "76fbb8a7-49f2-48e4-9617-2f308889cfe9", "0b768f44-69bc-4135-a627-7aba03a7cc84"], "citations": ["(38)"], "generated_at": "2025-10-13 16:37:54", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple located on a rock in the Indian Ocean?", "output": "Tanah Lot", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "citations": ["It is a beautiful must see temple. I would definitely not miss it."], "generated_at": "2025-10-13 16:39:08", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What happens when you visit Tanah Lot during high tide?", "output": "Waves flood the causeways making it impossible to cross", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "citations": ["At high tide, waves flood the causeways making it impossible to cross."], "generated_at": "2025-10-13 16:39:08", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a unique experience you can have at Tanah Lot?", "output": "You can touch the guardian sea snakes for good luck", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["882855e7-fda6-4001-8c79-2f04c8dbeaaa", "79bd269d-0710-462b-a02a-ea8d5424b364", "2fd5dc8b-cb06-402a-ac52-1a2833cd4b84", "788312d6-3080-4237-9a9f-12bd9a46950c"], "citations": ["you are supposed to touch them for good luck - yours or theirs I'm not sure."], "generated_at": "2025-10-13 16:39:08", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name meaning of Tanah Lot Temple in Balinese language?", "output": "Land [in] the Sea", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 16:40:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any venomous sea snakes guarding the temple?", "output": "Yes, they are believed to guard the temple from evil spirits and intruders.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 16:40:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What can tourists do at Tanah Lot Temple during low tide?", "output": "They can walk to the temple, see around, get water blessing from the prayer, and go inside the cave.", "meta": {"source_path": "corpus/topic=2__part=056__n=60.txt", "chunk_ids": ["b1f9efb4-32f8-438f-9702-400a5b82eae4", "ed85d2bf-31ad-4353-ad3f-882430577d72", "54d9e192-996d-4146-b5f9-fbf21595d5d5", "3e665568-4d35-4115-adb0-8e232ffc9c9f"], "generated_at": "2025-10-13 16:40:12", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should I do about transportation to Uluwatu Temple?", "output": "Rent a car, motorcycle, or ask your taxi driver to wait for you.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["cfd8e4d6-86e5-4b99-8fa5-8f1ad222ced5", "6dbb3262-33aa-4e45-85a2-e9092ffd4f9c", "eb083131-d65d-4bf9-a15d-047345f571f8", "74383a54-4678-4848-86c2-b08ca851d2d5"], "generated_at": "2025-10-13 16:41:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the best time to visit Uluwatu Temple?", "output": "Early morning or evening to see sunset or sunrise.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["cfd8e4d6-86e5-4b99-8fa5-8f1ad222ced5", "6dbb3262-33aa-4e45-85a2-e9092ffd4f9c", "eb083131-d65d-4bf9-a15d-047345f571f8", "74383a54-4678-4848-86c2-b08ca851d2d5"], "generated_at": "2025-10-13 16:41:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can I protect my belongings from the monkeys at Uluwatu Temple?", "output": "Watch out for them, especially around sunglasses and cameras.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["cfd8e4d6-86e5-4b99-8fa5-8f1ad222ced5", "6dbb3262-33aa-4e45-85a2-e9092ffd4f9c", "eb083131-d65d-4bf9-a15d-047345f571f8", "74383a54-4678-4848-86c2-b08ca851d2d5"], "generated_at": "2025-10-13 16:41:19", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple mentioned in the text?", "output": "Tanah Lot", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["7f49308c-f8a8-45a6-9f3f-596174f2f12c", "18e7e5ab-8b7b-4e40-b01f-d0f6d33d7dae", "2f43d623-e382-4705-bf70-61f8051dfaca", "ab81cd92-d641-456e-b44a-5b5540e53e54"], "generated_at": "2025-10-13 16:42:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does the entrance fee for Tanah Lot cost, including a sarong?", "output": "30k", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["7f49308c-f8a8-45a6-9f3f-596174f2f12c", "18e7e5ab-8b7b-4e40-b01f-d0f6d33d7dae", "2f43d623-e382-4705-bf70-61f8051dfaca", "ab81cd92-d641-456e-b44a-5b5540e53e54"], "citations": ["(25) A must see for sunset. Great views of the sea as well. Stayed for kecek and fire dance which was very impressive and enjoyable to watch. 30k entrance fee including sarong."], "generated_at": "2025-10-13 16:42:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a notable feature of Tanah Lot's location?", "output": "Its location faces the South-West part of the island", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["7f49308c-f8a8-45a6-9f3f-596174f2f12c", "18e7e5ab-8b7b-4e40-b01f-d0f6d33d7dae", "2f43d623-e382-4705-bf70-61f8051dfaca", "ab81cd92-d641-456e-b44a-5b5540e53e54"], "citations": ["(8) A must visit if you love cultural experience and sightseeing. Had the chance to visit after 2 PM, the sun shines so bright, the weather were also friendly."], "generated_at": "2025-10-13 16:42:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What type of dance is performed at Tanah Lot every day?", "output": "Kechak dance", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["7f49308c-f8a8-45a6-9f3f-596174f2f12c", "18e7e5ab-8b7b-4e40-b01f-d0f6d33d7dae", "2f43d623-e382-4705-bf70-61f8051dfaca", "ab81cd92-d641-456e-b44a-5b5540e53e54"], "citations": ["(7) You have to fight with the crowds to have a good seat for picture snapping, especially during sunset hour. But everything is worth it."], "generated_at": "2025-10-13 16:42:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it recommended to visit Tanah Lot after 11 AM?", "output": "Yes", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["7f49308c-f8a8-45a6-9f3f-596174f2f12c", "18e7e5ab-8b7b-4e40-b01f-d0f6d33d7dae", "2f43d623-e382-4705-bf70-61f8051dfaca", "ab81cd92-d641-456e-b44a-5b5540e53e54"], "citations": ["(8) A must visit if you love cultural experience and sightseeing. Had the chance to visit after 2 PM, the sun shines so bright, the weather were also friendly."], "generated_at": "2025-10-13 16:42:52", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the name of the temple mentioned in text 1?", "output": "The Temple", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["665c6ede-3204-44fc-9a2e-7c583fcde1cb", "cbbd4b73-5416-482d-9724-31e27e372516", "8b51d5db-d6ad-4d75-b613-56b8d725e80a", "72343dc5-77e9-47f5-bb14-fe0ee600e3b9"], "generated_at": "2025-10-13 16:44:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to visit Uluwatu Temple?", "output": "IDR50k", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["665c6ede-3204-44fc-9a2e-7c583fcde1cb", "cbbd4b73-5416-482d-9724-31e27e372516", "8b51d5db-d6ad-4d75-b613-56b8d725e80a", "72343dc5-77e9-47f5-bb14-fe0ee600e3b9"], "citations": ["Temple entry was IDR50k"], "generated_at": "2025-10-13 16:44:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is unique about Uluwatu Temple's location?", "output": "It is built on a 70-meter-high cliff protruding above the Indonesian Ocean", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["665c6ede-3204-44fc-9a2e-7c583fcde1cb", "cbbd4b73-5416-482d-9724-31e27e372516", "8b51d5db-d6ad-4d75-b613-56b8d725e80a", "72343dc5-77e9-47f5-bb14-fe0ee600e3b9"], "generated_at": "2025-10-13 16:44:03", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What are some precautions to take when visiting a temple with mischievous monkeys?", "output": "Hide your belongings, especially food and shiny items, as they can be easily grabbed by the monkeys.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["2813378a-d412-4632-9fd2-41ff0a19db9e", "7be9d212-84ef-4c93-a8e8-5aff54c8743e", "069eeb7e-a46a-4d13-8e42-a6cf0abb3e15", "86ee4383-67cb-4dbf-93c9-cb26ba7b1524"], "generated_at": "2025-10-13 16:45:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Is it worth visiting Uluwatu Temple during sunset?", "output": "Yes, the sunset with the Kecak Dance as the intro is a main attraction and definitely worth seeing.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["2813378a-d412-4632-9fd2-41ff0a19db9e", "7be9d212-84ef-4c93-a8e8-5aff54c8743e", "069eeb7e-a46a-4d13-8e42-a6cf0abb3e15", "86ee4383-67cb-4dbf-93c9-cb26ba7b1524"], "citations": ["That song’s ring in my head when we were standing on the cliff side of Uluwatu Temple facing the big ocean."], "generated_at": "2025-10-13 16:45:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should you wear to protect your belongings from mischievous monkeys at Uluwatu Temple?", "output": "Wear shoes, hide your sunglasses and phone, and consider wearing contact lenses instead of glasses.", "meta": {"source_path": "corpus/topic=2__part=110__n=6.txt", "chunk_ids": ["2813378a-d412-4632-9fd2-41ff0a19db9e", "7be9d212-84ef-4c93-a8e8-5aff54c8743e", "069eeb7e-a46a-4d13-8e42-a6cf0abb3e15", "86ee4383-67cb-4dbf-93c9-cb26ba7b1524"], "generated_at": "2025-10-13 16:45:16", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors be aware of when visiting the temple?", "output": "The gates may be locked after a certain point, and locals might try to scam you into paying for climbing up.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["36545c60-d665-43d2-b457-4fe7684f0b05", "86fe1ec7-1157-4ef9-af02-44ecbbb737e0", "5e25ec9e-cefc-4a7d-bc4d-06f7976fe715", "2d5b6507-17ad-43cf-8f91-12d1c914acd7"], "citations": ["So avoid falling in trap of local priests to pay for climbing up."], "generated_at": "2025-10-13 16:46:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the main issue with visiting this temple?", "output": "The spirituality has been lost, and visitors feel like they're being scammed out of their money.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["36545c60-d665-43d2-b457-4fe7684f0b05", "86fe1ec7-1157-4ef9-af02-44ecbbb737e0", "5e25ec9e-cefc-4a7d-bc4d-06f7976fe715", "2d5b6507-17ad-43cf-8f91-12d1c914acd7"], "citations": ["The spirituality is gone from the place.\nThe monks\" there only want your money and you feel like a human atm."], "generated_at": "2025-10-13 16:46:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can visitors respect the culture at this temple?", "output": "They should respect the rules inside the temple, not lean or sit on the stairs, and be mindful of their behavior.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["36545c60-d665-43d2-b457-4fe7684f0b05", "86fe1ec7-1157-4ef9-af02-44ecbbb737e0", "5e25ec9e-cefc-4a7d-bc4d-06f7976fe715", "2d5b6507-17ad-43cf-8f91-12d1c914acd7"], "citations": ["Please respect the culture in here and beware of your behaviour."], "generated_at": "2025-10-13 16:46:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should visitors expect to see at this temple?", "output": "The view is amazing, but it depends on the weather. If you get clear skies, you will get the view of Mt. Agung.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["36545c60-d665-43d2-b457-4fe7684f0b05", "86fe1ec7-1157-4ef9-af02-44ecbbb737e0", "5e25ec9e-cefc-4a7d-bc4d-06f7976fe715", "2d5b6507-17ad-43cf-8f91-12d1c914acd7"], "citations": ["p.s. The view depended on the weather."], "generated_at": "2025-10-13 16:46:49", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists wear to enter this temple?", "output": "Ladies may need to wear a sarung (cloth, scarf) and guys may need to tie a yellow scarf around their waist for respect.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["b5ab2752-fd60-406c-9b14-eb92496a7518", "2f165695-793c-42c0-9114-e5d5ca9cf4cf", "3dcd1689-7a43-4cd7-a4c2-058b5ecebd7a", "56de9907-42a5-4fcb-9006-843f212d627f"], "generated_at": "2025-10-13 16:48:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How much does it cost to watch the Kechak dance?", "output": "100,000 Indonesian Rupiah per person", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["b5ab2752-fd60-406c-9b14-eb92496a7518", "2f165695-793c-42c0-9114-e5d5ca9cf4cf", "3dcd1689-7a43-4cd7-a4c2-058b5ecebd7a", "56de9907-42a5-4fcb-9006-843f212d627f"], "generated_at": "2025-10-13 16:48:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What should tourists be aware of while visiting this temple?", "output": "The monkeys will steal your things, especially phones and sunglasses. Keep personal items secure.", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["b5ab2752-fd60-406c-9b14-eb92496a7518", "2f165695-793c-42c0-9114-e5d5ca9cf4cf", "3dcd1689-7a43-4cd7-a4c2-058b5ecebd7a", "56de9907-42a5-4fcb-9006-843f212d627f"], "citations": ["They are not dangerous at all - but you need to keep alert."], "generated_at": "2025-10-13 16:48:01", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a common problem at this temple?", "output": "Aggressive monkeys", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["906453a4-9ab4-4021-841f-348c0f17fd1d", "c19e8cdc-89b3-4561-b0ac-19afbecd055b", "e1bed365-0678-43b2-9ac3-a2fc4c66de3a", "1806703b-4318-4fe7-8bf1-9448e3cf4049"], "generated_at": "2025-10-13 16:49:05", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How can visitors protect themselves from the aggressive monkeys?", "output": "Keep a safe distance, do not approach them, and keep personal belongings secure", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["906453a4-9ab4-4021-841f-348c0f17fd1d", "c19e8cdc-89b3-4561-b0ac-19afbecd055b", "e1bed365-0678-43b2-9ac3-a2fc4c66de3a", "1806703b-4318-4fe7-8bf1-9448e3cf4049"], "generated_at": "2025-10-13 16:49:05", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Are there any alternative paths for visitors to take?", "output": "No, the only path is shared with motorbikes and is considered dangerous", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["906453a4-9ab4-4021-841f-348c0f17fd1d", "c19e8cdc-89b3-4561-b0ac-19afbecd055b", "e1bed365-0678-43b2-9ac3-a2fc4c66de3a", "1806703b-4318-4fe7-8bf1-9448e3cf4049"], "generated_at": "2025-10-13 16:49:05", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is the recommended time to visit the temples?", "output": "Around 4 hours", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["810354fb-457b-4ec3-9733-a3566335ea1b", "d6eee0f2-cda3-41e4-8b3a-2dd42df185b2", "87acaf9a-42d5-4cd9-97ad-b2132fb83ec0", "29a1b3a9-4702-4959-b694-97709f7c1db9"], "generated_at": "2025-10-13 16:50:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do I protect myself from aggressive monkeys at the top temples?", "output": "Get a guide or bring some sticks, and avoid direct eye contact", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["810354fb-457b-4ec3-9733-a3566335ea1b", "d6eee0f2-cda3-41e4-8b3a-2dd42df185b2", "87acaf9a-42d5-4cd9-97ad-b2132fb83ec0", "29a1b3a9-4702-4959-b694-97709f7c1db9"], "citations": ["We were forewarned to not watch them in the eyes. We did not, but felt very threatened..."], "generated_at": "2025-10-13 16:50:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "What is a good spot for a beautiful view?", "output": "The 4th temple", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["810354fb-457b-4ec3-9733-a3566335ea1b", "d6eee0f2-cda3-41e4-8b3a-2dd42df185b2", "87acaf9a-42d5-4cd9-97ad-b2132fb83ec0", "29a1b3a9-4702-4959-b694-97709f7c1db9"], "citations": ["The best view was from Temple 6."], "generated_at": "2025-10-13 16:50:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "Can I visit the temples with a group of people?", "output": "Yes, it's recommended to go in groups for safety and support", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["810354fb-457b-4ec3-9733-a3566335ea1b", "d6eee0f2-cda3-41e4-8b3a-2dd42df185b2", "87acaf9a-42d5-4cd9-97ad-b2132fb83ec0", "29a1b3a9-4702-4959-b694-97709f7c1db9"], "generated_at": "2025-10-13 16:50:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
{"input": "How do I get to temple 2?", "output": "You can pay a motorbike driver to take you (10,000 rupiah)", "meta": {"source_path": "corpus/topic=4__part=001__n=60.txt", "chunk_ids": ["810354fb-457b-4ec3-9733-a3566335ea1b", "d6eee0f2-cda3-41e4-8b3a-2dd42df185b2", "87acaf9a-42d5-4cd9-97ad-b2132fb83ec0", "29a1b3a9-4702-4959-b694-97709f7c1db9"], "generated_at": "2025-10-13 16:50:31", "model": "llama3.1:8b", "embed_model": "nomic-embed-text"}}
|
||||
351
raft/paul_graham_essay.txt
Normal file
351
raft/paul_graham_essay.txt
Normal file
@@ -0,0 +1,351 @@
|
||||
What I Worked On
|
||||
|
||||
February 2021
|
||||
|
||||
Before college the two main things I worked on, outside of school, were writing and programming. I didn't write essays. I wrote what beginning writers were supposed to write then, and probably still are: short stories. My stories were awful. They had hardly any plot, just characters with strong feelings, which I imagined made them deep.
|
||||
|
||||
The first programs I tried writing were on the IBM 1401 that our school district used for what was then called "data processing." This was in 9th grade, so I was 13 or 14. The school district's 1401 happened to be in the basement of our junior high school, and my friend Rich Draves and I got permission to use it. It was like a mini Bond villain's lair down there, with all these alien-looking machines — CPU, disk drives, printer, card reader — sitting up on a raised floor under bright fluorescent lights.
|
||||
|
||||
The language we used was an early version of Fortran. You had to type programs on punch cards, then stack them in the card reader and press a button to load the program into memory and run it. The result would ordinarily be to print something on the spectacularly loud printer.
|
||||
|
||||
I was puzzled by the 1401. I couldn't figure out what to do with it. And in retrospect there's not much I could have done with it. The only form of input to programs was data stored on punched cards, and I didn't have any data stored on punched cards. The only other option was to do things that didn't rely on any input, like calculate approximations of pi, but I didn't know enough math to do anything interesting of that type. So I'm not surprised I can't remember any programs I wrote, because they can't have done much. My clearest memory is of the moment I learned it was possible for programs not to terminate, when one of mine didn't. On a machine without time-sharing, this was a social as well as a technical error, as the data center manager's expression made clear.
|
||||
|
||||
With microcomputers, everything changed. Now you could have a computer sitting right in front of you, on a desk, that could respond to your keystrokes as it was running instead of just churning through a stack of punch cards and then stopping. [1]
|
||||
|
||||
The first of my friends to get a microcomputer built it himself. It was sold as a kit by Heathkit. I remember vividly how impressed and envious I felt watching him sitting in front of it, typing programs right into the computer.
|
||||
|
||||
Computers were expensive in those days and it took me years of nagging before I convinced my father to buy one, a TRS-80, in about 1980. The gold standard then was the Apple II, but a TRS-80 was good enough. This was when I really started programming. I wrote simple games, a program to predict how high my model rockets would fly, and a word processor that my father used to write at least one book. There was only room in memory for about 2 pages of text, so he'd write 2 pages at a time and then print them out, but it was a lot better than a typewriter.
|
||||
|
||||
Though I liked programming, I didn't plan to study it in college. In college I was going to study philosophy, which sounded much more powerful. It seemed, to my naive high school self, to be the study of the ultimate truths, compared to which the things studied in other fields would be mere domain knowledge. What I discovered when I got to college was that the other fields took up so much of the space of ideas that there wasn't much left for these supposed ultimate truths. All that seemed left for philosophy were edge cases that people in other fields felt could safely be ignored.
|
||||
|
||||
I couldn't have put this into words when I was 18. All I knew at the time was that I kept taking philosophy courses and they kept being boring. So I decided to switch to AI.
|
||||
|
||||
AI was in the air in the mid 1980s, but there were two things especially that made me want to work on it: a novel by Heinlein called The Moon is a Harsh Mistress, which featured an intelligent computer called Mike, and a PBS documentary that showed Terry Winograd using SHRDLU. I haven't tried rereading The Moon is a Harsh Mistress, so I don't know how well it has aged, but when I read it I was drawn entirely into its world. It seemed only a matter of time before we'd have Mike, and when I saw Winograd using SHRDLU, it seemed like that time would be a few years at most. All you had to do was teach SHRDLU more words.
|
||||
|
||||
There weren't any classes in AI at Cornell then, not even graduate classes, so I started trying to teach myself. Which meant learning Lisp, since in those days Lisp was regarded as the language of AI. The commonly used programming languages then were pretty primitive, and programmers' ideas correspondingly so. The default language at Cornell was a Pascal-like language called PL/I, and the situation was similar elsewhere. Learning Lisp expanded my concept of a program so fast that it was years before I started to have a sense of where the new limits were. This was more like it; this was what I had expected college to do. It wasn't happening in a class, like it was supposed to, but that was ok. For the next couple years I was on a roll. I knew what I was going to do.
|
||||
|
||||
For my undergraduate thesis, I reverse-engineered SHRDLU. My God did I love working on that program. It was a pleasing bit of code, but what made it even more exciting was my belief — hard to imagine now, but not unique in 1985 — that it was already climbing the lower slopes of intelligence.
|
||||
|
||||
I had gotten into a program at Cornell that didn't make you choose a major. You could take whatever classes you liked, and choose whatever you liked to put on your degree. I of course chose "Artificial Intelligence." When I got the actual physical diploma, I was dismayed to find that the quotes had been included, which made them read as scare-quotes. At the time this bothered me, but now it seems amusingly accurate, for reasons I was about to discover.
|
||||
|
||||
I applied to 3 grad schools: MIT and Yale, which were renowned for AI at the time, and Harvard, which I'd visited because Rich Draves went there, and was also home to Bill Woods, who'd invented the type of parser I used in my SHRDLU clone. Only Harvard accepted me, so that was where I went.
|
||||
|
||||
I don't remember the moment it happened, or if there even was a specific moment, but during the first year of grad school I realized that AI, as practiced at the time, was a hoax. By which I mean the sort of AI in which a program that's told "the dog is sitting on the chair" translates this into some formal representation and adds it to the list of things it knows.
|
||||
|
||||
What these programs really showed was that there's a subset of natural language that's a formal language. But a very proper subset. It was clear that there was an unbridgeable gap between what they could do and actually understanding natural language. It was not, in fact, simply a matter of teaching SHRDLU more words. That whole way of doing AI, with explicit data structures representing concepts, was not going to work. Its brokenness did, as so often happens, generate a lot of opportunities to write papers about various band-aids that could be applied to it, but it was never going to get us Mike.
|
||||
|
||||
So I looked around to see what I could salvage from the wreckage of my plans, and there was Lisp. I knew from experience that Lisp was interesting for its own sake and not just for its association with AI, even though that was the main reason people cared about it at the time. So I decided to focus on Lisp. In fact, I decided to write a book about Lisp hacking. It's scary to think how little I knew about Lisp hacking when I started writing that book. But there's nothing like writing a book about something to help you learn it. The book, On Lisp, wasn't published till 1993, but I wrote much of it in grad school.
|
||||
|
||||
Computer Science is an uneasy alliance between two halves, theory and systems. The theory people prove things, and the systems people build things. I wanted to build things. I had plenty of respect for theory — indeed, a sneaking suspicion that it was the more admirable of the two halves — but building things seemed so much more exciting.
|
||||
|
||||
The problem with systems work, though, was that it didn't last. Any program you wrote today, no matter how good, would be obsolete in a couple decades at best. People might mention your software in footnotes, but no one would actually use it. And indeed, it would seem very feeble work. Only people with a sense of the history of the field would even realize that, in its time, it had been good.
|
||||
|
||||
There were some surplus Xerox Dandelions floating around the computer lab at one point. Anyone who wanted one to play around with could have one. I was briefly tempted, but they were so slow by present standards; what was the point? No one else wanted one either, so off they went. That was what happened to systems work.
|
||||
|
||||
I wanted not just to build things, but to build things that would last.
|
||||
|
||||
In this dissatisfied state I went in 1988 to visit Rich Draves at CMU, where he was in grad school. One day I went to visit the Carnegie Institute, where I'd spent a lot of time as a kid. While looking at a painting there I realized something that might seem obvious, but was a big surprise to me. There, right on the wall, was something you could make that would last. Paintings didn't become obsolete. Some of the best ones were hundreds of years old.
|
||||
|
||||
And moreover this was something you could make a living doing. Not as easily as you could by writing software, of course, but I thought if you were really industrious and lived really cheaply, it had to be possible to make enough to survive. And as an artist you could be truly independent. You wouldn't have a boss, or even need to get research funding.
|
||||
|
||||
I had always liked looking at paintings. Could I make them? I had no idea. I'd never imagined it was even possible. I knew intellectually that people made art — that it didn't just appear spontaneously — but it was as if the people who made it were a different species. They either lived long ago or were mysterious geniuses doing strange things in profiles in Life magazine. The idea of actually being able to make art, to put that verb before that noun, seemed almost miraculous.
|
||||
|
||||
That fall I started taking art classes at Harvard. Grad students could take classes in any department, and my advisor, Tom Cheatham, was very easy going. If he even knew about the strange classes I was taking, he never said anything.
|
||||
|
||||
So now I was in a PhD program in computer science, yet planning to be an artist, yet also genuinely in love with Lisp hacking and working away at On Lisp. In other words, like many a grad student, I was working energetically on multiple projects that were not my thesis.
|
||||
|
||||
I didn't see a way out of this situation. I didn't want to drop out of grad school, but how else was I going to get out? I remember when my friend Robert Morris got kicked out of Cornell for writing the internet worm of 1988, I was envious that he'd found such a spectacular way to get out of grad school.
|
||||
|
||||
Then one day in April 1990 a crack appeared in the wall. I ran into professor Cheatham and he asked if I was far enough along to graduate that June. I didn't have a word of my dissertation written, but in what must have been the quickest bit of thinking in my life, I decided to take a shot at writing one in the 5 weeks or so that remained before the deadline, reusing parts of On Lisp where I could, and I was able to respond, with no perceptible delay "Yes, I think so. I'll give you something to read in a few days."
|
||||
|
||||
I picked applications of continuations as the topic. In retrospect I should have written about macros and embedded languages. There's a whole world there that's barely been explored. But all I wanted was to get out of grad school, and my rapidly written dissertation sufficed, just barely.
|
||||
|
||||
Meanwhile I was applying to art schools. I applied to two: RISD in the US, and the Accademia di Belli Arti in Florence, which, because it was the oldest art school, I imagined would be good. RISD accepted me, and I never heard back from the Accademia, so off to Providence I went.
|
||||
|
||||
I'd applied for the BFA program at RISD, which meant in effect that I had to go to college again. This was not as strange as it sounds, because I was only 25, and art schools are full of people of different ages. RISD counted me as a transfer sophomore and said I had to do the foundation that summer. The foundation means the classes that everyone has to take in fundamental subjects like drawing, color, and design.
|
||||
|
||||
Toward the end of the summer I got a big surprise: a letter from the Accademia, which had been delayed because they'd sent it to Cambridge England instead of Cambridge Massachusetts, inviting me to take the entrance exam in Florence that fall. This was now only weeks away. My nice landlady let me leave my stuff in her attic. I had some money saved from consulting work I'd done in grad school; there was probably enough to last a year if I lived cheaply. Now all I had to do was learn Italian.
|
||||
|
||||
Only stranieri (foreigners) had to take this entrance exam. In retrospect it may well have been a way of excluding them, because there were so many stranieri attracted by the idea of studying art in Florence that the Italian students would otherwise have been outnumbered. I was in decent shape at painting and drawing from the RISD foundation that summer, but I still don't know how I managed to pass the written exam. I remember that I answered the essay question by writing about Cezanne, and that I cranked up the intellectual level as high as I could to make the most of my limited vocabulary. [2]
|
||||
|
||||
I'm only up to age 25 and already there are such conspicuous patterns. Here I was, yet again about to attend some august institution in the hopes of learning about some prestigious subject, and yet again about to be disappointed. The students and faculty in the painting department at the Accademia were the nicest people you could imagine, but they had long since arrived at an arrangement whereby the students wouldn't require the faculty to teach anything, and in return the faculty wouldn't require the students to learn anything. And at the same time all involved would adhere outwardly to the conventions of a 19th century atelier. We actually had one of those little stoves, fed with kindling, that you see in 19th century studio paintings, and a nude model sitting as close to it as possible without getting burned. Except hardly anyone else painted her besides me. The rest of the students spent their time chatting or occasionally trying to imitate things they'd seen in American art magazines.
|
||||
|
||||
Our model turned out to live just down the street from me. She made a living from a combination of modelling and making fakes for a local antique dealer. She'd copy an obscure old painting out of a book, and then he'd take the copy and maltreat it to make it look old. [3]
|
||||
|
||||
While I was a student at the Accademia I started painting still lives in my bedroom at night. These paintings were tiny, because the room was, and because I painted them on leftover scraps of canvas, which was all I could afford at the time. Painting still lives is different from painting people, because the subject, as its name suggests, can't move. People can't sit for more than about 15 minutes at a time, and when they do they don't sit very still. So the traditional m.o. for painting people is to know how to paint a generic person, which you then modify to match the specific person you're painting. Whereas a still life you can, if you want, copy pixel by pixel from what you're seeing. You don't want to stop there, of course, or you get merely photographic accuracy, and what makes a still life interesting is that it's been through a head. You want to emphasize the visual cues that tell you, for example, that the reason the color changes suddenly at a certain point is that it's the edge of an object. By subtly emphasizing such things you can make paintings that are more realistic than photographs not just in some metaphorical sense, but in the strict information-theoretic sense. [4]
|
||||
|
||||
I liked painting still lives because I was curious about what I was seeing. In everyday life, we aren't consciously aware of much we're seeing. Most visual perception is handled by low-level processes that merely tell your brain "that's a water droplet" without telling you details like where the lightest and darkest points are, or "that's a bush" without telling you the shape and position of every leaf. This is a feature of brains, not a bug. In everyday life it would be distracting to notice every leaf on every bush. But when you have to paint something, you have to look more closely, and when you do there's a lot to see. You can still be noticing new things after days of trying to paint something people usually take for granted, just as you can after days of trying to write an essay about something people usually take for granted.
|
||||
|
||||
This is not the only way to paint. I'm not 100% sure it's even a good way to paint. But it seemed a good enough bet to be worth trying.
|
||||
|
||||
Our teacher, professor Ulivi, was a nice guy. He could see I worked hard, and gave me a good grade, which he wrote down in a sort of passport each student had. But the Accademia wasn't teaching me anything except Italian, and my money was running out, so at the end of the first year I went back to the US.
|
||||
|
||||
I wanted to go back to RISD, but I was now broke and RISD was very expensive, so I decided to get a job for a year and then return to RISD the next fall. I got one at a company called Interleaf, which made software for creating documents. You mean like Microsoft Word? Exactly. That was how I learned that low end software tends to eat high end software. But Interleaf still had a few years to live yet. [5]
|
||||
|
||||
Interleaf had done something pretty bold. Inspired by Emacs, they'd added a scripting language, and even made the scripting language a dialect of Lisp. Now they wanted a Lisp hacker to write things in it. This was the closest thing I've had to a normal job, and I hereby apologize to my boss and coworkers, because I was a bad employee. Their Lisp was the thinnest icing on a giant C cake, and since I didn't know C and didn't want to learn it, I never understood most of the software. Plus I was terribly irresponsible. This was back when a programming job meant showing up every day during certain working hours. That seemed unnatural to me, and on this point the rest of the world is coming around to my way of thinking, but at the time it caused a lot of friction. Toward the end of the year I spent much of my time surreptitiously working on On Lisp, which I had by this time gotten a contract to publish.
|
||||
|
||||
The good part was that I got paid huge amounts of money, especially by art student standards. In Florence, after paying my part of the rent, my budget for everything else had been $7 a day. Now I was getting paid more than 4 times that every hour, even when I was just sitting in a meeting. By living cheaply I not only managed to save enough to go back to RISD, but also paid off my college loans.
|
||||
|
||||
I learned some useful things at Interleaf, though they were mostly about what not to do. I learned that it's better for technology companies to be run by product people than sales people (though sales is a real skill and people who are good at it are really good at it), that it leads to bugs when code is edited by too many people, that cheap office space is no bargain if it's depressing, that planned meetings are inferior to corridor conversations, that big, bureaucratic customers are a dangerous source of money, and that there's not much overlap between conventional office hours and the optimal time for hacking, or conventional offices and the optimal place for it.
|
||||
|
||||
But the most important thing I learned, and which I used in both Viaweb and Y Combinator, is that the low end eats the high end: that it's good to be the "entry level" option, even though that will be less prestigious, because if you're not, someone else will be, and will squash you against the ceiling. Which in turn means that prestige is a danger sign.
|
||||
|
||||
When I left to go back to RISD the next fall, I arranged to do freelance work for the group that did projects for customers, and this was how I survived for the next several years. When I came back to visit for a project later on, someone told me about a new thing called HTML, which was, as he described it, a derivative of SGML. Markup language enthusiasts were an occupational hazard at Interleaf and I ignored him, but this HTML thing later became a big part of my life.
|
||||
|
||||
In the fall of 1992 I moved back to Providence to continue at RISD. The foundation had merely been intro stuff, and the Accademia had been a (very civilized) joke. Now I was going to see what real art school was like. But alas it was more like the Accademia than not. Better organized, certainly, and a lot more expensive, but it was now becoming clear that art school did not bear the same relationship to art that medical school bore to medicine. At least not the painting department. The textile department, which my next door neighbor belonged to, seemed to be pretty rigorous. No doubt illustration and architecture were too. But painting was post-rigorous. Painting students were supposed to express themselves, which to the more worldly ones meant to try to cook up some sort of distinctive signature style.
|
||||
|
||||
A signature style is the visual equivalent of what in show business is known as a "schtick": something that immediately identifies the work as yours and no one else's. For example, when you see a painting that looks like a certain kind of cartoon, you know it's by Roy Lichtenstein. So if you see a big painting of this type hanging in the apartment of a hedge fund manager, you know he paid millions of dollars for it. That's not always why artists have a signature style, but it's usually why buyers pay a lot for such work. [6]
|
||||
|
||||
There were plenty of earnest students too: kids who "could draw" in high school, and now had come to what was supposed to be the best art school in the country, to learn to draw even better. They tended to be confused and demoralized by what they found at RISD, but they kept going, because painting was what they did. I was not one of the kids who could draw in high school, but at RISD I was definitely closer to their tribe than the tribe of signature style seekers.
|
||||
|
||||
I learned a lot in the color class I took at RISD, but otherwise I was basically teaching myself to paint, and I could do that for free. So in 1993 I dropped out. I hung around Providence for a bit, and then my college friend Nancy Parmet did me a big favor. A rent-controlled apartment in a building her mother owned in New York was becoming vacant. Did I want it? It wasn't much more than my current place, and New York was supposed to be where the artists were. So yes, I wanted it! [7]
|
||||
|
||||
Asterix comics begin by zooming in on a tiny corner of Roman Gaul that turns out not to be controlled by the Romans. You can do something similar on a map of New York City: if you zoom in on the Upper East Side, there's a tiny corner that's not rich, or at least wasn't in 1993. It's called Yorkville, and that was my new home. Now I was a New York artist — in the strictly technical sense of making paintings and living in New York.
|
||||
|
||||
I was nervous about money, because I could sense that Interleaf was on the way down. Freelance Lisp hacking work was very rare, and I didn't want to have to program in another language, which in those days would have meant C++ if I was lucky. So with my unerring nose for financial opportunity, I decided to write another book on Lisp. This would be a popular book, the sort of book that could be used as a textbook. I imagined myself living frugally off the royalties and spending all my time painting. (The painting on the cover of this book, ANSI Common Lisp, is one that I painted around this time.)
|
||||
|
||||
The best thing about New York for me was the presence of Idelle and Julian Weber. Idelle Weber was a painter, one of the early photorealists, and I'd taken her painting class at Harvard. I've never known a teacher more beloved by her students. Large numbers of former students kept in touch with her, including me. After I moved to New York I became her de facto studio assistant.
|
||||
|
||||
She liked to paint on big, square canvases, 4 to 5 feet on a side. One day in late 1994 as I was stretching one of these monsters there was something on the radio about a famous fund manager. He wasn't that much older than me, and was super rich. The thought suddenly occurred to me: why don't I become rich? Then I'll be able to work on whatever I want.
|
||||
|
||||
Meanwhile I'd been hearing more and more about this new thing called the World Wide Web. Robert Morris showed it to me when I visited him in Cambridge, where he was now in grad school at Harvard. It seemed to me that the web would be a big deal. I'd seen what graphical user interfaces had done for the popularity of microcomputers. It seemed like the web would do the same for the internet.
|
||||
|
||||
If I wanted to get rich, here was the next train leaving the station. I was right about that part. What I got wrong was the idea. I decided we should start a company to put art galleries online. I can't honestly say, after reading so many Y Combinator applications, that this was the worst startup idea ever, but it was up there. Art galleries didn't want to be online, and still don't, not the fancy ones. That's not how they sell. I wrote some software to generate web sites for galleries, and Robert wrote some to resize images and set up an http server to serve the pages. Then we tried to sign up galleries. To call this a difficult sale would be an understatement. It was difficult to give away. A few galleries let us make sites for them for free, but none paid us.
|
||||
|
||||
Then some online stores started to appear, and I realized that except for the order buttons they were identical to the sites we'd been generating for galleries. This impressive-sounding thing called an "internet storefront" was something we already knew how to build.
|
||||
|
||||
So in the summer of 1995, after I submitted the camera-ready copy of ANSI Common Lisp to the publishers, we started trying to write software to build online stores. At first this was going to be normal desktop software, which in those days meant Windows software. That was an alarming prospect, because neither of us knew how to write Windows software or wanted to learn. We lived in the Unix world. But we decided we'd at least try writing a prototype store builder on Unix. Robert wrote a shopping cart, and I wrote a new site generator for stores — in Lisp, of course.
|
||||
|
||||
We were working out of Robert's apartment in Cambridge. His roommate was away for big chunks of time, during which I got to sleep in his room. For some reason there was no bed frame or sheets, just a mattress on the floor. One morning as I was lying on this mattress I had an idea that made me sit up like a capital L. What if we ran the software on the server, and let users control it by clicking on links? Then we'd never have to write anything to run on users' computers. We could generate the sites on the same server we'd serve them from. Users wouldn't need anything more than a browser.
|
||||
|
||||
This kind of software, known as a web app, is common now, but at the time it wasn't clear that it was even possible. To find out, we decided to try making a version of our store builder that you could control through the browser. A couple days later, on August 12, we had one that worked. The UI was horrible, but it proved you could build a whole store through the browser, without any client software or typing anything into the command line on the server.
|
||||
|
||||
Now we felt like we were really onto something. I had visions of a whole new generation of software working this way. You wouldn't need versions, or ports, or any of that crap. At Interleaf there had been a whole group called Release Engineering that seemed to be at least as big as the group that actually wrote the software. Now you could just update the software right on the server.
|
||||
|
||||
We started a new company we called Viaweb, after the fact that our software worked via the web, and we got $10,000 in seed funding from Idelle's husband Julian. In return for that and doing the initial legal work and giving us business advice, we gave him 10% of the company. Ten years later this deal became the model for Y Combinator's. We knew founders needed something like this, because we'd needed it ourselves.
|
||||
|
||||
At this stage I had a negative net worth, because the thousand dollars or so I had in the bank was more than counterbalanced by what I owed the government in taxes. (Had I diligently set aside the proper proportion of the money I'd made consulting for Interleaf? No, I had not.) So although Robert had his graduate student stipend, I needed that seed funding to live on.
|
||||
|
||||
We originally hoped to launch in September, but we got more ambitious about the software as we worked on it. Eventually we managed to build a WYSIWYG site builder, in the sense that as you were creating pages, they looked exactly like the static ones that would be generated later, except that instead of leading to static pages, the links all referred to closures stored in a hash table on the server.
|
||||
|
||||
It helped to have studied art, because the main goal of an online store builder is to make users look legit, and the key to looking legit is high production values. If you get page layouts and fonts and colors right, you can make a guy running a store out of his bedroom look more legit than a big company.
|
||||
|
||||
(If you're curious why my site looks so old-fashioned, it's because it's still made with this software. It may look clunky today, but in 1996 it was the last word in slick.)
|
||||
|
||||
In September, Robert rebelled. "We've been working on this for a month," he said, "and it's still not done." This is funny in retrospect, because he would still be working on it almost 3 years later. But I decided it might be prudent to recruit more programmers, and I asked Robert who else in grad school with him was really good. He recommended Trevor Blackwell, which surprised me at first, because at that point I knew Trevor mainly for his plan to reduce everything in his life to a stack of notecards, which he carried around with him. But Rtm was right, as usual. Trevor turned out to be a frighteningly effective hacker.
|
||||
|
||||
It was a lot of fun working with Robert and Trevor. They're the two most independent-minded people I know, and in completely different ways. If you could see inside Rtm's brain it would look like a colonial New England church, and if you could see inside Trevor's it would look like the worst excesses of Austrian Rococo.
|
||||
|
||||
We opened for business, with 6 stores, in January 1996. It was just as well we waited a few months, because although we worried we were late, we were actually almost fatally early. There was a lot of talk in the press then about ecommerce, but not many people actually wanted online stores. [8]
|
||||
|
||||
There were three main parts to the software: the editor, which people used to build sites and which I wrote, the shopping cart, which Robert wrote, and the manager, which kept track of orders and statistics, and which Trevor wrote. In its time, the editor was one of the best general-purpose site builders. I kept the code tight and didn't have to integrate with any other software except Robert's and Trevor's, so it was quite fun to work on. If all I'd had to do was work on this software, the next 3 years would have been the easiest of my life. Unfortunately I had to do a lot more, all of it stuff I was worse at than programming, and the next 3 years were instead the most stressful.
|
||||
|
||||
There were a lot of startups making ecommerce software in the second half of the 90s. We were determined to be the Microsoft Word, not the Interleaf. Which meant being easy to use and inexpensive. It was lucky for us that we were poor, because that caused us to make Viaweb even more inexpensive than we realized. We charged $100 a month for a small store and $300 a month for a big one. This low price was a big attraction, and a constant thorn in the sides of competitors, but it wasn't because of some clever insight that we set the price low. We had no idea what businesses paid for things. $300 a month seemed like a lot of money to us.
|
||||
|
||||
We did a lot of things right by accident like that. For example, we did what's now called "doing things that don't scale," although at the time we would have described it as "being so lame that we're driven to the most desperate measures to get users." The most common of which was building stores for them. This seemed particularly humiliating, since the whole raison d'etre of our software was that people could use it to make their own stores. But anything to get users.
|
||||
|
||||
We learned a lot more about retail than we wanted to know. For example, that if you could only have a small image of a man's shirt (and all images were small then by present standards), it was better to have a closeup of the collar than a picture of the whole shirt. The reason I remember learning this was that it meant I had to rescan about 30 images of men's shirts. My first set of scans were so beautiful too.
|
||||
|
||||
Though this felt wrong, it was exactly the right thing to be doing. Building stores for users taught us about retail, and about how it felt to use our software. I was initially both mystified and repelled by "business" and thought we needed a "business person" to be in charge of it, but once we started to get users, I was converted, in much the same way I was converted to fatherhood once I had kids. Whatever users wanted, I was all theirs. Maybe one day we'd have so many users that I couldn't scan their images for them, but in the meantime there was nothing more important to do.
|
||||
|
||||
Another thing I didn't get at the time is that growth rate is the ultimate test of a startup. Our growth rate was fine. We had about 70 stores at the end of 1996 and about 500 at the end of 1997. I mistakenly thought the thing that mattered was the absolute number of users. And that is the thing that matters in the sense that that's how much money you're making, and if you're not making enough, you might go out of business. But in the long term the growth rate takes care of the absolute number. If we'd been a startup I was advising at Y Combinator, I would have said: Stop being so stressed out, because you're doing fine. You're growing 7x a year. Just don't hire too many more people and you'll soon be profitable, and then you'll control your own destiny.
|
||||
|
||||
Alas I hired lots more people, partly because our investors wanted me to, and partly because that's what startups did during the Internet Bubble. A company with just a handful of employees would have seemed amateurish. So we didn't reach breakeven until about when Yahoo bought us in the summer of 1998. Which in turn meant we were at the mercy of investors for the entire life of the company. And since both we and our investors were noobs at startups, the result was a mess even by startup standards.
|
||||
|
||||
It was a huge relief when Yahoo bought us. In principle our Viaweb stock was valuable. It was a share in a business that was profitable and growing rapidly. But it didn't feel very valuable to me; I had no idea how to value a business, but I was all too keenly aware of the near-death experiences we seemed to have every few months. Nor had I changed my grad student lifestyle significantly since we started. So when Yahoo bought us it felt like going from rags to riches. Since we were going to California, I bought a car, a yellow 1998 VW GTI. I remember thinking that its leather seats alone were by far the most luxurious thing I owned.
|
||||
|
||||
The next year, from the summer of 1998 to the summer of 1999, must have been the least productive of my life. I didn't realize it at the time, but I was worn out from the effort and stress of running Viaweb. For a while after I got to California I tried to continue my usual m.o. of programming till 3 in the morning, but fatigue combined with Yahoo's prematurely aged culture and grim cube farm in Santa Clara gradually dragged me down. After a few months it felt disconcertingly like working at Interleaf.
|
||||
|
||||
Yahoo had given us a lot of options when they bought us. At the time I thought Yahoo was so overvalued that they'd never be worth anything, but to my astonishment the stock went up 5x in the next year. I hung on till the first chunk of options vested, then in the summer of 1999 I left. It had been so long since I'd painted anything that I'd half forgotten why I was doing this. My brain had been entirely full of software and men's shirts for 4 years. But I had done this to get rich so I could paint, I reminded myself, and now I was rich, so I should go paint.
|
||||
|
||||
When I said I was leaving, my boss at Yahoo had a long conversation with me about my plans. I told him all about the kinds of pictures I wanted to paint. At the time I was touched that he took such an interest in me. Now I realize it was because he thought I was lying. My options at that point were worth about $2 million a month. If I was leaving that kind of money on the table, it could only be to go and start some new startup, and if I did, I might take people with me. This was the height of the Internet Bubble, and Yahoo was ground zero of it. My boss was at that moment a billionaire. Leaving then to start a new startup must have seemed to him an insanely, and yet also plausibly, ambitious plan.
|
||||
|
||||
But I really was quitting to paint, and I started immediately. There was no time to lose. I'd already burned 4 years getting rich. Now when I talk to founders who are leaving after selling their companies, my advice is always the same: take a vacation. That's what I should have done, just gone off somewhere and done nothing for a month or two, but the idea never occurred to me.
|
||||
|
||||
So I tried to paint, but I just didn't seem to have any energy or ambition. Part of the problem was that I didn't know many people in California. I'd compounded this problem by buying a house up in the Santa Cruz Mountains, with a beautiful view but miles from anywhere. I stuck it out for a few more months, then in desperation I went back to New York, where unless you understand about rent control you'll be surprised to hear I still had my apartment, sealed up like a tomb of my old life. Idelle was in New York at least, and there were other people trying to paint there, even though I didn't know any of them.
|
||||
|
||||
When I got back to New York I resumed my old life, except now I was rich. It was as weird as it sounds. I resumed all my old patterns, except now there were doors where there hadn't been. Now when I was tired of walking, all I had to do was raise my hand, and (unless it was raining) a taxi would stop to pick me up. Now when I walked past charming little restaurants I could go in and order lunch. It was exciting for a while. Painting started to go better. I experimented with a new kind of still life where I'd paint one painting in the old way, then photograph it and print it, blown up, on canvas, and then use that as the underpainting for a second still life, painted from the same objects (which hopefully hadn't rotted yet).
|
||||
|
||||
Meanwhile I looked for an apartment to buy. Now I could actually choose what neighborhood to live in. Where, I asked myself and various real estate agents, is the Cambridge of New York? Aided by occasional visits to actual Cambridge, I gradually realized there wasn't one. Huh.
|
||||
|
||||
Around this time, in the spring of 2000, I had an idea. It was clear from our experience with Viaweb that web apps were the future. Why not build a web app for making web apps? Why not let people edit code on our server through the browser, and then host the resulting applications for them? [9] You could run all sorts of services on the servers that these applications could use just by making an API call: making and receiving phone calls, manipulating images, taking credit card payments, etc.
|
||||
|
||||
I got so excited about this idea that I couldn't think about anything else. It seemed obvious that this was the future. I didn't particularly want to start another company, but it was clear that this idea would have to be embodied as one, so I decided to move to Cambridge and start it. I hoped to lure Robert into working on it with me, but there I ran into a hitch. Robert was now a postdoc at MIT, and though he'd made a lot of money the last time I'd lured him into working on one of my schemes, it had also been a huge time sink. So while he agreed that it sounded like a plausible idea, he firmly refused to work on it.
|
||||
|
||||
Hmph. Well, I'd do it myself then. I recruited Dan Giffin, who had worked for Viaweb, and two undergrads who wanted summer jobs, and we got to work trying to build what it's now clear is about twenty companies and several open source projects worth of software. The language for defining applications would of course be a dialect of Lisp. But I wasn't so naive as to assume I could spring an overt Lisp on a general audience; we'd hide the parentheses, like Dylan did.
|
||||
|
||||
By then there was a name for the kind of company Viaweb was, an "application service provider," or ASP. This name didn't last long before it was replaced by "software as a service," but it was current for long enough that I named this new company after it: it was going to be called Aspra.
|
||||
|
||||
I started working on the application builder, Dan worked on network infrastructure, and the two undergrads worked on the first two services (images and phone calls). But about halfway through the summer I realized I really didn't want to run a company — especially not a big one, which it was looking like this would have to be. I'd only started Viaweb because I needed the money. Now that I didn't need money anymore, why was I doing this? If this vision had to be realized as a company, then screw the vision. I'd build a subset that could be done as an open source project.
|
||||
|
||||
Much to my surprise, the time I spent working on this stuff was not wasted after all. After we started Y Combinator, I would often encounter startups working on parts of this new architecture, and it was very useful to have spent so much time thinking about it and even trying to write some of it.
|
||||
|
||||
The subset I would build as an open source project was the new Lisp, whose parentheses I now wouldn't even have to hide. A lot of Lisp hackers dream of building a new Lisp, partly because one of the distinctive features of the language is that it has dialects, and partly, I think, because we have in our minds a Platonic form of Lisp that all existing dialects fall short of. I certainly did. So at the end of the summer Dan and I switched to working on this new dialect of Lisp, which I called Arc, in a house I bought in Cambridge.
|
||||
|
||||
The following spring, lightning struck. I was invited to give a talk at a Lisp conference, so I gave one about how we'd used Lisp at Viaweb. Afterward I put a postscript file of this talk online, on paulgraham.com, which I'd created years before using Viaweb but had never used for anything. In one day it got 30,000 page views. What on earth had happened? The referring urls showed that someone had posted it on Slashdot. [10]
|
||||
|
||||
Wow, I thought, there's an audience. If I write something and put it on the web, anyone can read it. That may seem obvious now, but it was surprising then. In the print era there was a narrow channel to readers, guarded by fierce monsters known as editors. The only way to get an audience for anything you wrote was to get it published as a book, or in a newspaper or magazine. Now anyone could publish anything.
|
||||
|
||||
This had been possible in principle since 1993, but not many people had realized it yet. I had been intimately involved with building the infrastructure of the web for most of that time, and a writer as well, and it had taken me 8 years to realize it. Even then it took me several years to understand the implications. It meant there would be a whole new generation of essays. [11]
|
||||
|
||||
In the print era, the channel for publishing essays had been vanishingly small. Except for a few officially anointed thinkers who went to the right parties in New York, the only people allowed to publish essays were specialists writing about their specialties. There were so many essays that had never been written, because there had been no way to publish them. Now they could be, and I was going to write them. [12]
|
||||
|
||||
I've worked on several different things, but to the extent there was a turning point where I figured out what to work on, it was when I started publishing essays online. From then on I knew that whatever else I did, I'd always write essays too.
|
||||
|
||||
I knew that online essays would be a marginal medium at first. Socially they'd seem more like rants posted by nutjobs on their GeoCities sites than the genteel and beautifully typeset compositions published in The New Yorker. But by this point I knew enough to find that encouraging instead of discouraging.
|
||||
|
||||
One of the most conspicuous patterns I've noticed in my life is how well it has worked, for me at least, to work on things that weren't prestigious. Still life has always been the least prestigious form of painting. Viaweb and Y Combinator both seemed lame when we started them. I still get the glassy eye from strangers when they ask what I'm writing, and I explain that it's an essay I'm going to publish on my web site. Even Lisp, though prestigious intellectually in something like the way Latin is, also seems about as hip.
|
||||
|
||||
It's not that unprestigious types of work are good per se. But when you find yourself drawn to some kind of work despite its current lack of prestige, it's a sign both that there's something real to be discovered there, and that you have the right kind of motives. Impure motives are a big danger for the ambitious. If anything is going to lead you astray, it will be the desire to impress people. So while working on things that aren't prestigious doesn't guarantee you're on the right track, it at least guarantees you're not on the most common type of wrong one.
|
||||
|
||||
Over the next several years I wrote lots of essays about all kinds of different topics. O'Reilly reprinted a collection of them as a book, called Hackers & Painters after one of the essays in it. I also worked on spam filters, and did some more painting. I used to have dinners for a group of friends every thursday night, which taught me how to cook for groups. And I bought another building in Cambridge, a former candy factory (and later, twas said, porn studio), to use as an office.
|
||||
|
||||
One night in October 2003 there was a big party at my house. It was a clever idea of my friend Maria Daniels, who was one of the thursday diners. Three separate hosts would all invite their friends to one party. So for every guest, two thirds of the other guests would be people they didn't know but would probably like. One of the guests was someone I didn't know but would turn out to like a lot: a woman called Jessica Livingston. A couple days later I asked her out.
|
||||
|
||||
Jessica was in charge of marketing at a Boston investment bank. This bank thought it understood startups, but over the next year, as she met friends of mine from the startup world, she was surprised how different reality was. And how colorful their stories were. So she decided to compile a book of interviews with startup founders.
|
||||
|
||||
When the bank had financial problems and she had to fire half her staff, she started looking for a new job. In early 2005 she interviewed for a marketing job at a Boston VC firm. It took them weeks to make up their minds, and during this time I started telling her about all the things that needed to be fixed about venture capital. They should make a larger number of smaller investments instead of a handful of giant ones, they should be funding younger, more technical founders instead of MBAs, they should let the founders remain as CEO, and so on.
|
||||
|
||||
One of my tricks for writing essays had always been to give talks. The prospect of having to stand up in front of a group of people and tell them something that won't waste their time is a great spur to the imagination. When the Harvard Computer Society, the undergrad computer club, asked me to give a talk, I decided I would tell them how to start a startup. Maybe they'd be able to avoid the worst of the mistakes we'd made.
|
||||
|
||||
So I gave this talk, in the course of which I told them that the best sources of seed funding were successful startup founders, because then they'd be sources of advice too. Whereupon it seemed they were all looking expectantly at me. Horrified at the prospect of having my inbox flooded by business plans (if I'd only known), I blurted out "But not me!" and went on with the talk. But afterward it occurred to me that I should really stop procrastinating about angel investing. I'd been meaning to since Yahoo bought us, and now it was 7 years later and I still hadn't done one angel investment.
|
||||
|
||||
Meanwhile I had been scheming with Robert and Trevor about projects we could work on together. I missed working with them, and it seemed like there had to be something we could collaborate on.
|
||||
|
||||
As Jessica and I were walking home from dinner on March 11, at the corner of Garden and Walker streets, these three threads converged. Screw the VCs who were taking so long to make up their minds. We'd start our own investment firm and actually implement the ideas we'd been talking about. I'd fund it, and Jessica could quit her job and work for it, and we'd get Robert and Trevor as partners too. [13]
|
||||
|
||||
Once again, ignorance worked in our favor. We had no idea how to be angel investors, and in Boston in 2005 there were no Ron Conways to learn from. So we just made what seemed like the obvious choices, and some of the things we did turned out to be novel.
|
||||
|
||||
There are multiple components to Y Combinator, and we didn't figure them all out at once. The part we got first was to be an angel firm. In those days, those two words didn't go together. There were VC firms, which were organized companies with people whose job it was to make investments, but they only did big, million dollar investments. And there were angels, who did smaller investments, but these were individuals who were usually focused on other things and made investments on the side. And neither of them helped founders enough in the beginning. We knew how helpless founders were in some respects, because we remembered how helpless we'd been. For example, one thing Julian had done for us that seemed to us like magic was to get us set up as a company. We were fine writing fairly difficult software, but actually getting incorporated, with bylaws and stock and all that stuff, how on earth did you do that? Our plan was not only to make seed investments, but to do for startups everything Julian had done for us.
|
||||
|
||||
YC was not organized as a fund. It was cheap enough to run that we funded it with our own money. That went right by 99% of readers, but professional investors are thinking "Wow, that means they got all the returns." But once again, this was not due to any particular insight on our part. We didn't know how VC firms were organized. It never occurred to us to try to raise a fund, and if it had, we wouldn't have known where to start. [14]
|
||||
|
||||
The most distinctive thing about YC is the batch model: to fund a bunch of startups all at once, twice a year, and then to spend three months focusing intensively on trying to help them. That part we discovered by accident, not merely implicitly but explicitly due to our ignorance about investing. We needed to get experience as investors. What better way, we thought, than to fund a whole bunch of startups at once? We knew undergrads got temporary jobs at tech companies during the summer. Why not organize a summer program where they'd start startups instead? We wouldn't feel guilty for being in a sense fake investors, because they would in a similar sense be fake founders. So while we probably wouldn't make much money out of it, we'd at least get to practice being investors on them, and they for their part would probably have a more interesting summer than they would working at Microsoft.
|
||||
|
||||
We'd use the building I owned in Cambridge as our headquarters. We'd all have dinner there once a week — on tuesdays, since I was already cooking for the thursday diners on thursdays — and after dinner we'd bring in experts on startups to give talks.
|
||||
|
||||
We knew undergrads were deciding then about summer jobs, so in a matter of days we cooked up something we called the Summer Founders Program, and I posted an announcement on my site, inviting undergrads to apply. I had never imagined that writing essays would be a way to get "deal flow," as investors call it, but it turned out to be the perfect source. [15] We got 225 applications for the Summer Founders Program, and we were surprised to find that a lot of them were from people who'd already graduated, or were about to that spring. Already this SFP thing was starting to feel more serious than we'd intended.
|
||||
|
||||
We invited about 20 of the 225 groups to interview in person, and from those we picked 8 to fund. They were an impressive group. That first batch included reddit, Justin Kan and Emmett Shear, who went on to found Twitch, Aaron Swartz, who had already helped write the RSS spec and would a few years later become a martyr for open access, and Sam Altman, who would later become the second president of YC. I don't think it was entirely luck that the first batch was so good. You had to be pretty bold to sign up for a weird thing like the Summer Founders Program instead of a summer job at a legit place like Microsoft or Goldman Sachs.
|
||||
|
||||
The deal for startups was based on a combination of the deal we did with Julian ($10k for 10%) and what Robert said MIT grad students got for the summer ($6k). We invested $6k per founder, which in the typical two-founder case was $12k, in return for 6%. That had to be fair, because it was twice as good as the deal we ourselves had taken. Plus that first summer, which was really hot, Jessica brought the founders free air conditioners. [16]
|
||||
|
||||
Fairly quickly I realized that we had stumbled upon the way to scale startup funding. Funding startups in batches was more convenient for us, because it meant we could do things for a lot of startups at once, but being part of a batch was better for the startups too. It solved one of the biggest problems faced by founders: the isolation. Now you not only had colleagues, but colleagues who understood the problems you were facing and could tell you how they were solving them.
|
||||
|
||||
As YC grew, we started to notice other advantages of scale. The alumni became a tight community, dedicated to helping one another, and especially the current batch, whose shoes they remembered being in. We also noticed that the startups were becoming one another's customers. We used to refer jokingly to the "YC GDP," but as YC grows this becomes less and less of a joke. Now lots of startups get their initial set of customers almost entirely from among their batchmates.
|
||||
|
||||
I had not originally intended YC to be a full-time job. I was going to do three things: hack, write essays, and work on YC. As YC grew, and I grew more excited about it, it started to take up a lot more than a third of my attention. But for the first few years I was still able to work on other things.
|
||||
|
||||
In the summer of 2006, Robert and I started working on a new version of Arc. This one was reasonably fast, because it was compiled into Scheme. To test this new Arc, I wrote Hacker News in it. It was originally meant to be a news aggregator for startup founders and was called Startup News, but after a few months I got tired of reading about nothing but startups. Plus it wasn't startup founders we wanted to reach. It was future startup founders. So I changed the name to Hacker News and the topic to whatever engaged one's intellectual curiosity.
|
||||
|
||||
HN was no doubt good for YC, but it was also by far the biggest source of stress for me. If all I'd had to do was select and help founders, life would have been so easy. And that implies that HN was a mistake. Surely the biggest source of stress in one's work should at least be something close to the core of the work. Whereas I was like someone who was in pain while running a marathon not from the exertion of running, but because I had a blister from an ill-fitting shoe. When I was dealing with some urgent problem during YC, there was about a 60% chance it had to do with HN, and a 40% chance it had do with everything else combined. [17]
|
||||
|
||||
As well as HN, I wrote all of YC's internal software in Arc. But while I continued to work a good deal in Arc, I gradually stopped working on Arc, partly because I didn't have time to, and partly because it was a lot less attractive to mess around with the language now that we had all this infrastructure depending on it. So now my three projects were reduced to two: writing essays and working on YC.
|
||||
|
||||
YC was different from other kinds of work I've done. Instead of deciding for myself what to work on, the problems came to me. Every 6 months there was a new batch of startups, and their problems, whatever they were, became our problems. It was very engaging work, because their problems were quite varied, and the good founders were very effective. If you were trying to learn the most you could about startups in the shortest possible time, you couldn't have picked a better way to do it.
|
||||
|
||||
There were parts of the job I didn't like. Disputes between cofounders, figuring out when people were lying to us, fighting with people who maltreated the startups, and so on. But I worked hard even at the parts I didn't like. I was haunted by something Kevin Hale once said about companies: "No one works harder than the boss." He meant it both descriptively and prescriptively, and it was the second part that scared me. I wanted YC to be good, so if how hard I worked set the upper bound on how hard everyone else worked, I'd better work very hard.
|
||||
|
||||
One day in 2010, when he was visiting California for interviews, Robert Morris did something astonishing: he offered me unsolicited advice. I can only remember him doing that once before. One day at Viaweb, when I was bent over double from a kidney stone, he suggested that it would be a good idea for him to take me to the hospital. That was what it took for Rtm to offer unsolicited advice. So I remember his exact words very clearly. "You know," he said, "you should make sure Y Combinator isn't the last cool thing you do."
|
||||
|
||||
At the time I didn't understand what he meant, but gradually it dawned on me that he was saying I should quit. This seemed strange advice, because YC was doing great. But if there was one thing rarer than Rtm offering advice, it was Rtm being wrong. So this set me thinking. It was true that on my current trajectory, YC would be the last thing I did, because it was only taking up more of my attention. It had already eaten Arc, and was in the process of eating essays too. Either YC was my life's work or I'd have to leave eventually. And it wasn't, so I would.
|
||||
|
||||
In the summer of 2012 my mother had a stroke, and the cause turned out to be a blood clot caused by colon cancer. The stroke destroyed her balance, and she was put in a nursing home, but she really wanted to get out of it and back to her house, and my sister and I were determined to help her do it. I used to fly up to Oregon to visit her regularly, and I had a lot of time to think on those flights. On one of them I realized I was ready to hand YC over to someone else.
|
||||
|
||||
I asked Jessica if she wanted to be president, but she didn't, so we decided we'd try to recruit Sam Altman. We talked to Robert and Trevor and we agreed to make it a complete changing of the guard. Up till that point YC had been controlled by the original LLC we four had started. But we wanted YC to last for a long time, and to do that it couldn't be controlled by the founders. So if Sam said yes, we'd let him reorganize YC. Robert and I would retire, and Jessica and Trevor would become ordinary partners.
|
||||
|
||||
When we asked Sam if he wanted to be president of YC, initially he said no. He wanted to start a startup to make nuclear reactors. But I kept at it, and in October 2013 he finally agreed. We decided he'd take over starting with the winter 2014 batch. For the rest of 2013 I left running YC more and more to Sam, partly so he could learn the job, and partly because I was focused on my mother, whose cancer had returned.
|
||||
|
||||
She died on January 15, 2014. We knew this was coming, but it was still hard when it did.
|
||||
|
||||
I kept working on YC till March, to help get that batch of startups through Demo Day, then I checked out pretty completely. (I still talk to alumni and to new startups working on things I'm interested in, but that only takes a few hours a week.)
|
||||
|
||||
What should I do next? Rtm's advice hadn't included anything about that. I wanted to do something completely different, so I decided I'd paint. I wanted to see how good I could get if I really focused on it. So the day after I stopped working on YC, I started painting. I was rusty and it took a while to get back into shape, but it was at least completely engaging. [18]
|
||||
|
||||
I spent most of the rest of 2014 painting. I'd never been able to work so uninterruptedly before, and I got to be better than I had been. Not good enough, but better. Then in November, right in the middle of a painting, I ran out of steam. Up till that point I'd always been curious to see how the painting I was working on would turn out, but suddenly finishing this one seemed like a chore. So I stopped working on it and cleaned my brushes and haven't painted since. So far anyway.
|
||||
|
||||
I realize that sounds rather wimpy. But attention is a zero sum game. If you can choose what to work on, and you choose a project that's not the best one (or at least a good one) for you, then it's getting in the way of another project that is. And at 50 there was some opportunity cost to screwing around.
|
||||
|
||||
I started writing essays again, and wrote a bunch of new ones over the next few months. I even wrote a couple that weren't about startups. Then in March 2015 I started working on Lisp again.
|
||||
|
||||
The distinctive thing about Lisp is that its core is a language defined by writing an interpreter in itself. It wasn't originally intended as a programming language in the ordinary sense. It was meant to be a formal model of computation, an alternative to the Turing machine. If you want to write an interpreter for a language in itself, what's the minimum set of predefined operators you need? The Lisp that John McCarthy invented, or more accurately discovered, is an answer to that question. [19]
|
||||
|
||||
McCarthy didn't realize this Lisp could even be used to program computers till his grad student Steve Russell suggested it. Russell translated McCarthy's interpreter into IBM 704 machine language, and from that point Lisp started also to be a programming language in the ordinary sense. But its origins as a model of computation gave it a power and elegance that other languages couldn't match. It was this that attracted me in college, though I didn't understand why at the time.
|
||||
|
||||
McCarthy's 1960 Lisp did nothing more than interpret Lisp expressions. It was missing a lot of things you'd want in a programming language. So these had to be added, and when they were, they weren't defined using McCarthy's original axiomatic approach. That wouldn't have been feasible at the time. McCarthy tested his interpreter by hand-simulating the execution of programs. But it was already getting close to the limit of interpreters you could test that way — indeed, there was a bug in it that McCarthy had overlooked. To test a more complicated interpreter, you'd have had to run it, and computers then weren't powerful enough.
|
||||
|
||||
Now they are, though. Now you could continue using McCarthy's axiomatic approach till you'd defined a complete programming language. And as long as every change you made to McCarthy's Lisp was a discoveredness-preserving transformation, you could, in principle, end up with a complete language that had this quality. Harder to do than to talk about, of course, but if it was possible in principle, why not try? So I decided to take a shot at it. It took 4 years, from March 26, 2015 to October 12, 2019. It was fortunate that I had a precisely defined goal, or it would have been hard to keep at it for so long.
|
||||
|
||||
I wrote this new Lisp, called Bel, in itself in Arc. That may sound like a contradiction, but it's an indication of the sort of trickery I had to engage in to make this work. By means of an egregious collection of hacks I managed to make something close enough to an interpreter written in itself that could actually run. Not fast, but fast enough to test.
|
||||
|
||||
I had to ban myself from writing essays during most of this time, or I'd never have finished. In late 2015 I spent 3 months writing essays, and when I went back to working on Bel I could barely understand the code. Not so much because it was badly written as because the problem is so convoluted. When you're working on an interpreter written in itself, it's hard to keep track of what's happening at what level, and errors can be practically encrypted by the time you get them.
|
||||
|
||||
So I said no more essays till Bel was done. But I told few people about Bel while I was working on it. So for years it must have seemed that I was doing nothing, when in fact I was working harder than I'd ever worked on anything. Occasionally after wrestling for hours with some gruesome bug I'd check Twitter or HN and see someone asking "Does Paul Graham still code?"
|
||||
|
||||
Working on Bel was hard but satisfying. I worked on it so intensively that at any given time I had a decent chunk of the code in my head and could write more there. I remember taking the boys to the coast on a sunny day in 2015 and figuring out how to deal with some problem involving continuations while I watched them play in the tide pools. It felt like I was doing life right. I remember that because I was slightly dismayed at how novel it felt. The good news is that I had more moments like this over the next few years.
|
||||
|
||||
In the summer of 2016 we moved to England. We wanted our kids to see what it was like living in another country, and since I was a British citizen by birth, that seemed the obvious choice. We only meant to stay for a year, but we liked it so much that we still live there. So most of Bel was written in England.
|
||||
|
||||
In the fall of 2019, Bel was finally finished. Like McCarthy's original Lisp, it's a spec rather than an implementation, although like McCarthy's Lisp it's a spec expressed as code.
|
||||
|
||||
Now that I could write essays again, I wrote a bunch about topics I'd had stacked up. I kept writing essays through 2020, but I also started to think about other things I could work on. How should I choose what to do? Well, how had I chosen what to work on in the past? I wrote an essay for myself to answer that question, and I was surprised how long and messy the answer turned out to be. If this surprised me, who'd lived it, then I thought perhaps it would be interesting to other people, and encouraging to those with similarly messy lives. So I wrote a more detailed version for others to read, and this is the last sentence of it.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Notes
|
||||
|
||||
[1] My experience skipped a step in the evolution of computers: time-sharing machines with interactive OSes. I went straight from batch processing to microcomputers, which made microcomputers seem all the more exciting.
|
||||
|
||||
[2] Italian words for abstract concepts can nearly always be predicted from their English cognates (except for occasional traps like polluzione). It's the everyday words that differ. So if you string together a lot of abstract concepts with a few simple verbs, you can make a little Italian go a long way.
|
||||
|
||||
[3] I lived at Piazza San Felice 4, so my walk to the Accademia went straight down the spine of old Florence: past the Pitti, across the bridge, past Orsanmichele, between the Duomo and the Baptistery, and then up Via Ricasoli to Piazza San Marco. I saw Florence at street level in every possible condition, from empty dark winter evenings to sweltering summer days when the streets were packed with tourists.
|
||||
|
||||
[4] You can of course paint people like still lives if you want to, and they're willing. That sort of portrait is arguably the apex of still life painting, though the long sitting does tend to produce pained expressions in the sitters.
|
||||
|
||||
[5] Interleaf was one of many companies that had smart people and built impressive technology, and yet got crushed by Moore's Law. In the 1990s the exponential growth in the power of commodity (i.e. Intel) processors rolled up high-end, special-purpose hardware and software companies like a bulldozer.
|
||||
|
||||
[6] The signature style seekers at RISD weren't specifically mercenary. In the art world, money and coolness are tightly coupled. Anything expensive comes to be seen as cool, and anything seen as cool will soon become equally expensive.
|
||||
|
||||
[7] Technically the apartment wasn't rent-controlled but rent-stabilized, but this is a refinement only New Yorkers would know or care about. The point is that it was really cheap, less than half market price.
|
||||
|
||||
[8] Most software you can launch as soon as it's done. But when the software is an online store builder and you're hosting the stores, if you don't have any users yet, that fact will be painfully obvious. So before we could launch publicly we had to launch privately, in the sense of recruiting an initial set of users and making sure they had decent-looking stores.
|
||||
|
||||
[9] We'd had a code editor in Viaweb for users to define their own page styles. They didn't know it, but they were editing Lisp expressions underneath. But this wasn't an app editor, because the code ran when the merchants' sites were generated, not when shoppers visited them.
|
||||
|
||||
[10] This was the first instance of what is now a familiar experience, and so was what happened next, when I read the comments and found they were full of angry people. How could I claim that Lisp was better than other languages? Weren't they all Turing complete? People who see the responses to essays I write sometimes tell me how sorry they feel for me, but I'm not exaggerating when I reply that it has always been like this, since the very beginning. It comes with the territory. An essay must tell readers things they don't already know, and some people dislike being told such things.
|
||||
|
||||
[11] People put plenty of stuff on the internet in the 90s of course, but putting something online is not the same as publishing it online. Publishing online means you treat the online version as the (or at least a) primary version.
|
||||
|
||||
[12] There is a general lesson here that our experience with Y Combinator also teaches: Customs continue to constrain you long after the restrictions that caused them have disappeared. Customary VC practice had once, like the customs about publishing essays, been based on real constraints. Startups had once been much more expensive to start, and proportionally rare. Now they could be cheap and common, but the VCs' customs still reflected the old world, just as customs about writing essays still reflected the constraints of the print era.
|
||||
|
||||
Which in turn implies that people who are independent-minded (i.e. less influenced by custom) will have an advantage in fields affected by rapid change (where customs are more likely to be obsolete).
|
||||
|
||||
Here's an interesting point, though: you can't always predict which fields will be affected by rapid change. Obviously software and venture capital will be, but who would have predicted that essay writing would be?
|
||||
|
||||
[13] Y Combinator was not the original name. At first we were called Cambridge Seed. But we didn't want a regional name, in case someone copied us in Silicon Valley, so we renamed ourselves after one of the coolest tricks in the lambda calculus, the Y combinator.
|
||||
|
||||
I picked orange as our color partly because it's the warmest, and partly because no VC used it. In 2005 all the VCs used staid colors like maroon, navy blue, and forest green, because they were trying to appeal to LPs, not founders. The YC logo itself is an inside joke: the Viaweb logo had been a white V on a red circle, so I made the YC logo a white Y on an orange square.
|
||||
|
||||
[14] YC did become a fund for a couple years starting in 2009, because it was getting so big I could no longer afford to fund it personally. But after Heroku got bought we had enough money to go back to being self-funded.
|
||||
|
||||
[15] I've never liked the term "deal flow," because it implies that the number of new startups at any given time is fixed. This is not only false, but it's the purpose of YC to falsify it, by causing startups to be founded that would not otherwise have existed.
|
||||
|
||||
[16] She reports that they were all different shapes and sizes, because there was a run on air conditioners and she had to get whatever she could, but that they were all heavier than she could carry now.
|
||||
|
||||
[17] Another problem with HN was a bizarre edge case that occurs when you both write essays and run a forum. When you run a forum, you're assumed to see if not every conversation, at least every conversation involving you. And when you write essays, people post highly imaginative misinterpretations of them on forums. Individually these two phenomena are tedious but bearable, but the combination is disastrous. You actually have to respond to the misinterpretations, because the assumption that you're present in the conversation means that not responding to any sufficiently upvoted misinterpretation reads as a tacit admission that it's correct. But that in turn encourages more; anyone who wants to pick a fight with you senses that now is their chance.
|
||||
|
||||
[18] The worst thing about leaving YC was not working with Jessica anymore. We'd been working on YC almost the whole time we'd known each other, and we'd neither tried nor wanted to separate it from our personal lives, so leaving was like pulling up a deeply rooted tree.
|
||||
|
||||
[19] One way to get more precise about the concept of invented vs discovered is to talk about space aliens. Any sufficiently advanced alien civilization would certainly know about the Pythagorean theorem, for example. I believe, though with less certainty, that they would also know about the Lisp in McCarthy's 1960 paper.
|
||||
|
||||
But if so there's no reason to suppose that this is the limit of the language that might be known to them. Presumably aliens need numbers and errors and I/O too. So it seems likely there exists at least one path out of McCarthy's Lisp along which discoveredness is preserved.
|
||||
|
||||
|
||||
|
||||
Thanks to Trevor Blackwell, John Collison, Patrick Collison, Daniel Gackle, Ralph Hazell, Jessica Livingston, Robert Morris, and Harj Taggar for reading drafts of this.
|
||||
512
raft/raft_finetune_qlora.ipynb
Normal file
512
raft/raft_finetune_qlora.ipynb
Normal file
@@ -0,0 +1,512 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2957fcef",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"# RAFT Supervised Fine-Tuning (QLoRA) — Local Training\n",
|
||||
"\n",
|
||||
"This notebook fine-tunes an open-source base model on a RAFT-style dataset (`input` → `output`) using **QLoRA** with **PEFT** and **Transformers**. It is designed to run locally (single or multi-GPU) and to export both **LoRA adapters** and (optionally) a **merged** model for inference.\n",
|
||||
"\n",
|
||||
"> **Assumptions**\n",
|
||||
"> - Your dataset lives at `./outputs/raft_dataset.jsonl` (from the previous notebook). Adjust the path if needed.\n",
|
||||
"> - You have a CUDA-capable GPU and can install `bitsandbytes`. (CPU training is possible but slow.)\n",
|
||||
"> - You have enough VRAM for the chosen base model when loaded in 4-bit NF4.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "202f729e",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 0) Install dependencies"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "2da670d5",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"# If needed, uncomment the following installs:\n",
|
||||
"# %pip install --quiet transformers==4.44.2 datasets==2.20.0 peft==0.12.0 accelerate==0.34.2 bitsandbytes==0.43.3 evaluate==0.4.2 sentencepiece==0.2.0\n",
|
||||
"# Optional extras:\n",
|
||||
"# %pip install --quiet trl==0.9.6 sacrebleu==2.4.3 rouge-score==0.1.2\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "1c047191",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1) Configuration"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "f8c8d385",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"from pathlib import Path\n",
|
||||
"\n",
|
||||
"# Paths\n",
|
||||
"DATA_JSONL = Path(\"./outputs/raft_dataset.jsonl\") # change if different\n",
|
||||
"RUN_NAME = \"raft_qlora_run\"\n",
|
||||
"OUTPUT_DIR = Path(f\"./finetuned/{RUN_NAME}\")\n",
|
||||
"OUTPUT_DIR.mkdir(parents=True, exist_ok=True)\n",
|
||||
"\n",
|
||||
"# Base model — examples: \"meta-llama/Llama-3.1-8B\", \"Qwen/Qwen2-7B-Instruct\", \"mistralai/Mistral-7B-Instruct-v0.3\"\n",
|
||||
"# Prefer an instruction-tuned base for better stability on SFT.\n",
|
||||
"BASE_MODEL = \"mistralai/Mistral-7B-Instruct-v0.3\"\n",
|
||||
"\n",
|
||||
"# Tokenization/prompt formatting\n",
|
||||
"SYSTEM_PREFIX = \"You are a helpful assistant. Answer concisely and truthfully based ONLY on the user's request.\"\n",
|
||||
"USE_CHAT_TEMPLATE = True # if the tokenizer has a chat template, we'll leverage it\n",
|
||||
"\n",
|
||||
"# QLoRA/PEFT params\n",
|
||||
"LORA_R = 16\n",
|
||||
"LORA_ALPHA = 32\n",
|
||||
"LORA_DROPOUT = 0.05\n",
|
||||
"TARGET_MODULES = None # None = let PEFT auto-detect common modules (works for most models)\n",
|
||||
"\n",
|
||||
"# 4-bit quantization (QLoRA)\n",
|
||||
"LOAD_IN_4BIT = True\n",
|
||||
"BNB_4BIT_COMPUTE_DTYPE = \"bfloat16\" # \"float16\" or \"bfloat16\"\n",
|
||||
"BNB_4BIT_QUANT_TYPE = \"nf4\" # \"nf4\" or \"fp4\"\n",
|
||||
"BNB_4BIT_USE_DOUBLE_QUANT = True\n",
|
||||
"\n",
|
||||
"# Training\n",
|
||||
"TRAIN_VAL_SPLIT = 0.98\n",
|
||||
"MAX_SEQ_LEN = 2048\n",
|
||||
"PER_DEVICE_TRAIN_BATCH = 1\n",
|
||||
"PER_DEVICE_EVAL_BATCH = 1\n",
|
||||
"GRADIENT_ACCUM_STEPS = 16\n",
|
||||
"LEARNING_RATE = 2e-4\n",
|
||||
"NUM_TRAIN_EPOCHS = 2\n",
|
||||
"WEIGHT_DECAY = 0.0\n",
|
||||
"WARMUP_RATIO = 0.03\n",
|
||||
"LR_SCHEDULER_TYPE = \"cosine\"\n",
|
||||
"LOGGING_STEPS = 10\n",
|
||||
"EVAL_STEPS = 200\n",
|
||||
"SAVE_STEPS = 200\n",
|
||||
"BF16 = True\n",
|
||||
"FP16 = False\n",
|
||||
"\n",
|
||||
"SEED = 42\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "6c1439a8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2) Load dataset (JSONL)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "f43262fc",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"import json, random\n",
|
||||
"from datasets import Dataset\n",
|
||||
"\n",
|
||||
"def read_jsonl(p: Path):\n",
|
||||
" rows = []\n",
|
||||
" with p.open(\"r\", encoding=\"utf-8\") as f:\n",
|
||||
" for line in f:\n",
|
||||
" line = line.strip()\n",
|
||||
" if not line:\n",
|
||||
" continue\n",
|
||||
" try:\n",
|
||||
" obj = json.loads(line)\n",
|
||||
" if \"input\" in obj and \"output\" in obj:\n",
|
||||
" rows.append(obj)\n",
|
||||
" except Exception:\n",
|
||||
" pass\n",
|
||||
" return rows\n",
|
||||
"\n",
|
||||
"rows = read_jsonl(DATA_JSONL)\n",
|
||||
"print(f\"Loaded {len(rows)} rows from {DATA_JSONL}\")\n",
|
||||
"\n",
|
||||
"random.Random(SEED).shuffle(rows)\n",
|
||||
"split = int(len(rows) * TRAIN_VAL_SPLIT)\n",
|
||||
"train_rows = rows[:split]\n",
|
||||
"val_rows = rows[split:] if split < len(rows) else rows[-max(1, len(rows)//50):]\n",
|
||||
"\n",
|
||||
"train_ds = Dataset.from_list(train_rows)\n",
|
||||
"eval_ds = Dataset.from_list(val_rows) if val_rows else None\n",
|
||||
"train_ds, eval_ds\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2dd30f5a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 3) Prompt formatting"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "155aad2a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"from transformers import AutoTokenizer\n",
|
||||
"\n",
|
||||
"tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, use_fast=True)\n",
|
||||
"if tokenizer.pad_token is None:\n",
|
||||
" tokenizer.pad_token = tokenizer.eos_token\n",
|
||||
"\n",
|
||||
"def format_example(ex):\n",
|
||||
" user = ex[\"input\"]\n",
|
||||
" assistant = ex[\"output\"]\n",
|
||||
"\n",
|
||||
" if USE_CHAT_TEMPLATE and hasattr(tokenizer, \"apply_chat_template\"):\n",
|
||||
" messages = [\n",
|
||||
" {\"role\": \"system\", \"content\": SYSTEM_PREFIX},\n",
|
||||
" {\"role\": \"user\", \"content\": user},\n",
|
||||
" {\"role\": \"assistant\", \"content\": assistant},\n",
|
||||
" ]\n",
|
||||
" text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=False)\n",
|
||||
" else:\n",
|
||||
" text = f\"<s>[SYSTEM]\\n{SYSTEM_PREFIX}\\n[/SYSTEM]\\n[USER]\\n{user}\\n[/USER]\\n[ASSISTANT]\\n{assistant}</s>\"\n",
|
||||
" return {\"text\": text}\n",
|
||||
"\n",
|
||||
"train_ds_fmt = train_ds.map(format_example, remove_columns=train_ds.column_names)\n",
|
||||
"eval_ds_fmt = eval_ds.map(format_example, remove_columns=eval_ds.column_names) if eval_ds else None\n",
|
||||
"\n",
|
||||
"print(train_ds_fmt[0][\"text\"][:400])\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "4a9f30a8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 4) Tokenize"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "0f7eaa2c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"def tokenize(batch):\n",
|
||||
" return tokenizer(\n",
|
||||
" batch[\"text\"],\n",
|
||||
" truncation=True,\n",
|
||||
" max_length=MAX_SEQ_LEN,\n",
|
||||
" padding=\"max_length\",\n",
|
||||
" return_tensors=None,\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
"train_tok = train_ds_fmt.map(tokenize, batched=True, remove_columns=train_ds_fmt.column_names)\n",
|
||||
"eval_tok = eval_ds_fmt.map(tokenize, batched=True, remove_columns=eval_ds_fmt.column_names) if eval_ds_fmt else None\n",
|
||||
"\n",
|
||||
"train_tok = train_tok.rename_column(\"input_ids\", \"input_ids\")\n",
|
||||
"train_tok = train_tok.add_column(\"labels\", train_tok[\"input_ids\"])\n",
|
||||
"if eval_tok:\n",
|
||||
" eval_tok = eval_tok.add_column(\"labels\", eval_tok[\"input_ids\"])\n",
|
||||
"\n",
|
||||
"train_tok, (eval_tok[0]['input_ids'][:10] if eval_tok else [])\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "5f53fc1e",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 5) Load base model with 4-bit quantization and prepare QLoRA"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "a21d625f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"import torch\n",
|
||||
"from transformers import AutoModelForCausalLM, BitsAndBytesConfig\n",
|
||||
"from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training\n",
|
||||
"\n",
|
||||
"bnb_config = None\n",
|
||||
"if LOAD_IN_4BIT:\n",
|
||||
" bnb_config = BitsAndBytesConfig(\n",
|
||||
" load_in_4bit=True,\n",
|
||||
" bnb_4bit_use_double_quant=BNB_4BIT_USE_DOUBLE_QUANT,\n",
|
||||
" bnb_4bit_quant_type=BNB_4BIT_QUANT_TYPE,\n",
|
||||
" bnb_4bit_compute_dtype=getattr(torch, BNB_4BIT_COMPUTE_DTYPE)\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
"model = AutoModelForCausalLM.from_pretrained(\n",
|
||||
" BASE_MODEL,\n",
|
||||
" quantization_config=bnb_config,\n",
|
||||
" torch_dtype=torch.bfloat16 if BF16 else (torch.float16 if FP16 else None),\n",
|
||||
" device_map=\"auto\",\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"model = prepare_model_for_kbit_training(model)\n",
|
||||
"\n",
|
||||
"peft_config = LoraConfig(\n",
|
||||
" r=LORA_R,\n",
|
||||
" lora_alpha=LORA_ALPHA,\n",
|
||||
" lora_dropout=LORA_DROPOUT,\n",
|
||||
" bias=\"none\",\n",
|
||||
" task_type=\"CAUSAL_LM\",\n",
|
||||
" target_modules=TARGET_MODULES,\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"model = get_peft_model(model, peft_config)\n",
|
||||
"model.print_trainable_parameters()\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "b081dbd3",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 6) Train"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3afd65f7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"from transformers import TrainingArguments, Trainer, DataCollatorForLanguageModeling\n",
|
||||
"import math\n",
|
||||
"\n",
|
||||
"data_collator = DataCollatorForLanguageModeling(tokenizer=tokenizer, mlm=False)\n",
|
||||
"\n",
|
||||
"args = TrainingArguments(\n",
|
||||
" output_dir=str(OUTPUT_DIR),\n",
|
||||
" run_name=RUN_NAME,\n",
|
||||
" num_train_epochs=NUM_TRAIN_EPOCHS,\n",
|
||||
" per_device_train_batch_size=PER_DEVICE_TRAIN_BATCH,\n",
|
||||
" per_device_eval_batch_size=PER_DEVICE_EVAL_BATCH,\n",
|
||||
" gradient_accumulation_steps=GRADIENT_ACCUM_STEPS,\n",
|
||||
" learning_rate=LEARNING_RATE,\n",
|
||||
" lr_scheduler_type=LR_SCHEDULER_TYPE,\n",
|
||||
" warmup_ratio=WARMUP_RATIO,\n",
|
||||
" weight_decay=WEIGHT_DECAY,\n",
|
||||
" logging_steps=LOGGING_STEPS,\n",
|
||||
" evaluation_strategy=\"steps\",\n",
|
||||
" eval_steps=EVAL_STEPS,\n",
|
||||
" save_steps=SAVE_STEPS,\n",
|
||||
" save_total_limit=2,\n",
|
||||
" bf16=BF16,\n",
|
||||
" fp16=FP16,\n",
|
||||
" gradient_checkpointing=True,\n",
|
||||
" report_to=[\"none\"],\n",
|
||||
" seed=SEED,\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"trainer = Trainer(\n",
|
||||
" model=model,\n",
|
||||
" tokenizer=tokenizer,\n",
|
||||
" args=args,\n",
|
||||
" train_dataset=train_tok,\n",
|
||||
" eval_dataset=eval_tok,\n",
|
||||
" data_collator=data_collator,\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"train_result = trainer.train()\n",
|
||||
"metrics = trainer.evaluate() if eval_tok else {}\n",
|
||||
"perplexity = math.exp(metrics[\"eval_loss\"]) if metrics and \"eval_loss\" in metrics else None\n",
|
||||
"metrics, perplexity\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "e22700a2",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 7) Save LoRA adapters"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "efc434ce",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"adapter_dir = OUTPUT_DIR / \"lora_adapter\"\n",
|
||||
"adapter_dir.mkdir(parents=True, exist_ok=True)\n",
|
||||
"\n",
|
||||
"model.save_pretrained(str(adapter_dir))\n",
|
||||
"tokenizer.save_pretrained(str(adapter_dir))\n",
|
||||
"\n",
|
||||
"print(f\"Saved LoRA adapter to: {adapter_dir}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "afb33cae",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 8) (Optional) Merge adapters into base model and save full weights"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "dc6ccdee",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"DO_MERGE = False # set True to produce a standalone merged model\n",
|
||||
"\n",
|
||||
"if DO_MERGE:\n",
|
||||
" from peft import PeftModel\n",
|
||||
" base_model = AutoModelForCausalLM.from_pretrained(\n",
|
||||
" BASE_MODEL,\n",
|
||||
" torch_dtype=torch.bfloat16 if BF16 else (torch.float16 if FP16 else None),\n",
|
||||
" device_map=\"auto\",\n",
|
||||
" )\n",
|
||||
" merged = PeftModel.from_pretrained(base_model, str(adapter_dir)).merge_and_unload()\n",
|
||||
" merged_dir = OUTPUT_DIR / \"merged_model\"\n",
|
||||
" merged.save_pretrained(str(merged_dir))\n",
|
||||
" tokenizer.save_pretrained(str(merged_dir))\n",
|
||||
" print(f\"Merged full model saved to: {merged_dir}\")\n",
|
||||
"else:\n",
|
||||
" print(\"Skipping merge (set DO_MERGE=True to enable).\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "010055a7",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 9) Quick inference with the trained adapter"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "40f3a8a5",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"from peft import PeftModel\n",
|
||||
"import torch\n",
|
||||
"\n",
|
||||
"test_model = AutoModelForCausalLM.from_pretrained(\n",
|
||||
" BASE_MODEL,\n",
|
||||
" quantization_config=bnb_config,\n",
|
||||
" torch_dtype=torch.bfloat16 if BF16 else (torch.float16 if FP16 else None),\n",
|
||||
" device_map=\"auto\",\n",
|
||||
")\n",
|
||||
"test_model = PeftModel.from_pretrained(test_model, str(adapter_dir))\n",
|
||||
"test_model.eval()\n",
|
||||
"\n",
|
||||
"def generate_answer(prompt, max_new_tokens=256, temperature=0.2, top_p=0.9):\n",
|
||||
" if USE_CHAT_TEMPLATE and hasattr(tokenizer, \"apply_chat_template\"):\n",
|
||||
" messages = [\n",
|
||||
" {\"role\": \"system\", \"content\": SYSTEM_PREFIX},\n",
|
||||
" {\"role\": \"user\", \"content\": prompt},\n",
|
||||
" ]\n",
|
||||
" model_inputs = tokenizer.apply_chat_template(messages, return_tensors=\"pt\", add_generation_prompt=True).to(test_model.device)\n",
|
||||
" else:\n",
|
||||
" text = f\"<s>[SYSTEM]\\n{SYSTEM_PREFIX}\\n[/SYSTEM]\\n[USER]\\n{prompt}\\n[/USER]\\n[ASSISTANT]\\n\"\n",
|
||||
" model_inputs = tokenizer([text], return_tensors=\"pt\").to(test_model.device)\n",
|
||||
"\n",
|
||||
" with torch.no_grad():\n",
|
||||
" out = test_model.generate(\n",
|
||||
" **model_inputs,\n",
|
||||
" do_sample=True,\n",
|
||||
" max_new_tokens=max_new_tokens,\n",
|
||||
" temperature=temperature,\n",
|
||||
" top_p=top_p,\n",
|
||||
" eos_token_id=tokenizer.eos_token_id,\n",
|
||||
" pad_token_id=tokenizer.pad_token_id,\n",
|
||||
" )\n",
|
||||
" return tokenizer.decode(out[0], skip_special_tokens=True)\n",
|
||||
"\n",
|
||||
"sample_prompt = (train_rows[0][\"input\"] if len(train_rows)>0 else \"What are the visitor crowd levels like?\")\n",
|
||||
"print(generate_answer(sample_prompt)[:800])\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "3638b421",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 10) Light evaluation on the validation set"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "28129cf7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"import evaluate\n",
|
||||
"\n",
|
||||
"if eval_ds:\n",
|
||||
" rouge = evaluate.load(\"rouge\")\n",
|
||||
" preds, refs = [], []\n",
|
||||
" for ex in val_rows[:50]:\n",
|
||||
" preds.append(generate_answer(ex[\"input\"], max_new_tokens=192, temperature=0.0))\n",
|
||||
" refs.append(ex[\"output\"])\n",
|
||||
" results = rouge.compute(predictions=preds, references=refs)\n",
|
||||
" print(results)\n",
|
||||
"else:\n",
|
||||
" print(\"No eval split available; skipped.\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "1ca0d748",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 11) (Optional) Use with other runtimes\n",
|
||||
"\n",
|
||||
"- **Python Inference (PEFT)**: Load base model + adapter as shown in Section 9.\n",
|
||||
"- **Merged model**: Set `DO_MERGE=True` to create a standalone model directory; you can then convert to other runtimes (e.g., llama.cpp GGUF) using their conversion tools.\n",
|
||||
"- **Ollama**: If your runtime supports adapters or merged weights for the chosen base model, create a `Modelfile` pointing to them. Need a concrete path? Tell me your base and target runtime and I’ll add exact steps.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"name": "python",
|
||||
"version": "3.x"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
808
raft/raft_ollama_dataset.ipynb
Normal file
808
raft/raft_ollama_dataset.ipynb
Normal file
@@ -0,0 +1,808 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "e765555c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"# Retrieval-Augmented **Fine-Tuning** (RAFT) Dataset Generation with **Local Ollama**\n",
|
||||
"\n",
|
||||
"This notebook builds a **supervised fine-tuning dataset** (JSONL) for *retrieval-augmented* tasks, by:\n",
|
||||
"1. **Ingesting** your local corpus (Markdown, text, HTML; PDFs optional with extra deps).\n",
|
||||
"2. **Chunking** and **embedding** documents using Ollama's local **embedding model** (e.g., `nomic-embed-text`, `mxbai-embed-large`).\n",
|
||||
"3. Building a **lightweight vector index** (FAISS).\n",
|
||||
"4. **Sampling contexts** and using a local **generation model** via Ollama (e.g., `llama3.1`, `qwen2`, `phi3`) to synthesize **grounded Q&A** or instruction–response pairs.\n",
|
||||
"5. Emitting a **RAFT-style JSONL** for supervised training (e.g., `input`, `output`, `meta` with source citations).\n",
|
||||
"\n",
|
||||
"> **Requirements**\n",
|
||||
">\n",
|
||||
"> - Local [Ollama](https://ollama.com/) running at `http://localhost:11434`\n",
|
||||
"> - At least one **embedding** model pulled (e.g., `ollama pull nomic-embed-text`)\n",
|
||||
"> - At least one **generation** model pulled (e.g., `ollama pull llama3.1`)\n",
|
||||
">\n",
|
||||
"> You can adapt the prompts and schema for your specific downstream trainer (Llama.cpp, vLLM, Axolotl, mlx, etc.).\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "554f4b94",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 0) Setup\n",
|
||||
"\n",
|
||||
"Install Python dependencies. If you're offline, pre-install or remove what you don't need.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "e4e8a7e0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"# If needed, uncomment:\n",
|
||||
"# %pip install --quiet requests faiss-cpu rich markdownify python-frontmatter pypdf regex\n",
|
||||
"# Optional extras:\n",
|
||||
"# %pip install --quiet tiktoken beautifulsoup4 lxml\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a7a796e8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 1) Configuration\n",
|
||||
"\n",
|
||||
"Set paths, models, and chunking/index params.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "562f06f9",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">{</span>\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'DATA_DIR'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'/home/marvin/repo/jupyter-ai-test/raft/corpus'</span>,\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'OUTPUT_DIR'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'/home/marvin/repo/jupyter-ai-test/raft/outputs'</span>,\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'OLLAMA_URL'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'http://localhost:11434'</span>,\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'EMBED_MODEL'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'nomic-embed-text'</span>,\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'GEN_MODEL'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'llama3.1:8b'</span>,\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'CHUNK_SIZE'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1200</span>,\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'CHUNK_OVERLAP'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">200</span>,\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'TOP_K'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">4</span>,\n",
|
||||
" <span style=\"color: #008000; text-decoration-color: #008000\">'SAMPLES_PER_DOC'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">4</span>\n",
|
||||
"<span style=\"font-weight: bold\">}</span>\n",
|
||||
"</pre>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"\u001b[1m{\u001b[0m\n",
|
||||
" \u001b[32m'DATA_DIR'\u001b[0m: \u001b[32m'/home/marvin/repo/jupyter-ai-test/raft/corpus'\u001b[0m,\n",
|
||||
" \u001b[32m'OUTPUT_DIR'\u001b[0m: \u001b[32m'/home/marvin/repo/jupyter-ai-test/raft/outputs'\u001b[0m,\n",
|
||||
" \u001b[32m'OLLAMA_URL'\u001b[0m: \u001b[32m'http://localhost:11434'\u001b[0m,\n",
|
||||
" \u001b[32m'EMBED_MODEL'\u001b[0m: \u001b[32m'nomic-embed-text'\u001b[0m,\n",
|
||||
" \u001b[32m'GEN_MODEL'\u001b[0m: \u001b[32m'llama3.1:8b'\u001b[0m,\n",
|
||||
" \u001b[32m'CHUNK_SIZE'\u001b[0m: \u001b[1;36m1200\u001b[0m,\n",
|
||||
" \u001b[32m'CHUNK_OVERLAP'\u001b[0m: \u001b[1;36m200\u001b[0m,\n",
|
||||
" \u001b[32m'TOP_K'\u001b[0m: \u001b[1;36m4\u001b[0m,\n",
|
||||
" \u001b[32m'SAMPLES_PER_DOC'\u001b[0m: \u001b[1;36m4\u001b[0m\n",
|
||||
"\u001b[1m}\u001b[0m\n"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"from dataclasses import dataclass, asdict\n",
|
||||
"from pathlib import Path\n",
|
||||
"from typing import List, Dict, Any, Optional, Tuple\n",
|
||||
"import os, re, json, uuid, math, glob, random, time\n",
|
||||
"import hashlib\n",
|
||||
"import requests\n",
|
||||
"from rich import print\n",
|
||||
"import regex\n",
|
||||
"import numpy as np\n",
|
||||
"\n",
|
||||
"# ---- Core config ----\n",
|
||||
"DATA_DIR = Path(\"./corpus\") # Put your source docs here\n",
|
||||
"OUTPUT_DIR = Path(\"./outputs\") # Where artifacts are saved\n",
|
||||
"OUTPUT_DIR.mkdir(parents=True, exist_ok=True)\n",
|
||||
"\n",
|
||||
"# Ollama endpoints & models\n",
|
||||
"OLLAMA_URL = os.environ.get(\"OLLAMA_URL\", \"http://localhost:11434\")\n",
|
||||
"EMBED_MODEL = os.environ.get(\"EMBED_MODEL\", \"nomic-embed-text\")\n",
|
||||
"GEN_MODEL = os.environ.get(\"GEN_MODEL\", \"llama3.1:8b\")\n",
|
||||
"\n",
|
||||
"# Chunking\n",
|
||||
"CHUNK_SIZE = 1200 # characters\n",
|
||||
"CHUNK_OVERLAP = 200 # characters\n",
|
||||
"MIN_CHARS = 200 # minimum viable chunk length\n",
|
||||
"\n",
|
||||
"# Index\n",
|
||||
"USE_FAISS = True\n",
|
||||
"TOP_K = 4\n",
|
||||
"\n",
|
||||
"# RAFT generation\n",
|
||||
"SEED = 7\n",
|
||||
"SAMPLES_PER_DOC = 4\n",
|
||||
"MAX_TOKENS_GEN = 512 # Generation max tokens (approx; Ollama supports 'num_predict')\n",
|
||||
"TEMPERATURE = 0.6\n",
|
||||
"\n",
|
||||
"random.seed(SEED)\n",
|
||||
"np.random.seed(SEED)\n",
|
||||
"\n",
|
||||
"print({\n",
|
||||
" \"DATA_DIR\": str(DATA_DIR.resolve()),\n",
|
||||
" \"OUTPUT_DIR\": str(OUTPUT_DIR.resolve()),\n",
|
||||
" \"OLLAMA_URL\": OLLAMA_URL,\n",
|
||||
" \"EMBED_MODEL\": EMBED_MODEL,\n",
|
||||
" \"GEN_MODEL\": GEN_MODEL,\n",
|
||||
" \"CHUNK_SIZE\": CHUNK_SIZE,\n",
|
||||
" \"CHUNK_OVERLAP\": CHUNK_OVERLAP,\n",
|
||||
" \"TOP_K\": TOP_K,\n",
|
||||
" \"SAMPLES_PER_DOC\": SAMPLES_PER_DOC\n",
|
||||
"})\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "5f932e07",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 2) Load & Normalize Documents\n",
|
||||
"\n",
|
||||
"Basic loaders for `.md`, `.txt`, `.html`. PDF support is optional (requires `pypdf`). You can extend as needed.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "b4a4b5ee",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008000; text-decoration-color: #008000\">Loaded </span><span style=\"color: #008000; text-decoration-color: #008000; font-weight: bold\">265</span><span style=\"color: #008000; text-decoration-color: #008000\"> documents</span>\n",
|
||||
"</pre>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"\u001b[32mLoaded \u001b[0m\u001b[1;32m265\u001b[0m\u001b[32m documents\u001b[0m\n"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"265"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"from bs4 import BeautifulSoup # if you didn't install bs4, comment HTML support below\n",
|
||||
"try:\n",
|
||||
" import frontmatter\n",
|
||||
"except Exception:\n",
|
||||
" frontmatter = None\n",
|
||||
"\n",
|
||||
"def read_text_file(p: Path) -> str:\n",
|
||||
" return p.read_text(encoding=\"utf-8\", errors=\"ignore\")\n",
|
||||
"\n",
|
||||
"def read_markdown(p: Path) -> str:\n",
|
||||
" text = p.read_text(encoding=\"utf-8\", errors=\"ignore\")\n",
|
||||
" # Optional: strip YAML frontmatter\n",
|
||||
" if frontmatter:\n",
|
||||
" try:\n",
|
||||
" fm = frontmatter.loads(text)\n",
|
||||
" return fm.content\n",
|
||||
" except Exception:\n",
|
||||
" return text\n",
|
||||
" return text\n",
|
||||
"\n",
|
||||
"def read_html(p: Path) -> str:\n",
|
||||
" html = p.read_text(encoding=\"utf-8\", errors=\"ignore\")\n",
|
||||
" soup = BeautifulSoup(html, \"lxml\")\n",
|
||||
" # Remove script/style\n",
|
||||
" for tag in soup([\"script\", \"style\", \"noscript\"]):\n",
|
||||
" tag.decompose()\n",
|
||||
" text = soup.get_text(\" \", strip=True)\n",
|
||||
" return text\n",
|
||||
"\n",
|
||||
"def read_pdf(p: Path) -> str:\n",
|
||||
" try:\n",
|
||||
" from pypdf import PdfReader\n",
|
||||
" except Exception as e:\n",
|
||||
" print(\"[yellow]Install pypdf to enable PDF parsing: %pip install pypdf[/yellow]\")\n",
|
||||
" raise e\n",
|
||||
" reader = PdfReader(str(p))\n",
|
||||
" parts = []\n",
|
||||
" for page in reader.pages:\n",
|
||||
" try:\n",
|
||||
" parts.append(page.extract_text() or \"\")\n",
|
||||
" except Exception:\n",
|
||||
" parts.append(\"\")\n",
|
||||
" return \"\\n\".join(parts)\n",
|
||||
"\n",
|
||||
"SUPPORTED_EXTS = {\".txt\": read_text_file, \".md\": read_markdown, \".markdown\": read_markdown,\n",
|
||||
" \".html\": read_html, \".htm\": read_html, \".pdf\": read_pdf}\n",
|
||||
"\n",
|
||||
"def load_corpus(data_dir: Path) -> Dict[str, str]:\n",
|
||||
" docs = {}\n",
|
||||
" for p in data_dir.rglob(\"*\"):\n",
|
||||
" if not p.is_file():\n",
|
||||
" continue\n",
|
||||
" fn = p.suffix.lower()\n",
|
||||
" if fn in SUPPORTED_EXTS:\n",
|
||||
" try:\n",
|
||||
" docs[str(p)] = SUPPORTED_EXTS[fn](p)\n",
|
||||
" except Exception as e:\n",
|
||||
" print(f\"[red]Failed to read {p}: {e}[/red]\")\n",
|
||||
" print(f\"[green]Loaded {len(docs)} documents[/green]\")\n",
|
||||
" return docs\n",
|
||||
"\n",
|
||||
"docs = load_corpus(DATA_DIR)\n",
|
||||
"len(docs)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0ffb354e",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 3) Chunking\n",
|
||||
"\n",
|
||||
"Simple character-based chunker with overlap. Swap in a token-based chunker if you prefer.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "a1abf43d",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008000; text-decoration-color: #008000\">Total chunks: </span><span style=\"color: #008000; text-decoration-color: #008000; font-weight: bold\">7373</span>\n",
|
||||
"</pre>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"\u001b[32mTotal chunks: \u001b[0m\u001b[1;32m7373\u001b[0m\n"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"@dataclass\n",
|
||||
"class Chunk:\n",
|
||||
" id: str\n",
|
||||
" doc_path: str\n",
|
||||
" start: int\n",
|
||||
" end: int\n",
|
||||
" text: str\n",
|
||||
" sha1: str\n",
|
||||
"\n",
|
||||
"def chunk_text(text: str, doc_path: str, chunk_size: int = CHUNK_SIZE, overlap: int = CHUNK_OVERLAP) -> List[Chunk]:\n",
|
||||
" chunks: List[Chunk] = []\n",
|
||||
" i = 0\n",
|
||||
" n = len(text)\n",
|
||||
" while i < n:\n",
|
||||
" j = min(i + chunk_size, n)\n",
|
||||
" piece = text[i:j].strip()\n",
|
||||
" if len(piece) >= MIN_CHARS:\n",
|
||||
" sha1 = hashlib.sha1(piece.encode(\"utf-8\")).hexdigest()\n",
|
||||
" chunks.append(Chunk(\n",
|
||||
" id=str(uuid.uuid4()),\n",
|
||||
" doc_path=doc_path,\n",
|
||||
" start=i, end=j,\n",
|
||||
" text=piece,\n",
|
||||
" sha1=sha1\n",
|
||||
" ))\n",
|
||||
" if j == n:\n",
|
||||
" break\n",
|
||||
" i = j - overlap\n",
|
||||
" if i < 0:\n",
|
||||
" i = 0\n",
|
||||
" if i >= n:\n",
|
||||
" break\n",
|
||||
" return chunks\n",
|
||||
"\n",
|
||||
"all_chunks: List[Chunk] = []\n",
|
||||
"for path, text in docs.items():\n",
|
||||
" all_chunks.extend(chunk_text(text, path))\n",
|
||||
"\n",
|
||||
"print(f\"[green]Total chunks: {len(all_chunks)}[/green]\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "396ab28c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 4) Embeddings via Ollama\n",
|
||||
"\n",
|
||||
"Uses Ollama's `POST /api/embeddings` endpoint with your selected embedding model. \n",
|
||||
"Make sure you've pulled it locally: `ollama pull nomic-embed-text` (or your chosen model).\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "037fc70d",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(7373, 768)"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"EMBED_ENDPOINT = f\"{OLLAMA_URL}/api/embeddings\"\n",
|
||||
"\n",
|
||||
"def embed_texts(texts: List[str], model: str = EMBED_MODEL, batch_size: int = 32) -> np.ndarray:\n",
|
||||
" vectors = []\n",
|
||||
" for i in range(0, len(texts), batch_size):\n",
|
||||
" batch = texts[i:i+batch_size]\n",
|
||||
" # Ollama supports a single prompt or list? We'll call one by one to be safe with large content.\n",
|
||||
" for t in batch:\n",
|
||||
" r = requests.post(EMBED_ENDPOINT, json={\"model\": model, \"prompt\": t})\n",
|
||||
" r.raise_for_status()\n",
|
||||
" data = r.json()\n",
|
||||
" vec = np.array(data[\"embedding\"], dtype=np.float32)\n",
|
||||
" vectors.append(vec)\n",
|
||||
" return np.vstack(vectors) if vectors else np.zeros((0, 768), dtype=np.float32)\n",
|
||||
"\n",
|
||||
"chunk_texts = [c.text for c in all_chunks]\n",
|
||||
"emb_matrix = embed_texts(chunk_texts, model=EMBED_MODEL, batch_size=8)\n",
|
||||
"emb_matrix.shape\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "5b4af05b",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 5) Build Vector Index (FAISS)\n",
|
||||
"\n",
|
||||
"We normalize vectors and use inner product (equivalent to cosine on normalized vectors).\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "350bd2a4",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008000; text-decoration-color: #008000\">FAISS index built:</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">7373</span> vectors\n",
|
||||
"</pre>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"\u001b[32mFAISS index built:\u001b[0m \u001b[1;36m7373\u001b[0m vectors\n"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"def normalize_rows(x: np.ndarray) -> np.ndarray:\n",
|
||||
" norms = np.linalg.norm(x, axis=1, keepdims=True) + 1e-12\n",
|
||||
" return x / norms\n",
|
||||
"\n",
|
||||
"if USE_FAISS:\n",
|
||||
" import faiss\n",
|
||||
" xb = normalize_rows(emb_matrix).astype(np.float32)\n",
|
||||
" d = xb.shape[1]\n",
|
||||
" index = faiss.IndexFlatIP(d)\n",
|
||||
" index.add(xb)\n",
|
||||
" print(\"[green]FAISS index built:[/green]\", index.ntotal, \"vectors\")\n",
|
||||
"else:\n",
|
||||
" index = None\n",
|
||||
" xb = normalize_rows(emb_matrix).astype(np.float32)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "7f5d26cb",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 6) Retrieval Helper\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"id": "198ddb95",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">[(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">883</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.4678046703338623</span><span style=\"font-weight: bold\">)</span>, <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">5593</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.45775240659713745</span><span style=\"font-weight: bold\">)</span>, <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">4318</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.45724332332611084</span><span style=\"font-weight: bold\">)]</span>\n",
|
||||
"</pre>\n"
|
||||
],
|
||||
"text/plain": [
|
||||
"\u001b[1m[\u001b[0m\u001b[1m(\u001b[0m\u001b[1;36m883\u001b[0m, \u001b[1;36m0.4678046703338623\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m5593\u001b[0m, \u001b[1;36m0.45775240659713745\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m4318\u001b[0m, \u001b[1;36m0.45724332332611084\u001b[0m\u001b[1m)\u001b[0m\u001b[1m]\u001b[0m\n"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"def search(query: str, top_k: int = TOP_K) -> List[Tuple[int, float]]:\n",
|
||||
" # Embed the query\n",
|
||||
" qv = embed_texts([query], model=EMBED_MODEL, batch_size=1)\n",
|
||||
" qv = normalize_rows(qv).astype(np.float32)\n",
|
||||
" if USE_FAISS and index is not None:\n",
|
||||
" D, I = index.search(qv, top_k)\n",
|
||||
" hits = list(zip(I[0].tolist(), D[0].tolist()))\n",
|
||||
" else:\n",
|
||||
" sims = (xb @ qv.T).ravel()\n",
|
||||
" I = np.argsort(-sims)[:top_k]\n",
|
||||
" hits = [(int(i), float(sims[i])) for i in I]\n",
|
||||
" return hits\n",
|
||||
"\n",
|
||||
"# quick smoke test (no error means it's wired up)\n",
|
||||
"print(search(\"What does this corpus talk about?\", 3))\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0046d618",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 7) Synthesize Grounded Q&A / Instructions with Ollama\n",
|
||||
"\n",
|
||||
"We sample chunks, retrieve neighbors for richer context, and prompt a local LLM to create **high-quality** pairs.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"id": "1d12cf4f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"GEN_ENDPOINT = f\"{OLLAMA_URL}/api/generate\"\n",
|
||||
"\n",
|
||||
"SYSTEM_PROMPT = (\n",
|
||||
" \"You are a careful dataset writer. Given only the provided CONTEXT, craft high-quality, factual \"\n",
|
||||
" \"question–answer pairs for supervised fine-tuning. Answers must be grounded strictly in the context. \"\n",
|
||||
" \"If the context lacks the answer, say 'INSUFFICIENT_CONTEXT'. Focus on clarity, specificity, and avoid hallucinations.\"\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"USER_PROMPT_TEMPLATE = (\n",
|
||||
" \"CONTEXT:\\n\\n{context}\\n\\n\"\n",
|
||||
" \"Task: Produce {n} diverse Q&A pairs about the content above. \"\n",
|
||||
" \"Use JSON lines (one JSON object per line) with keys: 'input' (question/instruction), 'output' (concise grounded answer), \"\n",
|
||||
" \"'meta' (object with 'source_path', 'chunk_ids', and optional 'citations': list of quotes). \"\n",
|
||||
" \"Do NOT include markdown; output JSON objects only.\"\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"def ollama_generate(prompt: str, model: str = GEN_MODEL, temperature: float = TEMPERATURE, num_predict: int = MAX_TOKENS_GEN) -> str:\n",
|
||||
" payload = {\n",
|
||||
" \"model\": model,\n",
|
||||
" \"prompt\": prompt,\n",
|
||||
" \"system\": SYSTEM_PROMPT,\n",
|
||||
" \"options\": {\n",
|
||||
" \"temperature\": temperature,\n",
|
||||
" \"num_predict\": num_predict\n",
|
||||
" },\n",
|
||||
" \"stream\": False\n",
|
||||
" }\n",
|
||||
" r = requests.post(GEN_ENDPOINT, json=payload)\n",
|
||||
" r.raise_for_status()\n",
|
||||
" data = r.json()\n",
|
||||
" return data.get(\"response\", \"\")\n",
|
||||
"\n",
|
||||
"def build_context(primary_idx: int, k: int = TOP_K) -> Tuple[str, List[str]]:\n",
|
||||
" primary_chunk = all_chunks[primary_idx]\n",
|
||||
" query = primary_chunk.text[:400] # use the start of the chunk as a pseudo-query\n",
|
||||
" hits = search(query, k)\n",
|
||||
" pieces, ids = [], []\n",
|
||||
" for i, score in hits:\n",
|
||||
" ch = all_chunks[i]\n",
|
||||
" ids.append(ch.id)\n",
|
||||
" pieces.append(f\"[{Path(ch.doc_path).name}::{ch.start}-{ch.end}]\\n{ch.text}\")\n",
|
||||
" return \"\\n\\n---\\n\\n\".join(pieces), ids\n",
|
||||
"\n",
|
||||
"def parse_llm_jsonl(text: str) -> List[Dict[str, Any]]:\n",
|
||||
" rows = []\n",
|
||||
" for line in text.splitlines():\n",
|
||||
" line = line.strip()\n",
|
||||
" if not line:\n",
|
||||
" continue\n",
|
||||
" # be forgiving for trailing commas etc.\n",
|
||||
" try:\n",
|
||||
" obj = json.loads(line)\n",
|
||||
" if isinstance(obj, dict):\n",
|
||||
" rows.append(obj)\n",
|
||||
" except Exception:\n",
|
||||
" # try to salvage with regex for JSON-ish\n",
|
||||
" try:\n",
|
||||
" fixed = regex.sub(r\",\\s*}\", \"}\", line)\n",
|
||||
" fixed = regex.sub(r\",\\s*]\", \"]\", fixed)\n",
|
||||
" obj = json.loads(fixed)\n",
|
||||
" if isinstance(obj, dict):\n",
|
||||
" rows.append(obj)\n",
|
||||
" except Exception:\n",
|
||||
" pass\n",
|
||||
" return rows\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ab8c47f2",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 8) Generate the RAFT Dataset\n",
|
||||
"\n",
|
||||
"This step iterates over documents, samples chunks, retrieves neighbors, and asks the model to produce JSONL rows.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "74493d61",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "KeyboardInterrupt",
|
||||
"evalue": "",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
||||
"\u001b[31mKeyboardInterrupt\u001b[39m Traceback (most recent call last)",
|
||||
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[13]\u001b[39m\u001b[32m, line 43\u001b[39m\n\u001b[32m 40\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33m[green]Wrote \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtotal_target\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m rows -> \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mout_path\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m[/green]\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 41\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m out_path\n\u001b[32m---> \u001b[39m\u001b[32m43\u001b[39m OUT_JSONL = \u001b[43msynthesize_dataset\u001b[49m\u001b[43m(\u001b[49m\u001b[43msamples_per_doc\u001b[49m\u001b[43m=\u001b[49m\u001b[43mSAMPLES_PER_DOC\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 44\u001b[39m OUT_JSONL\n",
|
||||
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[13]\u001b[39m\u001b[32m, line 20\u001b[39m, in \u001b[36msynthesize_dataset\u001b[39m\u001b[34m(samples_per_doc, out_path)\u001b[39m\n\u001b[32m 18\u001b[39m ctx, ids = build_context(pi, k=TOP_K)\n\u001b[32m 19\u001b[39m user = USER_PROMPT_TEMPLATE.format(context=ctx, n=\u001b[32m3\u001b[39m)\n\u001b[32m---> \u001b[39m\u001b[32m20\u001b[39m raw = \u001b[43mollama_generate\u001b[49m\u001b[43m(\u001b[49m\u001b[43muser\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m=\u001b[49m\u001b[43mGEN_MODEL\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtemperature\u001b[49m\u001b[43m=\u001b[49m\u001b[43mTEMPERATURE\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_predict\u001b[49m\u001b[43m=\u001b[49m\u001b[43mMAX_TOKENS_GEN\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 21\u001b[39m rows = parse_llm_jsonl(raw)\n\u001b[32m 22\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m rows:\n\u001b[32m 23\u001b[39m \u001b[38;5;66;03m# enforce schema & enrich meta\u001b[39;00m\n",
|
||||
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[9]\u001b[39m\u001b[32m, line 28\u001b[39m, in \u001b[36mollama_generate\u001b[39m\u001b[34m(prompt, model, temperature, num_predict)\u001b[39m\n\u001b[32m 17\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mollama_generate\u001b[39m(prompt: \u001b[38;5;28mstr\u001b[39m, model: \u001b[38;5;28mstr\u001b[39m = GEN_MODEL, temperature: \u001b[38;5;28mfloat\u001b[39m = TEMPERATURE, num_predict: \u001b[38;5;28mint\u001b[39m = MAX_TOKENS_GEN) -> \u001b[38;5;28mstr\u001b[39m:\n\u001b[32m 18\u001b[39m payload = {\n\u001b[32m 19\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mmodel\u001b[39m\u001b[33m\"\u001b[39m: model,\n\u001b[32m 20\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mprompt\u001b[39m\u001b[33m\"\u001b[39m: prompt,\n\u001b[32m (...)\u001b[39m\u001b[32m 26\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mstream\u001b[39m\u001b[33m\"\u001b[39m: \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[32m 27\u001b[39m }\n\u001b[32m---> \u001b[39m\u001b[32m28\u001b[39m r = \u001b[43mrequests\u001b[49m\u001b[43m.\u001b[49m\u001b[43mpost\u001b[49m\u001b[43m(\u001b[49m\u001b[43mGEN_ENDPOINT\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mjson\u001b[49m\u001b[43m=\u001b[49m\u001b[43mpayload\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 29\u001b[39m r.raise_for_status()\n\u001b[32m 30\u001b[39m data = r.json()\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/repo/jupyter-ai-test/.env/lib/python3.12/site-packages/requests/api.py:115\u001b[39m, in \u001b[36mpost\u001b[39m\u001b[34m(url, data, json, **kwargs)\u001b[39m\n\u001b[32m 103\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mpost\u001b[39m(url, data=\u001b[38;5;28;01mNone\u001b[39;00m, json=\u001b[38;5;28;01mNone\u001b[39;00m, **kwargs):\n\u001b[32m 104\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33mr\u001b[39m\u001b[33;03m\"\"\"Sends a POST request.\u001b[39;00m\n\u001b[32m 105\u001b[39m \n\u001b[32m 106\u001b[39m \u001b[33;03m :param url: URL for the new :class:`Request` object.\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 112\u001b[39m \u001b[33;03m :rtype: requests.Response\u001b[39;00m\n\u001b[32m 113\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m115\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mpost\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mjson\u001b[49m\u001b[43m=\u001b[49m\u001b[43mjson\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/repo/jupyter-ai-test/.env/lib/python3.12/site-packages/requests/api.py:59\u001b[39m, in \u001b[36mrequest\u001b[39m\u001b[34m(method, url, **kwargs)\u001b[39m\n\u001b[32m 55\u001b[39m \u001b[38;5;66;03m# By using the 'with' statement we are sure the session is closed, thus we\u001b[39;00m\n\u001b[32m 56\u001b[39m \u001b[38;5;66;03m# avoid leaving sockets open which can trigger a ResourceWarning in some\u001b[39;00m\n\u001b[32m 57\u001b[39m \u001b[38;5;66;03m# cases, and look like a memory leak in others.\u001b[39;00m\n\u001b[32m 58\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m sessions.Session() \u001b[38;5;28;01mas\u001b[39;00m session:\n\u001b[32m---> \u001b[39m\u001b[32m59\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43msession\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m=\u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m=\u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/repo/jupyter-ai-test/.env/lib/python3.12/site-packages/requests/sessions.py:589\u001b[39m, in \u001b[36mSession.request\u001b[39m\u001b[34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001b[39m\n\u001b[32m 584\u001b[39m send_kwargs = {\n\u001b[32m 585\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mtimeout\u001b[39m\u001b[33m\"\u001b[39m: timeout,\n\u001b[32m 586\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mallow_redirects\u001b[39m\u001b[33m\"\u001b[39m: allow_redirects,\n\u001b[32m 587\u001b[39m }\n\u001b[32m 588\u001b[39m send_kwargs.update(settings)\n\u001b[32m--> \u001b[39m\u001b[32m589\u001b[39m resp = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43msend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprep\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43msend_kwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 591\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m resp\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/repo/jupyter-ai-test/.env/lib/python3.12/site-packages/requests/sessions.py:703\u001b[39m, in \u001b[36mSession.send\u001b[39m\u001b[34m(self, request, **kwargs)\u001b[39m\n\u001b[32m 700\u001b[39m start = preferred_clock()\n\u001b[32m 702\u001b[39m \u001b[38;5;66;03m# Send the request\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m703\u001b[39m r = \u001b[43madapter\u001b[49m\u001b[43m.\u001b[49m\u001b[43msend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 705\u001b[39m \u001b[38;5;66;03m# Total elapsed time of the request (approximately)\u001b[39;00m\n\u001b[32m 706\u001b[39m elapsed = preferred_clock() - start\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/repo/jupyter-ai-test/.env/lib/python3.12/site-packages/requests/adapters.py:667\u001b[39m, in \u001b[36mHTTPAdapter.send\u001b[39m\u001b[34m(self, request, stream, timeout, verify, cert, proxies)\u001b[39m\n\u001b[32m 664\u001b[39m timeout = TimeoutSauce(connect=timeout, read=timeout)\n\u001b[32m 666\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m667\u001b[39m resp = \u001b[43mconn\u001b[49m\u001b[43m.\u001b[49m\u001b[43murlopen\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 668\u001b[39m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m.\u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 669\u001b[39m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m=\u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 670\u001b[39m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m.\u001b[49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 671\u001b[39m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m.\u001b[49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 672\u001b[39m \u001b[43m \u001b[49m\u001b[43mredirect\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[32m 673\u001b[39m \u001b[43m \u001b[49m\u001b[43massert_same_host\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[32m 674\u001b[39m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[32m 675\u001b[39m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[32m 676\u001b[39m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mmax_retries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 677\u001b[39m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m=\u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 678\u001b[39m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[43m=\u001b[49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 679\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 681\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m (ProtocolError, \u001b[38;5;167;01mOSError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[32m 682\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m(err, request=request)\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/repo/jupyter-ai-test/.env/lib/python3.12/site-packages/urllib3/connectionpool.py:787\u001b[39m, in \u001b[36mHTTPConnectionPool.urlopen\u001b[39m\u001b[34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[39m\n\u001b[32m 784\u001b[39m response_conn = conn \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m release_conn \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m 786\u001b[39m \u001b[38;5;66;03m# Make the request on the HTTPConnection object\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m787\u001b[39m response = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_make_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 788\u001b[39m \u001b[43m \u001b[49m\u001b[43mconn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 789\u001b[39m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 790\u001b[39m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 791\u001b[39m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m=\u001b[49m\u001b[43mtimeout_obj\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 792\u001b[39m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[43m=\u001b[49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 793\u001b[39m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[43m=\u001b[49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 794\u001b[39m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[43m=\u001b[49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 795\u001b[39m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[43m=\u001b[49m\u001b[43mretries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 796\u001b[39m \u001b[43m \u001b[49m\u001b[43mresponse_conn\u001b[49m\u001b[43m=\u001b[49m\u001b[43mresponse_conn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 797\u001b[39m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[43m=\u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 798\u001b[39m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 799\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mresponse_kw\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 800\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 802\u001b[39m \u001b[38;5;66;03m# Everything went great!\u001b[39;00m\n\u001b[32m 803\u001b[39m clean_exit = \u001b[38;5;28;01mTrue\u001b[39;00m\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/repo/jupyter-ai-test/.env/lib/python3.12/site-packages/urllib3/connectionpool.py:534\u001b[39m, in \u001b[36mHTTPConnectionPool._make_request\u001b[39m\u001b[34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[39m\n\u001b[32m 532\u001b[39m \u001b[38;5;66;03m# Receive the response from the server\u001b[39;00m\n\u001b[32m 533\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m534\u001b[39m response = \u001b[43mconn\u001b[49m\u001b[43m.\u001b[49m\u001b[43mgetresponse\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 535\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m (BaseSSLError, \u001b[38;5;167;01mOSError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 536\u001b[39m \u001b[38;5;28mself\u001b[39m._raise_timeout(err=e, url=url, timeout_value=read_timeout)\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/repo/jupyter-ai-test/.env/lib/python3.12/site-packages/urllib3/connection.py:516\u001b[39m, in \u001b[36mHTTPConnection.getresponse\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 513\u001b[39m _shutdown = \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mself\u001b[39m.sock, \u001b[33m\"\u001b[39m\u001b[33mshutdown\u001b[39m\u001b[33m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[32m 515\u001b[39m \u001b[38;5;66;03m# Get the response from http.client.HTTPConnection\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m516\u001b[39m httplib_response = \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m.\u001b[49m\u001b[43mgetresponse\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 518\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 519\u001b[39m assert_header_parsing(httplib_response.msg)\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/.pyenv/versions/3.12.12/lib/python3.12/http/client.py:1430\u001b[39m, in \u001b[36mHTTPConnection.getresponse\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1428\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 1429\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1430\u001b[39m \u001b[43mresponse\u001b[49m\u001b[43m.\u001b[49m\u001b[43mbegin\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1431\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m:\n\u001b[32m 1432\u001b[39m \u001b[38;5;28mself\u001b[39m.close()\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/.pyenv/versions/3.12.12/lib/python3.12/http/client.py:331\u001b[39m, in \u001b[36mHTTPResponse.begin\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 329\u001b[39m \u001b[38;5;66;03m# read until we get a non-100 response\u001b[39;00m\n\u001b[32m 330\u001b[39m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m331\u001b[39m version, status, reason = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_read_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 332\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m status != CONTINUE:\n\u001b[32m 333\u001b[39m \u001b[38;5;28;01mbreak\u001b[39;00m\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/.pyenv/versions/3.12.12/lib/python3.12/http/client.py:292\u001b[39m, in \u001b[36mHTTPResponse._read_status\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 291\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_read_status\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[32m--> \u001b[39m\u001b[32m292\u001b[39m line = \u001b[38;5;28mstr\u001b[39m(\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mfp\u001b[49m\u001b[43m.\u001b[49m\u001b[43mreadline\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_MAXLINE\u001b[49m\u001b[43m \u001b[49m\u001b[43m+\u001b[49m\u001b[43m \u001b[49m\u001b[32;43m1\u001b[39;49m\u001b[43m)\u001b[49m, \u001b[33m\"\u001b[39m\u001b[33miso-8859-1\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 293\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(line) > _MAXLINE:\n\u001b[32m 294\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m LineTooLong(\u001b[33m\"\u001b[39m\u001b[33mstatus line\u001b[39m\u001b[33m\"\u001b[39m)\n",
|
||||
"\u001b[36mFile \u001b[39m\u001b[32m~/.pyenv/versions/3.12.12/lib/python3.12/socket.py:720\u001b[39m, in \u001b[36mSocketIO.readinto\u001b[39m\u001b[34m(self, b)\u001b[39m\n\u001b[32m 718\u001b[39m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[32m 719\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m720\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_sock\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrecv_into\u001b[49m\u001b[43m(\u001b[49m\u001b[43mb\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 721\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m timeout:\n\u001b[32m 722\u001b[39m \u001b[38;5;28mself\u001b[39m._timeout_occurred = \u001b[38;5;28;01mTrue\u001b[39;00m\n",
|
||||
"\u001b[31mKeyboardInterrupt\u001b[39m: "
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"import datetime\n",
|
||||
"import time\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def synthesize_dataset(samples_per_doc: int = SAMPLES_PER_DOC, out_path: Path = OUTPUT_DIR / \"raft_dataset.jsonl\") -> Path:\n",
|
||||
" rng = random.Random(SEED)\n",
|
||||
" doc_to_chunk_idx = {}\n",
|
||||
" for i, ch in enumerate(all_chunks):\n",
|
||||
" doc_to_chunk_idx.setdefault(ch.doc_path, []).append(i)\n",
|
||||
"\n",
|
||||
" total_target = 0\n",
|
||||
" with out_path.open(\"w\", encoding=\"utf-8\") as f:\n",
|
||||
" for doc_path, idxs in doc_to_chunk_idx.items():\n",
|
||||
" print(f\"[blue]Synthesizing for: {doc_path} ({len(idxs)} chunks)[/blue]\")\n",
|
||||
" doc_idx = list(doc_to_chunk_idx.keys()).index(doc_path)\n",
|
||||
" total_docs = len(doc_to_chunk_idx)\n",
|
||||
" percent = (doc_idx + 1) / total_docs * 100\n",
|
||||
" print(f\"[cyan]Progress: {doc_idx + 1}/{total_docs} ({percent:.1f}%) completed[/cyan]\")\n",
|
||||
" if not idxs:\n",
|
||||
" continue\n",
|
||||
" chosen = rng.sample(idxs, min(samples_per_doc, len(idxs)))\n",
|
||||
" for pi in chosen:\n",
|
||||
" ctx, ids = build_context(pi, k=TOP_K)\n",
|
||||
" user = USER_PROMPT_TEMPLATE.format(context=ctx, n=3)\n",
|
||||
" raw = ollama_generate(user, model=GEN_MODEL, temperature=TEMPERATURE, num_predict=MAX_TOKENS_GEN)\n",
|
||||
" rows = parse_llm_jsonl(raw)\n",
|
||||
" for r in rows:\n",
|
||||
" # enforce schema & enrich meta\n",
|
||||
" inp = r.get(\"input\") or r.get(\"question\") or r.get(\"query\")\n",
|
||||
" out = r.get(\"output\") or r.get(\"answer\") or r.get(\"response\")\n",
|
||||
" meta = r.get(\"meta\") or {}\n",
|
||||
" if not isinstance(meta, dict):\n",
|
||||
" meta = {}\n",
|
||||
" meta.update({\n",
|
||||
" \"source_path\": str(doc_path),\n",
|
||||
" \"chunk_ids\": ids,\n",
|
||||
" \"generated_at\": datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S'),\n",
|
||||
" \"model\": GEN_MODEL,\n",
|
||||
" \"embed_model\": EMBED_MODEL\n",
|
||||
" })\n",
|
||||
" if inp and out:\n",
|
||||
" obj = {\"input\": inp, \"output\": out, \"meta\": meta}\n",
|
||||
" f.write(json.dumps(obj, ensure_ascii=False) + \"\\n\")\n",
|
||||
" total_target += 1\n",
|
||||
" print(f\"[green]Wrote {total_target} rows -> {out_path}[/green]\")\n",
|
||||
" return out_path\n",
|
||||
"\n",
|
||||
"OUT_JSONL = synthesize_dataset(samples_per_doc=SAMPLES_PER_DOC)\n",
|
||||
"OUT_JSONL\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2b7d110c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 9) Preview Samples\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "73dbd2e8",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"from itertools import islice\n",
|
||||
"\n",
|
||||
"def head_jsonl(p: Path, n: int = 5):\n",
|
||||
" with p.open(\"r\", encoding=\"utf-8\") as f:\n",
|
||||
" for line in islice(f, n):\n",
|
||||
" print(line.rstrip())\n",
|
||||
"\n",
|
||||
"head_jsonl(OUT_JSONL, 5)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "769567bf",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 10) Optional: Spot-Check Generation Quality\n",
|
||||
"\n",
|
||||
"Run a tiny evaluation by asking the model with and without retrieval and compare answers.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "18c7d3d7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"EVAL_QUESTIONS = []\n",
|
||||
"\n",
|
||||
"# Collect inputs from the dataset (first N)\n",
|
||||
"with (OUTPUT_DIR / \"raft_dataset.jsonl\").open(\"r\", encoding=\"utf-8\") as f:\n",
|
||||
" for i, line in enumerate(f):\n",
|
||||
" try:\n",
|
||||
" obj = json.loads(line)\n",
|
||||
" EVAL_QUESTIONS.append(obj[\"input\"])\n",
|
||||
" except Exception:\n",
|
||||
" pass\n",
|
||||
" if len(EVAL_QUESTIONS) >= 5:\n",
|
||||
" break\n",
|
||||
"\n",
|
||||
"def rag_answer(q: str, k: int = TOP_K) -> str:\n",
|
||||
" hits = search(q, k)\n",
|
||||
" ctx = \"\\n\\n\".join([all_chunks[i].text for i,_ in hits])\n",
|
||||
" user = f\"Answer the question using ONLY this context. If missing, say INSUFFICIENT_CONTEXT.\\n\\nCONTEXT:\\n{ctx}\\n\\nQUESTION: {q}\"\n",
|
||||
" return ollama_generate(user, model=GEN_MODEL, temperature=0.2, num_predict=256)\n",
|
||||
"\n",
|
||||
"for q in EVAL_QUESTIONS:\n",
|
||||
" print(\"\\n[bold]Q:[/bold]\", q)\n",
|
||||
" ans = rag_answer(q)\n",
|
||||
" print(\"[bold]A:[/bold]\", ans.strip()[:500], \"...\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "065a54cf",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 11) Artifacts\n",
|
||||
"\n",
|
||||
"- `outputs/raft_dataset.jsonl` — your RAFT dataset (input/output/meta per line)\n",
|
||||
"- `corpus/` — your source documents (you provide)\n",
|
||||
"- You can also persist `emb_matrix.npy` and a FAISS index for reuse.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "300fe34e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"# Optionally persist embeddings and index for later reuse\n",
|
||||
"np.save(OUTPUT_DIR / \"emb_matrix.npy\", emb_matrix)\n",
|
||||
"\n",
|
||||
"if USE_FAISS:\n",
|
||||
" import faiss\n",
|
||||
" faiss.write_index(index, str(OUTPUT_DIR / \"faiss.index\"))\n",
|
||||
" print(\"[green]Saved FAISS index and embeddings.[/green]\")\n",
|
||||
"else:\n",
|
||||
" print(\"[yellow]FAISS disabled; only saved embeddings.[/yellow]\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "7bc8f310",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"## 12) Troubleshooting\n",
|
||||
"\n",
|
||||
"- **Connection error to Ollama**: ensure `ollama serve` is running and models are pulled (`ollama pull nomic-embed-text`, `ollama pull llama3.1`).\n",
|
||||
"- **Empty dataset**: your corpus may be too small or the parser skipped files. Check `corpus/` content and chunk parameters.\n",
|
||||
"- **Hallucinations**: tighten the system prompt, lower temperature, or increase `TOP_K` and chunk size.\n",
|
||||
"- **JSON parsing issues**: the notebook tries to be forgiving; you can harden `parse_llm_jsonl` per your needs.\n",
|
||||
"- **PDFs**: `pip install pypdf` and try again.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": ".env",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.12"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Reference in New Issue
Block a user