zsyJosh
feat: ✨ SKB explorer
0c3992e
import time
from src.tools.api_lib import anthropic_client
def complete_text_claude(message,
model="claude-2.1",
json_object=False,
max_tokens=2048,
temperature=1,
max_retry=1,
sleep_time=0,
tools=[],
**kwargs
):
""" Call the Claude API to complete a prompt."""
if isinstance(message, str):
if json_object:
message = "You are a helpful assistant designed to output in JSON format." + message
messages = [{"role": "user", "content": message}]
else:
messages = message
for cnt in range(max_retry):
try:
message = anthropic_client.beta.tools.messages.create(
messages=messages,
model=model,
temperature=temperature,
max_tokens=max_tokens,
tools=tools,
**kwargs
)
completion = message.to_dict()
return completion["content"][0]['text']
except Exception as e:
print(cnt, "=>", e, f' [sleep for {sleep_time} sec]')
time.sleep(sleep_time)
raise e