Spaces:
Build error
Build error
| from langchain.prompts import PromptTemplate | |
| from langchain.llms import CTransformers | |
| from langchain.chains import LLMChain | |
| from langchain.chains import SequentialChain | |
| from langchain.llms import HuggingFaceHub | |
| from dotenv import load_dotenv | |
| # load_dotenv(); | |
| config = {'max_new_tokens': 512, 'temperature': 0.6} | |
| # Create function for app | |
| def GetLLMResponse(selected_topic_level, | |
| selected_topic, | |
| num_quizzes): | |
| # Calling llama model | |
| # llm = CTransformers(model="D:\Code Workspace\DL Model\llama-2-7b-chat.ggmlv3.q8_0.bin", | |
| # model_type = 'llama', | |
| # config = config) | |
| # llm = CTransformers(model='TheBloke/Llama-2-7B-Chat-GGML', | |
| # model_file = 'llama-2-7b-chat.ggmlv3.q8_0.bin', | |
| # model_type = 'llama', | |
| # config = config) | |
| llm = HuggingFaceHub( | |
| repo_id = "mistralai/Mixtral-8x7B-Instruct-v0.1", | |
| model_kwargs = config | |
| ) | |
| ## Create LLM Chaining | |
| questions_template = "I want you to just generate question with this specification: Generate a {selected_topic_level} math quiz on the topic of {selected_topic}. Generate only {num_quizzes} questions not more and without providing answers. The Question should not in image format/link" | |
| questions_prompt = PromptTemplate(input_variables=["selected_topic_level", "selected_topic", "num_quizzes"], | |
| template=questions_template) | |
| questions_chain = LLMChain(llm= llm, | |
| prompt = questions_prompt, | |
| output_key = "questions") | |
| answer_template = "I want you to become a teacher answer this specific Question:\n {questions}\n\n. You should gave me a straightforward and consise explanation and answer to each one of them" | |
| answer_prompt = PromptTemplate(input_variables = ["questions"], | |
| template = answer_template) | |
| answer_chain = LLMChain(llm = llm, | |
| prompt = answer_prompt, | |
| output_key = "answer") | |
| ## Create Sequential Chaining | |
| seq_chain = SequentialChain(chains = [questions_chain, answer_chain], | |
| input_variables = ['selected_topic_level', 'selected_topic', 'num_quizzes'], | |
| output_variables = ['questions', 'answer']) | |
| response = seq_chain({'selected_topic_level': selected_topic_level, | |
| 'selected_topic': selected_topic, | |
| 'num_quizzes' : num_quizzes}) | |
| ## Generate the response from the llama 2 model | |
| print(response) | |
| return response |