Skip to content

anthropic_api.py

Define Anthropic adapter class.

AnthropicAdapter

Bases: LlmAdapter

Define Anthropic adapter class.

Source code in taglyatelle/llm_providers/anthropic_api.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class AnthropicAdapter(LlmAdapter):
    """Define Anthropic adapter class."""

    def __init__(self, model: str, temperature: float | int = 0):
        """
        Initialize Anthropic's llms.

        Parameters
        ----------
        model
            LLM model name

        temperature
            LLM temperature
        """
        self.client = Anthropic()
        self.model = model
        self.temperature = temperature

    def invoke_llm(self, prompt: str) -> str | None:
        """
        Send a request to a LLM.

        Parameters
        ----------
        prompt
            The prompt to send to the LLM

        Returns
        -------
        Answer of the LLM or None
        """
        response = self.client.messages.create(
            model=self.model,
            max_tokens=1024,
            temperature=self.temperature,
            messages=[{"role": "user", "content": prompt}],
        )

        text_block = next((b for b in response.content if hasattr(b, "text")), None)
        return text_block.text if text_block else None

__init__(model, temperature=0)

Initialize Anthropic's llms.

Parameters

model LLM model name

temperature LLM temperature

Source code in taglyatelle/llm_providers/anthropic_api.py
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def __init__(self, model: str, temperature: float | int = 0):
    """
    Initialize Anthropic's llms.

    Parameters
    ----------
    model
        LLM model name

    temperature
        LLM temperature
    """
    self.client = Anthropic()
    self.model = model
    self.temperature = temperature

invoke_llm(prompt)

Send a request to a LLM.

Parameters

prompt The prompt to send to the LLM

Returns

Answer of the LLM or None

Source code in taglyatelle/llm_providers/anthropic_api.py
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
def invoke_llm(self, prompt: str) -> str | None:
    """
    Send a request to a LLM.

    Parameters
    ----------
    prompt
        The prompt to send to the LLM

    Returns
    -------
    Answer of the LLM or None
    """
    response = self.client.messages.create(
        model=self.model,
        max_tokens=1024,
        temperature=self.temperature,
        messages=[{"role": "user", "content": prompt}],
    )

    text_block = next((b for b in response.content if hasattr(b, "text")), None)
    return text_block.text if text_block else None