NotebookLMClone / utils /llm_client.py
github-actions[bot]
Sync from GitHub 214f9ed998ff8d82e81656fab8d69dcd637cd425
46e5b37
raw
history blame contribute delete
799 Bytes
from __future__ import annotations
import os
from dotenv import load_dotenv
from groq import Groq
load_dotenv()
class LLMConfigError(RuntimeError):
pass
def _get_client() -> Groq:
api_key = os.getenv("GROQ_API_KEY")
if not api_key:
raise LLMConfigError("GROQ_API_KEY is not set.")
return Groq(api_key=api_key)
def generate_chat_completion(system_prompt: str, user_prompt: str) -> str:
client = _get_client()
model = os.getenv("GROQ_MODEL", "llama-3.1-8b-instant")
response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt},
],
temperature=0.2,
)
return response.choices[0].message.content or ""