File size: 1,070 Bytes
5922680
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
from dotenv import load_dotenv
from langchain_huggingface import HuggingFaceEmbeddings

load_dotenv()

# 1. API KEYS & CONFIG
PINECONE_API_KEY = os.getenv("PINECONE_API_KEY")
INDEX_NAME = os.getenv("PINECONE_INDEX_NAME", "pdf-mcp-db")  # Default index name

# OpenAI Configuration
OPENAI_MODEL = os.getenv("OPENAI_MODEL", "gpt-5.4-mini")

PDF_FILE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "Prior Authorization Documentation Guide.pdf")
LOCAL_STORE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "local_store.pkl")

# 2. MODEL INITIALIZATION
def get_llm(api_key: str, temperature=0):
    if not api_key:
        raise ValueError("OPENAI_API_KEY must be provided dynamically.")
        
    from langchain_openai import ChatOpenAI
    return ChatOpenAI(
        api_key=api_key,
        model=OPENAI_MODEL,
        temperature=temperature,
        streaming=False
    )

def get_embeddings():
    # IntFloat E5-Base v2 (768 dim) is used to match Pinecone
    return HuggingFaceEmbeddings(model_name="intfloat/e5-base-v2")