Narayana02 commited on
Commit
35114c8
·
verified ·
1 Parent(s): 05a95e3

Update electronics_query.py

Browse files
Files changed (1) hide show
  1. electronics_query.py +21 -3
electronics_query.py CHANGED
@@ -1,5 +1,21 @@
 
1
  import pandas as pd
2
  import random
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
  # Load the electronics dataset
5
  def load_electronics_dataset():
@@ -26,7 +42,7 @@ electronics_response_templates = [
26
  # Add more templates as needed
27
  ]
28
 
29
- # Generate a dynamic response for electronics
30
  def generate_electronics_response(row):
31
  template = random.choice(electronics_response_templates)
32
  return template(row)
@@ -69,8 +85,9 @@ def query_electronics(user_query, n_results=5):
69
  # Return the top N results
70
  return sorted_df.head(n_results)
71
 
72
- # Function to integrate the chatbot responses for electronics
73
  def electronics_chatbot_response(user_query):
 
74
  electronics_results = query_electronics(user_query)
75
 
76
  if not electronics_results.empty:
@@ -79,4 +96,5 @@ def electronics_chatbot_response(user_query):
79
  response += generate_electronics_response(row) + "\n"
80
  return response
81
 
82
- return "Sorry, I couldn't find any electronics matching your query."
 
 
1
+ import os
2
  import pandas as pd
3
  import random
4
+ from transformers import DistilBertTokenizer, DistilBertModel
5
+ from huggingface_hub import login
6
+
7
+ # Check if the token is available
8
+ HUGGINGFACE_TOKEN = os.getenv('HUGGINGFACE_TOKEN')
9
+ if not HUGGINGFACE_TOKEN:
10
+ raise EnvironmentError("HUGGINGFACE_TOKEN environment variable is not set.")
11
+
12
+ # Log in to Hugging Face
13
+ login(token=HUGGINGFACE_TOKEN)
14
+
15
+ # Load model and tokenizer
16
+ model_name = "distilbert-base-uncased"
17
+ tokenizer = DistilBertTokenizer.from_pretrained(model_name, use_auth_token=HUGGINGFACE_TOKEN)
18
+ model = DistilBertModel.from_pretrained(model_name, use_auth_token=HUGGINGFACE_TOKEN)
19
 
20
  # Load the electronics dataset
21
  def load_electronics_dataset():
 
42
  # Add more templates as needed
43
  ]
44
 
45
+ # Generate a dynamic response
46
  def generate_electronics_response(row):
47
  template = random.choice(electronics_response_templates)
48
  return template(row)
 
85
  # Return the top N results
86
  return sorted_df.head(n_results)
87
 
88
+ # Function to integrate the chatbot responses
89
  def electronics_chatbot_response(user_query):
90
+ # Query the electronics data
91
  electronics_results = query_electronics(user_query)
92
 
93
  if not electronics_results.empty:
 
96
  response += generate_electronics_response(row) + "\n"
97
  return response
98
 
99
+ # If no results, generate a fallback response
100
+ return "Sorry, I couldn't find any electronics matching your query."