-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathsingleton.py
More file actions
46 lines (37 loc) · 1.13 KB
/
singleton.py
File metadata and controls
46 lines (37 loc) · 1.13 KB
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
36
37
38
39
40
41
42
43
44
45
46
from langfuse.openai import AzureOpenAI, OpenAI
from qdrant_client import QdrantClient
from app.core.config import settings
openai_client = None
qdrant_client = None
# OpenAI
def connect_openai():
global openai_client
if openai_client is None:
if settings.PROVIDER == "azure":
openai_client = AzureOpenAI(
api_key=settings.AZURE_API_KEY,
api_version=settings.AZURE_API_VERSION,
azure_endpoint=settings.AZURE_ENDPOINT,
)
else:
## THIS IS FOR LOCAL LLM ONLY
openai_client = OpenAI(
api_key=settings.AZURE_API_KEY,
base_url=settings.AZURE_ENDPOINT,
project=None,
organization=None,
)
return openai_client
def get_openai_client():
connect_openai()
openai = openai_client
return openai
def connect_qdrant():
global qdrant_client
if qdrant_client is None:
qdrant_client = QdrantClient(url=settings.QDRANT_URL)
return qdrant_client
def get_qdrant_client():
connect_qdrant()
qdrant = qdrant_client
return qdrant