File size: 807 Bytes
28035e9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""DSPy language model setup for Groq and OpenAI.

Provides a factory function to create the right LM based on the
user-selected provider.
"""

import dspy
import config


def get_lm(provider: str = "groq") -> dspy.LM:
    """Return a configured DSPy language-model instance.

    Parameters
    ----------
    provider : "groq" | "openai"
    """
    if provider == "openai":
        lm = dspy.LM(
            model=f"openai/{config.OPENAI_MODEL}",
            api_key=config.OPENAI_API_KEY,
            max_tokens=4096,
            temperature=0.2,
        )
    else:  # default: groq
        lm = dspy.LM(
            model=f"groq/{config.GROQ_MODEL}",
            api_key=config.GROQ_API_KEY,
            max_tokens=4096,
            temperature=0.2,
        )

    dspy.configure(lm=lm)
    return lm