Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -8,8 +8,8 @@ import transformers # LLM
|
|
8 |
PUBLICATIONS_TO_RETRIEVE = 5
|
9 |
|
10 |
# The template for the RAG prompt
|
11 |
-
RAG_TEMPLATE = """You are an AI assistant who enjoys helping users learn about research.
|
12 |
-
Answer the USER_QUERY on additive manufacturing research using the RESEARCH_EXCERPTS.
|
13 |
Provide a concise ANSWER based on these excerpts. Avoid listing references.
|
14 |
===== RESEARCH_EXCERPTS =====
|
15 |
{research_excerpts}
|
@@ -18,6 +18,23 @@ Provide a concise ANSWER based on these excerpts. Avoid listing references.
|
|
18 |
===== ANSWER =====
|
19 |
"""
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
# Load vectorstore of SFF publications
|
22 |
publication_vectorstore = langchain_community.vectorstores.FAISS.load_local(
|
23 |
folder_path="publication_vectorstore",
|
@@ -30,13 +47,17 @@ publication_vectorstore = langchain_community.vectorstores.FAISS.load_local(
|
|
30 |
)
|
31 |
|
32 |
# Create the callable LLM
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
llm = transformers.pipeline(
|
34 |
task="text-generation",
|
35 |
-
model=
|
36 |
-
|
37 |
-
|
38 |
-
transformers.AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B-Instruct-AWQ")
|
39 |
-
),
|
40 |
)
|
41 |
|
42 |
|
@@ -90,22 +111,6 @@ def reply(message: str, history: list[str]) -> str:
|
|
90 |
return response[0]["generated_text"].strip("= ")
|
91 |
|
92 |
|
93 |
-
# Example Queries for Interface
|
94 |
-
EXAMPLE_QUERIES = [
|
95 |
-
{"text": "What is multi-material 3D printing?"},
|
96 |
-
{"text": "How is additive manufacturing being applied in aerospace?"},
|
97 |
-
{"text": "Tell me about innovations in metal 3D printing techniques."},
|
98 |
-
{"text": "What are some sustainable materials for 3D printing?"},
|
99 |
-
{"text": "What are the challenges with support structures in 3D printing?"},
|
100 |
-
{"text": "How is 3D printing impacting the medical field?"},
|
101 |
-
{"text": "What are common applications of additive manufacturing in industry?"},
|
102 |
-
{"text": "What are the benefits and limitations of using polymers in 3D printing?"},
|
103 |
-
{"text": "Tell me about the environmental impacts of additive manufacturing."},
|
104 |
-
{"text": "What are the primary limitations of current 3D printing technologies?"},
|
105 |
-
{"text": "How are researchers improving the speed of 3D printing processes?"},
|
106 |
-
{"text": "What are best practices for post-processing in additive manufacturing?"},
|
107 |
-
]
|
108 |
-
|
109 |
# Run the Gradio Interface
|
110 |
gradio.ChatInterface(
|
111 |
reply,
|
|
|
8 |
PUBLICATIONS_TO_RETRIEVE = 5
|
9 |
|
10 |
# The template for the RAG prompt
|
11 |
+
RAG_TEMPLATE = """You are an AI assistant who enjoys helping users learn about research.
|
12 |
+
Answer the USER_QUERY on additive manufacturing research using the RESEARCH_EXCERPTS.
|
13 |
Provide a concise ANSWER based on these excerpts. Avoid listing references.
|
14 |
===== RESEARCH_EXCERPTS =====
|
15 |
{research_excerpts}
|
|
|
18 |
===== ANSWER =====
|
19 |
"""
|
20 |
|
21 |
+
# Example Queries for Interface
|
22 |
+
EXAMPLE_QUERIES = [
|
23 |
+
{"text": "What is multi-material 3D printing?"},
|
24 |
+
{"text": "How is additive manufacturing being applied in aerospace?"},
|
25 |
+
{"text": "Tell me about innovations in metal 3D printing techniques."},
|
26 |
+
{"text": "What are some sustainable materials for 3D printing?"},
|
27 |
+
{"text": "What are the challenges with support structures in 3D printing?"},
|
28 |
+
{"text": "How is 3D printing impacting the medical field?"},
|
29 |
+
{"text": "What are common applications of additive manufacturing in industry?"},
|
30 |
+
{"text": "What are the benefits and limitations of using polymers in 3D printing?"},
|
31 |
+
{"text": "Tell me about the environmental impacts of additive manufacturing."},
|
32 |
+
{"text": "What are the primary limitations of current 3D printing technologies?"},
|
33 |
+
{"text": "How are researchers improving the speed of 3D printing processes?"},
|
34 |
+
{"text": "What are best practices for post-processing in additive manufacturing?"},
|
35 |
+
]
|
36 |
+
|
37 |
+
|
38 |
# Load vectorstore of SFF publications
|
39 |
publication_vectorstore = langchain_community.vectorstores.FAISS.load_local(
|
40 |
folder_path="publication_vectorstore",
|
|
|
47 |
)
|
48 |
|
49 |
# Create the callable LLM
|
50 |
+
model = transformers.AutoModelForCausalLM.from_pretrained(
|
51 |
+
"Qwen/Qwen2.5-7B-Instruct-AWQ"
|
52 |
+
)
|
53 |
+
model.to("cuda") # Move the model to GPU
|
54 |
+
tokenizer = transformers.AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B-Instruct-AWQ")
|
55 |
+
|
56 |
llm = transformers.pipeline(
|
57 |
task="text-generation",
|
58 |
+
model=model,
|
59 |
+
tokenizer=tokenizer,
|
60 |
+
device=0, # Ensure the model is loaded on the GPU
|
|
|
|
|
61 |
)
|
62 |
|
63 |
|
|
|
111 |
return response[0]["generated_text"].strip("= ")
|
112 |
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
# Run the Gradio Interface
|
115 |
gradio.ChatInterface(
|
116 |
reply,
|