tc-ai-experiments

Experiments from learning AI engineering at Turing College. Each folder is an independent project with its own dependencies, README and findings. They’re here to share what turned up and to discuss it with other learners.

Projects

Project The question What turned up Pages
embedding-model-comparison Do different embedding models relate the same people in the same way? The models mostly agree, but every one groups people by gender more than by field. Marie Curie is where they disagree most. Comparison · 3D map
rag-langchain What happens at each step of a semantic search + RAG pipeline (LangChain, Chroma), and how do you evaluate it? Chunks group by artist, not by genre. Answers are capped by what retrieval finds. In an LLM-as-judge evaluation, capping chunks per artist found every expected artist, but answers only improved at 2 per artist: breadth costs depth. LLM re-ranking fixed some crowding, but scoring 30 chunks in one call underrated the ones further down, and at default temperature the scores were noisy. With no retrieval at all, every profile in the prompt, answers were the most correct: the dataset fits in the context. Walkthrough · Embedding map · Evaluation
ragas-evaluation What does the real RAGAS library say about the same pipeline, and can you trust its judge? Faithfulness passed a birth date presented as a career start, because the profile labelled it “Active since”. The small judge contradicted its own reasons. A plain rule beat it at spotting “I don’t know”. On the same 161 claims, the two judges agree 90% of the time, but the choice of judge moves faithfulness more than the retrieval strategies did. Report · Two judges · Walkthrough
agent-tools-mcp How does a LangChain agent decide on and run tools, local and over MCP? The LLM only asks for tools; a LangGraph loop runs them and resends every message on each call, about 1,400 tokens of tool schemas before any question. MCP tools look the same to the model but each call took about 300 ms, against 0 ms locally. A date tool mattered less for the main answer, which the model got right on its own, than for checking the alternatives it suggested. Flow

The pages are self-contained HTML from each project’s latest run, so you can open them without installing anything or needing an API key.

Running a project

Each project runs on its own:

cd rag-langchain
npm install
cp .env.example .env   # then add your OpenRouter key

Then follow that project’s README. agent-tools-mcp is Python: it uses uv sync instead of npm install. The projects use OpenRouter for models, and runs cost a fraction of a cent.

Discussing

Questions, ideas and your own results go in Discussions. Found a bug or a wrong number? Open an issue.

Adding a project