mirror of
https://github.com/bendtherules/ask262.git
synced 2026-08-18 13:21:55 +00:00
23dcdd2f4f8dc4f375d20dfdbb2e79fa5ae430fe
Added a comprehensive markdown plan (.opencode/plans/1774872124705-glowing-river.md) outlining the migration from LlamaIndex to LangChain.js with LanceDB. Includes updated dependencies, file modification list, and detailed code changes for `ingest.ts` and `agent.ts`. This serves as documentation for the migration process.
RAG Pipeline for Language Specification Exploration
This project implements a RAG-based AI chat agent to explore the ECMAScript specification and its implementation in engine262.
Prerequisites
- Node.js: Version 18+
- Ollama: Installed locally with an embedding model (e.g.,
nomic-embed-text) - OpenAI-compatible Endpoint: A hosted or local LLM service
Setup
-
Install dependencies:
npm install -
Prepare environment:
export OPENAI_API_BASE="your_endpoint_base_url" export OPENAI_API_KEY="your_api_key" -
Clone specification: (Ensure
./spec-built/multipagecontains the HTML files) -
Ingest data:
node ingest.mjsNote: This will take significant time as it generates local embeddings via Ollama for both the spec and the implementation.
-
Build graph:
node build_graph.mjs
Usage
Ask the agent questions about how code relates to the specification:
node agent.mjs "Explain how the 'if' statement works and show its implementation."
The agent will use tools to search the specification, explore the implementation code, and navigate the relationships between them using the graph.
Languages
HTML
49%
JavaScript
32.7%
TypeScript
18.3%