gabykim's picture
refactor package name to knowlang
60532a1
raw
history blame
1.52 kB
from typing import List
from knowlang.configs.config import ModelProvider, LLMConfig
from pydantic_ai.messages import ModelMessage
def _process_anthropic_batch(batched_input: List[List[ModelMessage]], config: LLMConfig) -> List[str]:
"""Helper function to process Anthropic LLM requests in batch."""
import anthropic
from anthropic.types.message_create_params import MessageCreateParamsNonStreaming
from anthropic.types.messages.batch_create_params import Request
from pydantic_ai.models.anthropic import AnthropicAgentModel
client = anthropic.Anthropic()
requests : List[Request] = []
for batch in batched_input:
system_prompt, anthropic_prompt = AnthropicAgentModel._map_message(batch)
requests.append(
Request(
custom_id="my-first-request",
params=MessageCreateParamsNonStreaming(
model=config.model_name,
max_tokens=1024,
messages=system_prompt,
messages=anthropic_prompt,
)
)
)
message_batch = client.messages.batches.create(
requests=requests,
)
print(message_batch)
def batch_process_requests(batched_input: List[List[ModelMessage]], config: LLMConfig) -> List[str]:
if config.model_provider == ModelProvider.ANTHROPIC:
return _process_anthropic_batch(batched_input, config)
else:
raise ValueError("Unsupported model provider for batch request processing")