|
|
from langchain_core.messages import SystemMessage |
|
|
from .prompts import introduction_prompt, details_extract_prompt |
|
|
from .state import State , DetailsFormatter |
|
|
from src.genai.utils.models_loader import llm |
|
|
|
|
|
|
|
|
def introduction_node(state, llm): |
|
|
template = introduction_prompt |
|
|
messages = [SystemMessage(content=template)] + state["messages"] |
|
|
response = llm.invoke(messages) |
|
|
return {"messages": [response]} |
|
|
|
|
|
|
|
|
def extract_business_details(interactions): |
|
|
template = details_extract_prompt(interactions) |
|
|
messages = [SystemMessage(content=template)] |
|
|
response=llm.with_structured_output(DetailsFormatter).invoke(messages) |
|
|
return response |
|
|
|
|
|
|
|
|
|