mshumer / gpt-investor

MIT License
2.24k stars 284 forks source link

Anthropic SDK available for python #17

Open bent-verbiage opened 6 months ago

bent-verbiage commented 6 months ago

Not set up right now to make it a pull request, but for those who care: You can use the anthropic python sdk now.

!pip install -U anthropic
import anthropic

client = anthropic.Anthropic(
    api_key=ANTHROPIC_API_KEY,
)

def ask_claude(system_prompt, messages, model="claude-3-opus-20240229", max_tokens=2000):
    try:
        message = client.messages.create(
            model=model,
            max_tokens=max_tokens,
            temperature=0.5,
            system=system_prompt,
            messages=messages
        )
        # count_tokens(model=model, in_tokens=message.usage.input_tokens, out_tokens=message.usage.output_tokens)
    except anthropic.APIConnectionError as e:
        print("The server could not be reached")
        print(e.__cause__)  # an underlying Exception, likely raised within httpx.
    except anthropic.RateLimitError as e:
        print("A 429 status code was received; we should back off a bit.")
    except anthropic.APIStatusError as e:
        print("Another non-200-range status code was received")
        print(e.status_code)
        print(e.response)

    return message.content[0].text