Spaces:
Sleeping
Sleeping
| from langchain_community.document_loaders import TextLoader | |
| from langchain.text_splitter import RecursiveCharacterTextSplitter, CharacterTextSplitter | |
| from langchain.chains import ConversationalRetrievalChain | |
| from langchain_community.embeddings import HuggingFaceEmbeddings | |
| # from langchain_community.llms import HuggingFaceEndpoint | |
| from langchain.prompts.prompt import PromptTemplate | |
| from pathlib import Path | |
| from langchain_core.output_parsers import StrOutputParser | |
| from unidecode import unidecode | |
| import tqdm | |
| from langchain_community.vectorstores import FAISS | |
| from langchain_huggingface import HuggingFaceEndpoint | |
| import accelerate | |
| # c_splitter = CharacterTextSplitter( | |
| # chunk_size = 350, | |
| # chunk_overlap = 4, | |
| # separator = """, | |
| # ]""", | |
| # ) | |
| # def load_doc(file_path): | |
| # loader = TextLoader(file_path) | |
| # pages = loader.load() | |
| # text_splitter = c_splitter | |
| # doc_splits = text_splitter.split_documents(pages) | |
| # return doc_splits | |
| llm = HuggingFaceEndpoint( | |
| repo_id='mistralai/Mixtral-8x7B-Instruct-v0.1', | |
| temperature = 0.17, | |
| max_new_tokens = 512, | |
| top_k = 30 | |
| ) | |
| # def process_data(): | |
| # splt = load_doc('intents_v2.txt') | |
| # embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2") | |
| # db = FAISS.from_documents(splt, embeddings) | |
| # return db | |
| # db = process_data() | |
| prompt = """Vous êtes un formateur de modèles GPT. Vous excellez dans l'affinement des modèles GPT, la lecture et l'analyse de documents ainsi que l'association de balises aux entrées utilisateur appropriées. | |
| Mon contexte consiste en un document {document} structuré comportant des balises et leurs réponses associées respectivement, servant de référence pour former un modèle GPT capable de produire des réponses pertinentes en fonction des entrées utilisateur. | |
| Votre tâche consiste à former un modèle GPT pour associer les entrées utilisateur aux balises adéquates et renvoyer les réponses correspondantes figurant dans le document de référence. | |
| Les étapes à suivre sont les suivantes : analyser le document et ses balises, entraîner le modèle GPT avec les exemples fournis, mapper les entrées utilisateur aux balises correspondantes et générer les réponses associées. | |
| Les caractéristiques du résultat attendu consistent en des réponses cohérentes et exactement adaptées aux balises fournies dans le document de référence. | |
| Si tout va bien, allez-y. | |
| Human: {input} | |
| AI Assistant: | |
| """ | |
| prompt_2 = PromptTemplate(input_variables=['input', 'document'], template = prompt) | |
| conversation_chain = prompt_2 | llm | StrOutputParser() | |
| # Set up a conversational chain to retrieve and generate responses. | |
| # conversation_chain = ConversationalRetrievalChain.from_llm( | |
| # llm=llm, | |
| # retriever=db.as_retriever(), | |
| # condense_question_prompt=PromptTemplate(input_variables=['input'], template=prompt), | |
| # ) | |