import json from langchain_core.prompts import ChatPromptTemplate from langchain_groq import ChatGroq from langchain.chains import ConversationChain from langchain_google_genai import ChatGoogleGenerativeAI from langchain_core.output_parsers import JsonOutputParser def langchainConversation(conversation): prompts = [] for message in conversation: prompts.append((message['role'],message['context'])) chat_template = ChatPromptTemplate.from_messages(prompts) return chat_template.format_messages() def converse(conversation,provider,model,key): if(provider=='groq'): chat = ChatGroq(temperature=0, groq_api_key=key, model_name=model) elif(provider=='gemini'): chat = ChatGoogleGenerativeAI(model=model,google_api_key=key) return json.dumps(json.loads(chat.invoke(langchainConversation(conversation)).json()),indent=4)