| 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) | |