|
from langchain_openai import ChatOpenAI |
|
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) |
|
elif(provider=='lepton'): |
|
url = f'https://{model}.lepton.run/api/v1/' |
|
print(url) |
|
chat = ChatOpenAI(openai_api_base = url,openai_api_key=key) |
|
else: |
|
return json.dumos({'content':'unspported Provider'}) |
|
return json.dumps(json.loads(chat.invoke(langchainConversation(conversation)).json()),indent=4) |
|
|