Spaces:
Runtime error
Runtime error
import os | |
import pandas as pd | |
from datetime import datetime | |
from dotenv import load_dotenv | |
from langchain_core.output_parsers import StrOutputParser | |
from langchain.prompts import ChatPromptTemplate | |
from langchain.chat_models import ChatOpenAI | |
from prompts.summary_prompt import metrological_data_summary_prompt | |
load_dotenv() | |
def get_summary(scenario: str, temperature_df: pd.DataFrame, rain_df: pd.DataFrame, irradiance_df: pd.DataFrame) -> str: | |
today = datetime.today().strftime("%Y/%m/%d") | |
temp_data = temperature_df.head(len(temperature_df)).to_string(index=False) | |
rain_data = rain_df.head(len(rain_df)).to_string(index=False) | |
irradiance_data = irradiance_df.head(len(irradiance_df)).to_string(index=False) | |
llm = ChatOpenAI( | |
model="gpt-4o", | |
temperature=0, | |
max_tokens=None, | |
timeout=None, | |
max_retries=2, | |
api_key=os.environ.get("OPENAI_API_KEY") | |
) | |
output_parser = StrOutputParser() | |
prompt = ChatPromptTemplate.from_messages( | |
[ | |
("system", metrological_data_summary_prompt), | |
("human", "Je veux un résumé de ces prévisions métérologique: les données de temperature {temp_data}, les données de précipitation {rain_data}, les données de radiance solaire {irradiance_data}") | |
] | |
) | |
chain = prompt | llm | output_parser | |
response = chain.invoke({ | |
"scenario": scenario, | |
"today": today, | |
"temp_data": temp_data, | |
"rain_data": rain_data, | |
"irradiance_data": irradiance_data | |
}) | |
return output_parser.parse(response) |