Views
No views yet
1from transformers import AutoTokenizer, AutoModelWithLMHead
2tokenizer = AutoTokenizer.from_pretrained("Ashishkr/Dialog_clarification_gpt2")
3model = AutoModelWithLMHead.from_pretrained("Ashishkr/Dialog_clarification_gpt2")
4
5input_query="Serve your models directly from Hugging Face infrastructure and run large scale NLP models in milliseconds with just a few lines of code"
6
7query= input_query + " ~~ "
8
9input_ids = tokenizer.encode(query.lower(), return_tensors='pt')
10sample_outputs = model.generate(input_ids,
11 do_sample=True,
12 num_beams=1,
13 max_length=128,
14 temperature=0.9,
15 top_k = 40,
16 num_return_sequences=10)
17clarifications_gen = []
18for i in range(len(sample_outputs)):
19 r = tokenizer.decode(sample_outputs[i], skip_special_tokens=True).split('||')[0]
20 r = r.split(' ~~ ~~')[1]
21 if r not in clarifications_gen:
22 clarifications_gen.append(r)
23
24print(clarifications_gen)
25
26# to select the top n results:
27
28from sentence_transformers import SentenceTransformer, util
29import torch
30embedder = SentenceTransformer('paraphrase-distilroberta-base-v1')
31
32corpus = clarifications_gen
33corpus_embeddings = embedder.encode(corpus, convert_to_tensor=True)
34
35query = input_query.lower()
36query_embedding = embedder.encode(query, convert_to_tensor=True)
37cos_scores = util.pytorch_cos_sim(query_embedding, corpus_embeddings)[0]
38top_results = torch.topk(cos_scores, k=5)
39print("Top clarifications generated :")
40for score, idx in zip(top_results[0], top_results[1]):
41 print(corpus[idx], "(Score: {:.4f})".format(score))
42