File size: 692 Bytes
94b06be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from typing import List, Dict
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from settings import OPENAI_API_KEY

class LLMAdapter:
    def __init__(self, model: str = "gpt-4o-mini", temperature: float = 0.2):
        self.llm = ChatOpenAI(model=model, temperature=temperature, api_key=OPENAI_API_KEY)

    def chat(self, messages: List[Dict[str, str]]) -> str:
        return self.llm.invoke(messages).content

class EmbeddingsAdapter:
    def __init__(self, model: str = "text-embedding-3-small"):
        self.emb = OpenAIEmbeddings(model=model, api_key=OPENAI_API_KEY)

    def embed(self, texts: List[str]) -> List[List[float]]:
        return self.emb.embed_documents(texts)