Spaces:
Sleeping
Sleeping
import os | |
from dotenv import load_dotenv | |
from langchain_openai import ChatOpenAI | |
from tools.goal_tools import add_goal_tool, list_goal_categories | |
load_dotenv() | |
from backend.credentials import setup_google_credentials | |
setup_google_credentials() | |
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") | |
DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY") | |
os.environ["LANGCHAIN_TRACING_V2"] = "true" | |
os.environ["LANGCHAIN_HIDE_INPUTS"] = "false" | |
os.environ["LANGCHAIN_HIDE_OUTPUTS"] = "false" | |
# GPT-4o-mini | |
gpt4o_mini = ChatOpenAI( | |
model="gpt-4o-mini", | |
api_key=OPENAI_API_KEY, | |
) | |
gpt4o_mini_with_tools = gpt4o_mini.bind_tools([add_goal_tool, list_goal_categories]) | |
# GPT-4o | |
gpt4o = ChatOpenAI( | |
model="gpt-4o", | |
api_key=OPENAI_API_KEY, | |
) | |
gpt4o_with_tools = gpt4o.bind_tools([add_goal_tool, list_goal_categories]) | |
# DeepSeek | |
deepseek = ChatOpenAI( | |
model="deepseek-chat", | |
api_key=DEEPSEEK_API_KEY, | |
base_url="https://api.deepseek.com/v1", | |
) | |
deepseek_with_tools = deepseek.bind_tools([add_goal_tool, list_goal_categories]) | |
import tempfile | |
import os | |
def setup_google_credentials(): | |
creds_json = os.getenv("GOOGLE_APPLICATION_CREDENTIALS_JSON") | |
if creds_json: | |
# Create temporary JSON file from environment variable | |
tmp_path = tempfile.NamedTemporaryFile(delete=False, suffix=".json").name | |
with open(tmp_path, "w") as f: | |
f.write(creds_json) | |
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = tmp_path | |
print("[CREDENTIALS] Using Google Cloud credentials from environment") | |
else: | |
print("[CREDENTIALS] Using local service account file") | |