Spaces:
Running
Running
# -*-coding:utf-8 -*- | |
import json | |
from langchain.prompts.chat import ( | |
ChatPromptTemplate, | |
SystemMessagePromptTemplate, | |
HumanMessagePromptTemplate, | |
) | |
from langchain.chains import LLMChain | |
from prompt import * | |
from langchain.chat_models import ChatOpenAI | |
def get_qa(text, openai_key): | |
llm = ChatOpenAI(openai_api_key=openai_key, max_tokens=2000, temperature=0.8) | |
prompt = ChatPromptTemplate.from_messages( | |
[ | |
SystemMessagePromptTemplate.from_template(QA_gen_sys_prompt), | |
HumanMessagePromptTemplate.from_template(QA_gen_user_prompt), | |
] | |
) | |
chain = LLMChain(llm=llm, prompt=prompt) | |
print('Generating Question from template') | |
qa = chain({'text': text}) | |
result = json.loads(qa['text']) | |
return result | |
def get_answer(context, question, openai_key): | |
llm = ChatOpenAI(openai_api_key=openai_key, max_tokens=2000, temperature=0.8) | |
prompt = ChatPromptTemplate.from_messages( | |
[ | |
SystemMessagePromptTemplate.from_template(QA_answer_sys_prompt), | |
HumanMessagePromptTemplate.from_template(QA_answer_user_prompt), | |
] | |
) | |
chain = LLMChain(llm=llm, prompt=prompt) | |
print('Generating Question from template') | |
answer = chain({'text': context, 'question': question}) | |
answer = answer['text'] | |
return answer | |