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 from langchain_cohere import ChatCohere 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,other:dict={}): 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) elif(provider=='cohere'): chat = ChatCohere(model=model,cohere_api_key=key) else: return json.dumos({'content':'unspported Provider'}) return json.dumps(json.loads(chat.invoke(langchainConversation(conversation)).json()),indent=4)