Question Synthesis

Users often respond to questions with single-word answers that don’t offer much information for search. For example, a user may respond to a question about their favorite book with “Dune” or a question about their dietary restrictions with “dairy”.

Without context, many user messages lack information necessary to successfully embed a search query, resulting in poor or irrelevant search results.

Zep provides a low-latency question synthesis API that can be used to generate a question from the current conversation context, using the most recent message to center the question.

While it’s possible to synthesize a question using a general purpose LLM, this is often a slow and inaccurate exercise. Zep’s private, fine-tuned models are designed to return results in hundreds of milliseconds.

Want to see Question Synthesis in action? Take a look at Zep’s LangService VectorStore example.

1result = await client.memory.synthesize_question(session_id)
2print(result.question)
1assistant: Iceland can be expensive. Costs depend on factors like accommodations, activities, and dining preferences. However, you can expect to spend around $200-$300 per day, not including flights.
2user: Is it easy to find vegetarian or vegan food in Iceland?
3assistant: Yes, Reykjavik has several vegetarian and vegan-friendly restaurants. Do you have any dietary restrictions?
4user: Yes, dairy.
1Can the user eat dairy products?