Spaces:
Runtime error
Runtime error
| from langchain_core.output_parsers import BaseOutputParser | |
| from typing import List | |
| from prompts import default_prompt_template, doctor_prompt_template, default_prompt_template_no_sources, doctor_prompt_template_no_sources, default_quirky_genz_prompt, default_quirky_genz_prompt_no_sources, default_food_critic_prompt, default_food_critic_prompt_no_sources, default_media_critic_prompt, default_media_critic_prompt_no_sources | |
| from methods import load_config | |
| from langchain_openai import ChatOpenAI | |
| import os | |
| class LineListOutputParser(BaseOutputParser[List[str]]): | |
| """Output parser that splits a LLM result into a list of queries.""" | |
| def parse(self, text: str) -> List[str]: | |
| lines = text.strip().split('\n') | |
| return list(filter(None, lines)) | |
| class TransparentGPTSettings: | |
| def __init__(self): | |
| self.model = "meta-llama/Llama-3.3-70B-Instruct" | |
| self.temperature = 0.7 | |
| self.prompt = default_prompt_template | |
| self.prompt_mappings = {"default": default_prompt_template, "default_no_sources": default_prompt_template_no_sources, "doctor": doctor_prompt_template, "doctor_no_sources": default_prompt_template_no_sources, "genz": default_quirky_genz_prompt, "genz_no_sources": default_quirky_genz_prompt_no_sources, "food_critic": default_food_critic_prompt, "food_critic_no_sources": default_food_critic_prompt_no_sources, "media_critic":default_media_critic_prompt, "media_critic_no_sources": default_media_critic_prompt_no_sources } | |
| self.model_mappings = {"Meta Llama 3.1":"meta-llama/Meta-Llama-3.1-70B-Instruct", "Meta Llama 3.3":"meta-llama/Llama-3.3-70B-Instruct", "MistralAI":"mistralai/Mixtral-8x7B-Instruct-v0.1", "Dolphin Mixtral":"cognitivecomputations/dolphin-2.9.2-mixtral-8x22b", "Microsoft Mini":"microsoft/Phi-3-mini-4k-instruct"} | |
| self.prompt_name = "default" | |
| self.num_sources = load_config()["num_sources"] | |
| self.llm = ChatOpenAI( | |
| base_url="https://api.studio.nebius.com/v1/", | |
| api_key=os.environ.get("NEBIUS_API_KEY"), | |
| model = self.model, | |
| temperature = self.temperature | |
| ).bind(logprobs=True) | |
| self.display_sources = True | |
| self.query_expansion_options = { | |
| 'No query expansion': 'No query expansion', | |
| 'Basic query expansion': 'Basic query expansion', | |
| 'Multiquery expansion': 'Multiquery expansion', | |
| 'Hypothetical answer expansion': 'Hypothetical answer' | |
| } | |
| self.query_expansion = 'No query expansion' | |
| def update_settings(self, settings): | |
| self.model = self.model_mappings[settings['Model']] | |
| self.temperature = settings['Temperature'] | |
| self.prompt = self.prompt_mappings[settings['Prompt Template']] | |
| self.num_sources=settings['Number of Sources'] | |
| self.llm = ChatOpenAI( | |
| base_url="https://api.studio.nebius.com/v1/", | |
| api_key=os.environ.get("NEBIUS_API_KEY"), | |
| model = self.model, | |
| temperature = self.temperature | |
| ).bind(logprobs=True) | |
| self.display_sources = settings['Display Sources'] | |
| self.prompt_name = settings['Prompt Template'] | |
| self.query_expansion = settings['Query Expansion'] |