diff --git a/.env.template b/.env.template index c922fe54..47c7f997 100644 --- a/.env.template +++ b/.env.template @@ -99,6 +99,8 @@ LLM_ANTHROPIC_API_KEY=your-anthropic-api-key-here # DERIVER_PROVIDER=google # DERIVER_MODEL=gemini-2.5-flash-lite # DERIVER_TEMPERATURE= +# DERIVER_TOP_P= +# DERIVER_REPETITION_PENALTY= # DERIVER_DEDUPLICATE=true # DERIVER_MAX_OUTPUT_TOKENS=4096 # DERIVER_THINKING_BUDGET_TOKENS=1024 diff --git a/config.toml.example b/config.toml.example index b6b407dc..3f78e8ff 100644 --- a/config.toml.example +++ b/config.toml.example @@ -76,7 +76,9 @@ STALE_SESSION_TIMEOUT_MINUTES = 5 # QUEUE_ERROR_RETENTION_SECONDS = 2592000 # 30 days PROVIDER = "google" MODEL = "gemini-2.5-flash-lite" -# TEMPERATURE = 0.0 +# TEMPERATURE = 0.7 +# TOP_P = 0.9 +# REPETITION_PENALTY = 1.15 # BACKUP_PROVIDER = "anthropic" # BACKUP_MODEL = "claude-haiku-4-5" DEDUPLICATE = true diff --git a/docs/v3/contributing/configuration.mdx b/docs/v3/contributing/configuration.mdx index 57b77e40..9185636f 100644 --- a/docs/v3/contributing/configuration.mdx +++ b/docs/v3/contributing/configuration.mdx @@ -372,6 +372,8 @@ DERIVER_MAX_OUTPUT_TOKENS=4096 DERIVER_THINKING_BUDGET_TOKENS=1024 DERIVER_MAX_INPUT_TOKENS=23000 # Maximum input tokens for deriver DERIVER_TEMPERATURE= # Optional temperature override (unset by default) +DERIVER_TOP_P= # Optional nucleus sampling override (unset by default) +DERIVER_REPETITION_PENALTY= # Optional repetition penalty override (unset by default) # Backup provider (optional, must set both or neither) # DERIVER_BACKUP_PROVIDER=anthropic diff --git a/pyproject.toml b/pyproject.toml index aa0c0cf0..660fc11f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -93,11 +93,6 @@ asyncio_default_fixture_loop_scope = "session" addopts = "--strict-markers --cov=src/ --cov=sdks/python/src/honcho --cov-report=term-missing --ignore=tests/alembic" testpaths = ["tests"] pythonpath = ["src"] -filterwarnings = [ - "ignore::DeprecationWarning:cashews.*:", - "ignore::DeprecationWarning:websockets.*:", - "ignore::DeprecationWarning:uvicorn.*:", -] [tool.coverage.report] exclude_lines = [ diff --git a/src/config.py b/src/config.py index a500df5a..369b7ddc 100644 --- a/src/config.py +++ b/src/config.py @@ -253,7 +253,6 @@ class DeriverSettings(BackupLLMSettingsMixin, HonchoSettings): TEMPERATURE: float | None = None TOP_P: float | None = None REPETITION_PENALTY: float | None = None - NO_REPEAT_NGRAM_SIZE: int | None = None # Whether to deduplicate documents when creating them DEDUPLICATE: bool = True diff --git a/src/deriver/deriver.py b/src/deriver/deriver.py index 022e0d77..0266625d 100644 --- a/src/deriver/deriver.py +++ b/src/deriver/deriver.py @@ -133,7 +133,6 @@ async def process_representation_tasks_batch( temperature=settings.DERIVER.TEMPERATURE, top_p=settings.DERIVER.TOP_P, repetition_penalty=settings.DERIVER.REPETITION_PENALTY, - no_repeat_ngram_size=settings.DERIVER.NO_REPEAT_NGRAM_SIZE, stop_seqs=[" \n", "\n\n\n\n"], thinking_budget_tokens=settings.DERIVER.THINKING_BUDGET_TOKENS, max_input_tokens=settings.DERIVER.MAX_INPUT_TOKENS, diff --git a/src/utils/agent_tools.py b/src/utils/agent_tools.py index 2e8cf8e5..a1313ccf 100644 --- a/src/utils/agent_tools.py +++ b/src/utils/agent_tools.py @@ -1723,13 +1723,11 @@ async def create_tool_executor( Returns: String result describing what was done """ - logger.info(f"[tool call] {tool_name} {tool_input}") try: handler = _TOOL_HANDLERS.get(tool_name) if handler: result = await handler(ctx, tool_input) - logger.info(f"[tool result] {tool_name} {result}") return result return f"Unknown tool: {tool_name}" diff --git a/src/utils/clients.py b/src/utils/clients.py index 39dac35d..c3641b7b 100644 --- a/src/utils/clients.py +++ b/src/utils/clients.py @@ -575,7 +575,6 @@ async def _stream_final_response( temperature: float | None, top_p: float | None, repetition_penalty: float | None, - no_repeat_ngram_size: int | None, stop_seqs: list[str] | None, reasoning_effort: ReasoningEffortType, verbosity: VerbosityType, @@ -621,7 +620,6 @@ async def _stream_final_response( _get_effective_temperature(temperature), top_p, repetition_penalty, - no_repeat_ngram_size, stop_seqs, reasoning_effort, verbosity, @@ -651,7 +649,6 @@ async def _execute_tool_loop( temperature: float | None, top_p: float | None, repetition_penalty: float | None, - no_repeat_ngram_size: int | None, stop_seqs: list[str] | None, reasoning_effort: ReasoningEffortType, verbosity: VerbosityType, @@ -756,7 +753,6 @@ async def _execute_tool_loop( _get_effective_temperature(temperature), top_p, repetition_penalty, - no_repeat_ngram_size, stop_seqs, gpt5_reasoning_effort, gpt5_verbosity, @@ -822,7 +818,6 @@ async def _execute_tool_loop( temperature=temperature, top_p=top_p, repetition_penalty=repetition_penalty, - no_repeat_ngram_size=no_repeat_ngram_size, stop_seqs=stop_seqs, reasoning_effort=reasoning_effort, verbosity=verbosity, @@ -958,7 +953,6 @@ async def _execute_tool_loop( temperature=temperature, top_p=top_p, repetition_penalty=repetition_penalty, - no_repeat_ngram_size=no_repeat_ngram_size, stop_seqs=stop_seqs, reasoning_effort=reasoning_effort, verbosity=verbosity, @@ -997,7 +991,6 @@ async def _execute_tool_loop( _get_effective_temperature(temperature), top_p, repetition_penalty, - no_repeat_ngram_size, stop_seqs, reasoning_effort, verbosity, @@ -1205,7 +1198,6 @@ async def honcho_llm_call( temperature: float | None = None, top_p: float | None = None, repetition_penalty: float | None = None, - no_repeat_ngram_size: int | None = None, stop_seqs: list[str] | None = None, reasoning_effort: Literal["low", "medium", "high", "minimal"] | None = None, # OpenAI only @@ -1237,7 +1229,6 @@ async def honcho_llm_call( temperature: float | None = None, top_p: float | None = None, repetition_penalty: float | None = None, - no_repeat_ngram_size: int | None = None, stop_seqs: list[str] | None = None, reasoning_effort: Literal["low", "medium", "high", "minimal"] | None = None, # OpenAI only @@ -1269,7 +1260,6 @@ async def honcho_llm_call( temperature: float | None = None, top_p: float | None = None, repetition_penalty: float | None = None, - no_repeat_ngram_size: int | None = None, stop_seqs: list[str] | None = None, reasoning_effort: Literal["low", "medium", "high", "minimal"] | None = None, # OpenAI only @@ -1301,7 +1291,6 @@ async def honcho_llm_call( temperature: float | None = None, top_p: float | None = None, repetition_penalty: float | None = None, - no_repeat_ngram_size: int | None = None, stop_seqs: list[str] | None = None, reasoning_effort: Literal["low", "medium", "high", "minimal"] | None = None, # OpenAI only @@ -1457,7 +1446,6 @@ async def honcho_llm_call( _get_effective_temperature(temperature), top_p, repetition_penalty, - no_repeat_ngram_size, stop_seqs, gpt5_reasoning_effort, gpt5_verbosity, @@ -1477,7 +1465,6 @@ async def honcho_llm_call( _get_effective_temperature(temperature), top_p, repetition_penalty, - no_repeat_ngram_size, stop_seqs, gpt5_reasoning_effort, gpt5_verbosity, @@ -1563,7 +1550,6 @@ async def honcho_llm_call( temperature=temperature, top_p=top_p, repetition_penalty=repetition_penalty, - no_repeat_ngram_size=no_repeat_ngram_size, stop_seqs=stop_seqs, reasoning_effort=reasoning_effort, verbosity=verbosity, @@ -1603,7 +1589,6 @@ async def honcho_llm_call_inner( temperature: float | None = None, top_p: float | None = None, repetition_penalty: float | None = None, - no_repeat_ngram_size: int | None = None, stop_seqs: list[str] | None = None, reasoning_effort: Literal["low", "medium", "high", "minimal"] | None = None, # OpenAI only @@ -1627,7 +1612,6 @@ async def honcho_llm_call_inner( temperature: float | None = None, top_p: float | None = None, repetition_penalty: float | None = None, - no_repeat_ngram_size: int | None = None, stop_seqs: list[str] | None = None, reasoning_effort: Literal["low", "medium", "high", "minimal"] | None = None, # OpenAI only @@ -1651,7 +1635,6 @@ async def honcho_llm_call_inner( temperature: float | None = None, top_p: float | None = None, repetition_penalty: float | None = None, - no_repeat_ngram_size: int | None = None, stop_seqs: list[str] | None = None, reasoning_effort: Literal["low", "medium", "high", "minimal"] | None = None, # OpenAI only @@ -1674,7 +1657,6 @@ async def honcho_llm_call_inner( temperature: float | None = None, top_p: float | None = None, repetition_penalty: float | None = None, - no_repeat_ngram_size: int | None = None, stop_seqs: list[str] | None = None, reasoning_effort: Literal["low", "medium", "high", "minimal"] | None = None, # OpenAI only @@ -1929,8 +1911,6 @@ async def honcho_llm_call_inner( extra_body: dict[str, Any] = {} if repetition_penalty is not None: extra_body["repetition_penalty"] = repetition_penalty - if no_repeat_ngram_size is not None: - extra_body["no_repeat_ngram_size"] = no_repeat_ngram_size if extra_body: openai_params["extra_body"] = extra_body