eat: make Gemma 4 the default model, enable thinking mode

This commit is contained in:
Aaron Po
2026-04-10 21:43:18 -04:00
parent 61d5077a95
commit 902bda6eb9
16 changed files with 263 additions and 558 deletions

View File

@@ -7,6 +7,18 @@
*/
#include <string>
#include <string_view>
/**
* @brief Non-owning brewery location input.
*/
struct BreweryLocation {
/// @brief City name.
std::string_view city_name;
/// @brief Country name.
std::string_view country_name;
};
/**
* @brief Generated brewery payload.
@@ -41,13 +53,11 @@ class DataGenerator {
/**
* @brief Generates brewery data for a location.
*
* @param city_name City name.
* @param country_name Country name.
* @param location City and country names.
* @param region_context Additional regional context text.
* @return Brewery generation result.
*/
virtual BreweryResult GenerateBrewery(const std::string& city_name,
const std::string& country_name,
virtual BreweryResult GenerateBrewery(const BreweryLocation& location,
const std::string& region_context) = 0;
/**

View File

@@ -9,6 +9,7 @@
#include <cstdint>
#include <random>
#include <string>
#include <string_view>
#include "data_generation/data_generator.h"
@@ -38,13 +39,11 @@ class LlamaGenerator final : public DataGenerator {
/**
* @brief Generates brewery data for a specific location.
*
* @param city_name City name.
* @param country_name Country name.
* @param location City and country names.
* @param region_context Additional regional context.
* @return Generated brewery result.
*/
BreweryResult GenerateBrewery(const std::string& city_name,
const std::string& country_name,
BreweryResult GenerateBrewery(const BreweryLocation& location,
const std::string& region_context) override;
/**
@@ -113,8 +112,9 @@ class LlamaGenerator final : public DataGenerator {
llama_model* model_ = nullptr;
llama_context* context_ = nullptr;
float sampling_temperature_ = 0.8f;
float sampling_top_p_ = 0.92f;
float sampling_temperature_ = 1.0F;
float sampling_top_p_ = 0.95F;
uint32_t sampling_top_k_ = 64;
std::mt19937 rng_;
uint32_t n_ctx_ = 8192;
std::string brewery_system_prompt_;

View File

@@ -7,6 +7,7 @@
*/
#include <string>
#include <string_view>
#include <vector>
#include "data_generation/data_generator.h"
@@ -19,13 +20,11 @@ class MockGenerator final : public DataGenerator {
/**
* @brief Generates deterministic brewery data for a location.
*
* @param city_name City name.
* @param country_name Country name.
* @param location City and country names.
* @param region_context Unused for mock generation.
* @return Generated brewery result.
*/
BreweryResult GenerateBrewery(const std::string& city_name,
const std::string& country_name,
BreweryResult GenerateBrewery(const BreweryLocation& location,
const std::string& region_context) override;
/**
@@ -40,12 +39,10 @@ class MockGenerator final : public DataGenerator {
/**
* @brief Combines two strings into a stable hash value.
*
* @param a First key.
* @param b Second key.
* @param location City and country names.
* @return Deterministic hash value.
*/
static std::size_t DeterministicHash(const std::string& a,
const std::string& b);
static std::size_t DeterministicHash(const BreweryLocation& location);
static const std::vector<std::string> kBreweryAdjectives;
static const std::vector<std::string> kBreweryNouns;