Rename Anthropic enable_prompt_caching_beta parameter to just enable_prompt_caching
This commit is contained in:
@@ -97,7 +97,7 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
|||||||
llm = AnthropicLLMService(
|
llm = AnthropicLLMService(
|
||||||
api_key=os.getenv("ANTHROPIC_API_KEY"),
|
api_key=os.getenv("ANTHROPIC_API_KEY"),
|
||||||
model="claude-3-7-sonnet-latest",
|
model="claude-3-7-sonnet-latest",
|
||||||
params=AnthropicLLMService.InputParams(enable_prompt_caching_beta=True),
|
params=AnthropicLLMService.InputParams(enable_prompt_caching=True),
|
||||||
)
|
)
|
||||||
llm.register_function("get_weather", get_weather)
|
llm.register_function("get_weather", get_weather)
|
||||||
llm.register_function("get_image", get_image)
|
llm.register_function("get_image", get_image)
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
|||||||
llm = AnthropicLLMService(
|
llm = AnthropicLLMService(
|
||||||
api_key=os.getenv("ANTHROPIC_API_KEY"),
|
api_key=os.getenv("ANTHROPIC_API_KEY"),
|
||||||
model="claude-3-7-sonnet-latest",
|
model="claude-3-7-sonnet-latest",
|
||||||
params=AnthropicLLMService.InputParams(enable_prompt_caching_beta=True),
|
params=AnthropicLLMService.InputParams(enable_prompt_caching=True),
|
||||||
)
|
)
|
||||||
llm.register_function("get_weather", get_weather)
|
llm.register_function("get_weather", get_weather)
|
||||||
llm.register_function("get_image", get_image)
|
llm.register_function("get_image", get_image)
|
||||||
|
|||||||
@@ -62,9 +62,11 @@ class AnthropicLLMAdapter(BaseLLMAdapter[AnthropicLLMInvocationParams]):
|
|||||||
messages = self._from_universal_context_messages(self._get_messages(context))
|
messages = self._from_universal_context_messages(self._get_messages(context))
|
||||||
return {
|
return {
|
||||||
"system": messages.system,
|
"system": messages.system,
|
||||||
"messages": self._with_cache_control_markers(messages.messages)
|
"messages": (
|
||||||
if enable_prompt_caching
|
self._with_cache_control_markers(messages.messages)
|
||||||
else messages.messages,
|
if enable_prompt_caching
|
||||||
|
else messages.messages
|
||||||
|
),
|
||||||
# NOTE: LLMContext's tools are guaranteed to be a ToolsSchema (or NOT_GIVEN)
|
# NOTE: LLMContext's tools are guaranteed to be a ToolsSchema (or NOT_GIVEN)
|
||||||
"tools": self.from_standard_tools(context.tools),
|
"tools": self.from_standard_tools(context.tools),
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,7 +115,12 @@ class AnthropicLLMService(LLMService):
|
|||||||
"""Input parameters for Anthropic model inference.
|
"""Input parameters for Anthropic model inference.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
enable_prompt_caching_beta: Whether to enable beta prompt caching feature.
|
enable_prompt_caching: Whether to enable the prompt caching feature.
|
||||||
|
enable_prompt_caching_beta (deprecated): Whether to enable the beta prompt caching feature.
|
||||||
|
|
||||||
|
.. deprecated:: 0.0.83
|
||||||
|
Use the `enable_prompt_caching` parameter instead.
|
||||||
|
|
||||||
max_tokens: Maximum tokens to generate. Must be at least 1.
|
max_tokens: Maximum tokens to generate. Must be at least 1.
|
||||||
temperature: Sampling temperature between 0.0 and 1.0.
|
temperature: Sampling temperature between 0.0 and 1.0.
|
||||||
top_k: Top-k sampling parameter.
|
top_k: Top-k sampling parameter.
|
||||||
@@ -123,7 +128,8 @@ class AnthropicLLMService(LLMService):
|
|||||||
extra: Additional parameters to pass to the API.
|
extra: Additional parameters to pass to the API.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
enable_prompt_caching_beta: Optional[bool] = False
|
enable_prompt_caching: Optional[bool] = None
|
||||||
|
enable_prompt_caching_beta: Optional[bool] = None
|
||||||
max_tokens: Optional[int] = Field(default_factory=lambda: 4096, ge=1)
|
max_tokens: Optional[int] = Field(default_factory=lambda: 4096, ge=1)
|
||||||
temperature: Optional[float] = Field(default_factory=lambda: NOT_GIVEN, ge=0.0, le=1.0)
|
temperature: Optional[float] = Field(default_factory=lambda: NOT_GIVEN, ge=0.0, le=1.0)
|
||||||
top_k: Optional[int] = Field(default_factory=lambda: NOT_GIVEN, ge=0)
|
top_k: Optional[int] = Field(default_factory=lambda: NOT_GIVEN, ge=0)
|
||||||
@@ -162,7 +168,15 @@ class AnthropicLLMService(LLMService):
|
|||||||
self._retry_on_timeout = retry_on_timeout
|
self._retry_on_timeout = retry_on_timeout
|
||||||
self._settings = {
|
self._settings = {
|
||||||
"max_tokens": params.max_tokens,
|
"max_tokens": params.max_tokens,
|
||||||
"enable_prompt_caching_beta": params.enable_prompt_caching_beta or False,
|
"enable_prompt_caching": (
|
||||||
|
params.enable_prompt_caching
|
||||||
|
if params.enable_prompt_caching is not None
|
||||||
|
else (
|
||||||
|
params.enable_prompt_caching_beta
|
||||||
|
if params.enable_prompt_caching_beta is not None
|
||||||
|
else False
|
||||||
|
)
|
||||||
|
),
|
||||||
"temperature": params.temperature,
|
"temperature": params.temperature,
|
||||||
"top_k": params.top_k,
|
"top_k": params.top_k,
|
||||||
"top_p": params.top_p,
|
"top_p": params.top_p,
|
||||||
@@ -222,7 +236,7 @@ class AnthropicLLMService(LLMService):
|
|||||||
if isinstance(context, LLMContext):
|
if isinstance(context, LLMContext):
|
||||||
adapter: AnthropicLLMAdapter = self.get_llm_adapter()
|
adapter: AnthropicLLMAdapter = self.get_llm_adapter()
|
||||||
params = adapter.get_llm_invocation_params(
|
params = adapter.get_llm_invocation_params(
|
||||||
context, enable_prompt_caching=self._settings["enable_prompt_caching_beta"]
|
context, enable_prompt_caching=self._settings["enable_prompt_caching"]
|
||||||
)
|
)
|
||||||
messages = params["messages"]
|
messages = params["messages"]
|
||||||
system = params["system"]
|
system = params["system"]
|
||||||
@@ -242,15 +256,6 @@ class AnthropicLLMService(LLMService):
|
|||||||
|
|
||||||
return response.content[0].text
|
return response.content[0].text
|
||||||
|
|
||||||
@property
|
|
||||||
def enable_prompt_caching_beta(self) -> bool:
|
|
||||||
"""Check if prompt caching beta feature is enabled.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
True if prompt caching is enabled.
|
|
||||||
"""
|
|
||||||
return self._enable_prompt_caching_beta
|
|
||||||
|
|
||||||
def create_context_aggregator(
|
def create_context_aggregator(
|
||||||
self,
|
self,
|
||||||
context: OpenAILLMContext,
|
context: OpenAILLMContext,
|
||||||
@@ -287,14 +292,14 @@ class AnthropicLLMService(LLMService):
|
|||||||
if isinstance(context, LLMContext):
|
if isinstance(context, LLMContext):
|
||||||
adapter: AnthropicLLMAdapter = self.get_llm_adapter()
|
adapter: AnthropicLLMAdapter = self.get_llm_adapter()
|
||||||
params = adapter.get_llm_invocation_params(
|
params = adapter.get_llm_invocation_params(
|
||||||
context, enable_prompt_caching=self._settings["enable_prompt_caching_beta"]
|
context, enable_prompt_caching=self._settings["enable_prompt_caching"]
|
||||||
)
|
)
|
||||||
return params
|
return params
|
||||||
|
|
||||||
# Anthropic-specific context
|
# Anthropic-specific context
|
||||||
messages = (
|
messages = (
|
||||||
context.get_messages_with_cache_control_markers()
|
context.get_messages_with_cache_control_markers()
|
||||||
if self._settings["enable_prompt_caching_beta"]
|
if self._settings["enable_prompt_caching"]
|
||||||
else context.messages
|
else context.messages
|
||||||
)
|
)
|
||||||
return AnthropicLLMInvocationParams(
|
return AnthropicLLMInvocationParams(
|
||||||
@@ -494,7 +499,7 @@ class AnthropicLLMService(LLMService):
|
|||||||
await self._update_settings(frame.settings)
|
await self._update_settings(frame.settings)
|
||||||
elif isinstance(frame, LLMEnablePromptCachingFrame):
|
elif isinstance(frame, LLMEnablePromptCachingFrame):
|
||||||
logger.debug(f"Setting enable prompt caching to: [{frame.enable}]")
|
logger.debug(f"Setting enable prompt caching to: [{frame.enable}]")
|
||||||
self._settings["enable_prompt_caching_beta"] = frame.enable
|
self._settings["enable_prompt_caching"] = frame.enable
|
||||||
else:
|
else:
|
||||||
await self.push_frame(frame, direction)
|
await self.push_frame(frame, direction)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user