SuriRaja commited on
Commit
bc66734
·
verified ·
1 Parent(s): ec5a8fa

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -0
app.py ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify
2
+ from transformers import RagTokenizer, RagRetriever, RagSequenceForGeneration
3
+
4
+ # Initialize Flask app
5
+ app = Flask(__name__)
6
+
7
+ # Load the Hugging Face model
8
+ tokenizer = RagTokenizer.from_pretrained("facebook/rag-sequence-nq")
9
+ retriever = RagRetriever.from_pretrained("facebook/rag-sequence-nq", index_name="custom", passages_path="path/to/your/index")
10
+ model = RagSequenceForGeneration.from_pretrained("facebook/rag-sequence-nq")
11
+
12
+ # Define a route for query processing
13
+ @app.route('/query', methods=['POST'])
14
+ def query_model():
15
+ data = request.json
16
+ query = data.get("query", "")
17
+
18
+ # Tokenize the input query
19
+ inputs = tokenizer(query, return_tensors="pt")
20
+
21
+ # Retrieve documents
22
+ retrieved_doc_ids = retriever.retrieve(inputs['input_ids'], inputs['attention_mask'])
23
+
24
+ # Generate the answer
25
+ outputs = model.generate(input_ids=inputs['input_ids'], context_input_ids=retrieved_doc_ids)
26
+ answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
27
+
28
+ # Return the answer in JSON
29
+ return jsonify({"answer": answer})
30
+
31
+ if __name__ == '__main__':
32
+ app.run(debug=True)