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=='google'): | |
chat = ChatGoogleGenerativeAI(model=model,google_api_key=key) | |
return json.dumps(json.loads(chat.invoke(langchainConversation(conversation)).json()),indent=4) | |