mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 11:14:04 +00:00
111 lines
3.8 KiB
Python
111 lines
3.8 KiB
Python
"""
|
|
Interface for Anthropic's messages API
|
|
|
|
Use this to call LLMs in Anthropic /messages Request/Response format
|
|
"""
|
|
|
|
from typing import Dict, List, Optional, Union
|
|
|
|
from litellm.llms.anthropic.experimental_pass_through.handler import (
|
|
anthropic_messages as _async_anthropic_messages,
|
|
)
|
|
from litellm.types.llms.anthropic_messages.anthropic_response import (
|
|
AnthropicMessagesResponse,
|
|
)
|
|
|
|
|
|
async def acreate(
|
|
max_tokens: int,
|
|
messages: List[Dict],
|
|
model: str,
|
|
metadata: Optional[Dict] = None,
|
|
stop_sequences: Optional[List[str]] = None,
|
|
stream: Optional[bool] = False,
|
|
system: Optional[str] = None,
|
|
temperature: Optional[float] = 1.0,
|
|
thinking: Optional[Dict] = None,
|
|
tool_choice: Optional[Dict] = None,
|
|
tools: Optional[List[Dict]] = None,
|
|
top_k: Optional[int] = None,
|
|
top_p: Optional[float] = None,
|
|
**kwargs
|
|
) -> AnthropicMessagesResponse:
|
|
"""
|
|
Async wrapper for Anthropic's messages API
|
|
|
|
Args:
|
|
max_tokens (int): Maximum tokens to generate (required)
|
|
messages (List[Dict]): List of message objects with role and content (required)
|
|
model (str): Model name to use (required)
|
|
metadata (Dict, optional): Request metadata
|
|
stop_sequences (List[str], optional): Custom stop sequences
|
|
stream (bool, optional): Whether to stream the response
|
|
system (str, optional): System prompt
|
|
temperature (float, optional): Sampling temperature (0.0 to 1.0)
|
|
thinking (Dict, optional): Extended thinking configuration
|
|
tool_choice (Dict, optional): Tool choice configuration
|
|
tools (List[Dict], optional): List of tool definitions
|
|
top_k (int, optional): Top K sampling parameter
|
|
top_p (float, optional): Nucleus sampling parameter
|
|
**kwargs: Additional arguments
|
|
|
|
Returns:
|
|
Dict: Response from the API
|
|
"""
|
|
return await _async_anthropic_messages(
|
|
max_tokens=max_tokens,
|
|
messages=messages,
|
|
model=model,
|
|
metadata=metadata,
|
|
stop_sequences=stop_sequences,
|
|
stream=stream,
|
|
system=system,
|
|
temperature=temperature,
|
|
thinking=thinking,
|
|
tool_choice=tool_choice,
|
|
tools=tools,
|
|
top_k=top_k,
|
|
top_p=top_p,
|
|
**kwargs,
|
|
)
|
|
|
|
|
|
async def create(
|
|
max_tokens: int,
|
|
messages: List[Dict],
|
|
model: str,
|
|
metadata: Optional[Dict] = None,
|
|
stop_sequences: Optional[List[str]] = None,
|
|
stream: Optional[bool] = False,
|
|
system: Optional[str] = None,
|
|
temperature: Optional[float] = 1.0,
|
|
thinking: Optional[Dict] = None,
|
|
tool_choice: Optional[Dict] = None,
|
|
tools: Optional[List[Dict]] = None,
|
|
top_k: Optional[int] = None,
|
|
top_p: Optional[float] = None,
|
|
**kwargs
|
|
) -> AnthropicMessagesResponse:
|
|
"""
|
|
Async wrapper for Anthropic's messages API
|
|
|
|
Args:
|
|
max_tokens (int): Maximum tokens to generate (required)
|
|
messages (List[Dict]): List of message objects with role and content (required)
|
|
model (str): Model name to use (required)
|
|
metadata (Dict, optional): Request metadata
|
|
stop_sequences (List[str], optional): Custom stop sequences
|
|
stream (bool, optional): Whether to stream the response
|
|
system (str, optional): System prompt
|
|
temperature (float, optional): Sampling temperature (0.0 to 1.0)
|
|
thinking (Dict, optional): Extended thinking configuration
|
|
tool_choice (Dict, optional): Tool choice configuration
|
|
tools (List[Dict], optional): List of tool definitions
|
|
top_k (int, optional): Top K sampling parameter
|
|
top_p (float, optional): Nucleus sampling parameter
|
|
**kwargs: Additional arguments
|
|
|
|
Returns:
|
|
Dict: Response from the API
|
|
"""
|
|
raise NotImplementedError("This function is not implemented")
|