Untitled

 avatar
unknown
plain_text
a month ago
2.7 kB
4
Indexable
Date: Friday, January 24, 2025 
Time: 5:00 PM - 5:45 PM EST 
Attendees: Kumar Velugula, Jordan Vidor, Shiva Balakrishnan 
Meeting Topics(If any):
    Topic1: details of topic1 
    Topic2: details of topic2
    Topic3: details of topic3
Looking forward to a productive discussion. 

Best regards, 
{sender}


meeting_invite_prompt = PromptTemplate(
        template="""
    You are a system that parses a user's meeting request: {query}
    and get the meeting details from the conversation {conversation_history}

    You must return valid JSON with these exact keys:
    1. "meeting_start"
    2. "meeting_end"
    3. "attendees"
    4. "email_subject"
    5. "email_body"

    Requirements:
    - "meeting_start" / "meeting_end":
     -Get the meeting start and meeting end time from the conversation .
     -After gathering the meeting start and end_date, refer to the  current_user timestamp {user_timestamp}.
     Use the user timestamp to calculate the appropriate meeting_start and meeting_end time.
     The meeting_start and meeting_end must be in the same format as current_user timestamp format
    - "attendees":
      - A list of attendee email addresses.Get the list of attendees from the conversation 
    - "email_subject":
      - Get the email_subject from the user.If the user has not provided any email_subject then create one based on the conversation.
    - "email_body":
      - Get the email_body from the user.If the user has not provided any email_subject then create one based on the conversation.
      -Use the email topics as reference.

    No additional keys beyond these five should be in your output.

    {format_instructions}
    """,
        input_variables=["query", "conversation_history", "current_utc_time"],
        partial_variables={"format_instructions": parser.get_format_instructions()},
    )
    chain = meeting_invite_prompt | llm | parser
    response = chain.invoke(
        {"query": user_query, "conversation_history": state["messages"], "user_timestamp": user_timestamp})
class MeetingInvite(BaseModel):
    meeting_start: str = Field(
        description="Timestamp for the meeting start . Empty if not provided."
    )
    meeting_end: str = Field(
        description="  Timestamp for the meeting end . Empty if not provided."
    )
    attendees: List[str] = Field(
        description="List of attendee email addresses."
    )
    email_subject: str = Field(
        description="Meeting subject if user provides one,generate one if not provided by user based on conversation."
    )
    email_body: str = Field(
        description="Meeting body/description if user provides one, generate one if not provided by user based on conversation."
    )
Editor is loading...
Leave a Comment