Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
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 | |