Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -7,13 +7,15 @@ from typing import List, Tuple
|
|
| 7 |
# LLM Models Definition
|
| 8 |
LLM_MODELS = {
|
| 9 |
"Cohere c4ai-crp-08-2024": "CohereForAI/c4ai-command-r-plus-08-2024", # Default
|
| 10 |
-
"Meta Llama3.3-70B": "meta-llama/Llama-3.3-70B-Instruct"
|
| 11 |
-
"Mistral Nemo 2407": "mistralai/Mistral-Nemo-Instruct-2407",
|
| 12 |
-
"Alibaba Qwen QwQ-32B": "Qwen/QwQ-32B-Preview"
|
| 13 |
}
|
| 14 |
|
| 15 |
-
def get_client(model_name):
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
def analyze_file_content(content, file_type):
|
| 19 |
"""Analyze file content and return structural summary"""
|
|
@@ -94,7 +96,7 @@ def format_history(history):
|
|
| 94 |
formatted_history.append({"role": "assistant", "content": assistant_msg})
|
| 95 |
return formatted_history
|
| 96 |
|
| 97 |
-
def chat(message, history, uploaded_file,
|
| 98 |
system_prefix = """You are a file analysis expert. Analyze the uploaded file in depth from the following perspectives:
|
| 99 |
1. π Overall structure and composition
|
| 100 |
2. π Key content and pattern analysis
|
|
@@ -144,7 +146,7 @@ Please provide detailed analysis from these perspectives:
|
|
| 144 |
messages.append({"role": "user", "content": message})
|
| 145 |
|
| 146 |
try:
|
| 147 |
-
client = get_client(
|
| 148 |
partial_message = ""
|
| 149 |
current_history = []
|
| 150 |
|
|
@@ -176,8 +178,6 @@ css = """
|
|
| 176 |
footer {visibility: hidden}
|
| 177 |
"""
|
| 178 |
|
| 179 |
-
# ... (μ΄μ μ½λ λμΌ)
|
| 180 |
-
|
| 181 |
with gr.Blocks(theme="Yntec/HaleyCH_Theme_Orange", css=css, title="EveryChat π€") as demo:
|
| 182 |
gr.HTML(
|
| 183 |
"""
|
|
@@ -206,13 +206,6 @@ with gr.Blocks(theme="Yntec/HaleyCH_Theme_Orange", css=css, title="EveryChat
|
|
| 206 |
send = gr.Button("Send π€")
|
| 207 |
|
| 208 |
with gr.Column(scale=1):
|
| 209 |
-
model_name = gr.Radio(
|
| 210 |
-
choices=list(LLM_MODELS.keys()),
|
| 211 |
-
value="Cohere c4ai-crp-08-2024",
|
| 212 |
-
label="Select LLM Model π€",
|
| 213 |
-
info="Choose your preferred AI model"
|
| 214 |
-
)
|
| 215 |
-
|
| 216 |
gr.Markdown("### Upload File π\nSupport: Text, Code, CSV, Parquet files")
|
| 217 |
file_upload = gr.File(
|
| 218 |
label="Upload File",
|
|
@@ -229,7 +222,7 @@ with gr.Blocks(theme="Yntec/HaleyCH_Theme_Orange", css=css, title="EveryChat
|
|
| 229 |
# Event bindings
|
| 230 |
msg.submit(
|
| 231 |
chat,
|
| 232 |
-
inputs=[msg, chatbot, file_upload,
|
| 233 |
outputs=[msg, chatbot],
|
| 234 |
queue=True
|
| 235 |
).then(
|
|
@@ -240,7 +233,7 @@ with gr.Blocks(theme="Yntec/HaleyCH_Theme_Orange", css=css, title="EveryChat
|
|
| 240 |
|
| 241 |
send.click(
|
| 242 |
chat,
|
| 243 |
-
inputs=[msg, chatbot, file_upload,
|
| 244 |
outputs=[msg, chatbot],
|
| 245 |
queue=True
|
| 246 |
).then(
|
|
@@ -252,7 +245,7 @@ with gr.Blocks(theme="Yntec/HaleyCH_Theme_Orange", css=css, title="EveryChat
|
|
| 252 |
# Auto-analysis on file upload
|
| 253 |
file_upload.change(
|
| 254 |
chat,
|
| 255 |
-
inputs=[gr.Textbox(value="Starting file analysis..."), chatbot, file_upload,
|
| 256 |
outputs=[msg, chatbot],
|
| 257 |
queue=True
|
| 258 |
)
|
|
|
|
| 7 |
# LLM Models Definition
|
| 8 |
LLM_MODELS = {
|
| 9 |
"Cohere c4ai-crp-08-2024": "CohereForAI/c4ai-command-r-plus-08-2024", # Default
|
| 10 |
+
"Meta Llama3.3-70B": "meta-llama/Llama-3.3-70B-Instruct" # Backup model
|
|
|
|
|
|
|
| 11 |
}
|
| 12 |
|
| 13 |
+
def get_client(model_name="Cohere c4ai-crp-08-2024"):
|
| 14 |
+
try:
|
| 15 |
+
return InferenceClient(LLM_MODELS[model_name], token=os.getenv("HF_TOKEN"))
|
| 16 |
+
except Exception:
|
| 17 |
+
# If primary model fails, try backup model
|
| 18 |
+
return InferenceClient(LLM_MODELS["Meta Llama3.3-70B"], token=os.getenv("HF_TOKEN"))
|
| 19 |
|
| 20 |
def analyze_file_content(content, file_type):
|
| 21 |
"""Analyze file content and return structural summary"""
|
|
|
|
| 96 |
formatted_history.append({"role": "assistant", "content": assistant_msg})
|
| 97 |
return formatted_history
|
| 98 |
|
| 99 |
+
def chat(message, history, uploaded_file, system_message="", max_tokens=4000, temperature=0.7, top_p=0.9):
|
| 100 |
system_prefix = """You are a file analysis expert. Analyze the uploaded file in depth from the following perspectives:
|
| 101 |
1. π Overall structure and composition
|
| 102 |
2. π Key content and pattern analysis
|
|
|
|
| 146 |
messages.append({"role": "user", "content": message})
|
| 147 |
|
| 148 |
try:
|
| 149 |
+
client = get_client()
|
| 150 |
partial_message = ""
|
| 151 |
current_history = []
|
| 152 |
|
|
|
|
| 178 |
footer {visibility: hidden}
|
| 179 |
"""
|
| 180 |
|
|
|
|
|
|
|
| 181 |
with gr.Blocks(theme="Yntec/HaleyCH_Theme_Orange", css=css, title="EveryChat π€") as demo:
|
| 182 |
gr.HTML(
|
| 183 |
"""
|
|
|
|
| 206 |
send = gr.Button("Send π€")
|
| 207 |
|
| 208 |
with gr.Column(scale=1):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 209 |
gr.Markdown("### Upload File π\nSupport: Text, Code, CSV, Parquet files")
|
| 210 |
file_upload = gr.File(
|
| 211 |
label="Upload File",
|
|
|
|
| 222 |
# Event bindings
|
| 223 |
msg.submit(
|
| 224 |
chat,
|
| 225 |
+
inputs=[msg, chatbot, file_upload, system_message, max_tokens, temperature, top_p],
|
| 226 |
outputs=[msg, chatbot],
|
| 227 |
queue=True
|
| 228 |
).then(
|
|
|
|
| 233 |
|
| 234 |
send.click(
|
| 235 |
chat,
|
| 236 |
+
inputs=[msg, chatbot, file_upload, system_message, max_tokens, temperature, top_p],
|
| 237 |
outputs=[msg, chatbot],
|
| 238 |
queue=True
|
| 239 |
).then(
|
|
|
|
| 245 |
# Auto-analysis on file upload
|
| 246 |
file_upload.change(
|
| 247 |
chat,
|
| 248 |
+
inputs=[gr.Textbox(value="Starting file analysis..."), chatbot, file_upload, system_message, max_tokens, temperature, top_p],
|
| 249 |
outputs=[msg, chatbot],
|
| 250 |
queue=True
|
| 251 |
)
|