Choose better results and keep context You can keep chat context, sample several candidates, select one result, cache responses, and observe steps. Add each option only when your feature needs that control. cpp academy academy/topics/gen-memory-sampling-hooks website/content-src/academy/course.mjs academy Choose better results and keep context
Unit 3 · Build a reliable AI-powered feature

Choose better results and keep context

You can keep chat context, sample several candidates, select one result, cache responses, and observe steps. Add each option only when your feature needs that control.

9 focused minutesNot started
Unit example (nearest native match)

See the idea in context

auto answer = axllm::ax("question:string -> answer:string");
  1. Carry relevant memory

    mem supplies conversation context owned by your application.

  2. Request candidates

    sampleCount asks for three possible results instead of one.

  3. Select with a rule

    resultPicker turns extra samples into a deliberate quality choice.

Run itIn your own project
include(FetchContent)
FetchContent_Declare(axllm GIT_REPOSITORY https://github.com/ax-llm/ax GIT_TAG main SOURCE_SUBDIR packages/cpp)
FetchContent_MakeAvailable(axllm)
target_link_libraries(your_app PRIVATE axllm::axllm)

#include <axllm/axllm.hpp>

auto llm = axllm::ai("openai", axllm::object({{"apiKey", std::getenv("OPENAI_API_KEY")}}));
auto classify = axllm::ax("review:string -> sentiment:class \"positive, negative, neutral\"");

Set OPENAI_APIKEY in your environment before running provider-backed code.

In the ax repo

From a clone of the ax repo:

npm run example -- cpp src/examples/cpp/generation/basic_generation.cpp
Active practice

Show that you can use it

Answer 2 in a row to learn this · attempt 1
Keep exploring

Source-backed follow-up