I am a retrieval-augmented portfolio assistant with bounded conversation context, inspectable reference passages, and explicit failure handling. I am not an autonomous agent and cannot browse repositories or take actions.
Retrieval (RAG)
I search a curated corpus of Elizabeth's portfolio and resume using Qdrant. Follow-up retrieval includes recent user questions. Retrieved passages are reference material, not instructions.
Vector database
Qdrant Cloud computes multilingual-e5-small embeddings with query and passage prefixes. Corpus updates use a staged collection and an atomic alias switch.
Language model
I use an OpenAI model hosted on Azure through the standard OpenAI SDK. The endpoint, key, and deployment are server-side configuration. I do not use an Azure-specific SDK client.
Tracing and observability
When configured, Langfuse records retrieval timing, each generation attempt, usage, and final outcomes including failures and refusals. Tracing is not evidence that an answer is correct.
Guardrails
Input and history are bounded. The system prompt restricts scope and treats reference material as untrusted. Responses must satisfy a JSON contract and cite existing reference IDs. These checks do not prove semantic support or eliminate prompt injection.
Evaluation
The evaluation checks service success, response structure, required facts, unsupported claims specified in test cases, refusals, references, and follow-up questions. Human review is still needed for factual support beyond those checks.
Reliability
Requests have a deadline, cancellation, bounded retries, and rate limits. The interface shows progress, then the answer after contract validation. Failures are explicit and can be retried.