Update app.py
Browse files
app.py
CHANGED
@@ -142,28 +142,22 @@ def init_db():
|
|
142 |
conn.commit()
|
143 |
|
144 |
def initialize_llm():
|
145 |
-
"""Initialize the
|
146 |
try:
|
147 |
-
# Get API token
|
148 |
api_token = os.environ.get('HF_TOKEN')
|
149 |
if not api_token:
|
150 |
raise ValueError("No API token found")
|
151 |
|
152 |
-
# Initialize
|
153 |
-
|
154 |
-
repo_id="mistralai/Mistral-7B-Instruct-v0.3", # Using a simpler model for testing
|
155 |
-
huggingfacehub_api_token=api_token,
|
156 |
-
task="text-generation" )
|
157 |
|
158 |
-
|
159 |
-
|
160 |
-
print(f"Test response: {test}")
|
161 |
-
|
162 |
-
return llm
|
163 |
|
164 |
except Exception as e:
|
165 |
print(f"LLM initialization error: {str(e)}")
|
166 |
-
|
167 |
|
168 |
|
169 |
class ChatSession:
|
@@ -278,14 +272,12 @@ try:
|
|
278 |
print("Database initialized successfully")
|
279 |
|
280 |
print("Initializing LLM...")
|
281 |
-
|
282 |
-
if
|
283 |
raise ValueError("LLM initialization failed")
|
284 |
print("LLM initialized successfully")
|
285 |
|
286 |
-
|
287 |
-
llm_chain = LLMChain(llm=llm, prompt=prompt)
|
288 |
-
print("LLM chain created successfully")
|
289 |
|
290 |
except Exception as e:
|
291 |
print(f"Fatal initialization error: {e}")
|
@@ -472,24 +464,41 @@ def get_chat_list():
|
|
472 |
@app.route("/api/chat", methods=["POST"])
|
473 |
def chat():
|
474 |
try:
|
475 |
-
# Get the user's message
|
476 |
data = request.json
|
477 |
user_input = data.get("message", "")
|
478 |
print(f"Received message: {user_input}")
|
479 |
|
|
|
|
|
|
|
|
|
|
|
|
|
480 |
# Very simple prompt for testing
|
481 |
-
|
|
|
|
|
482 |
|
483 |
try:
|
484 |
-
# Get response
|
485 |
-
|
486 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
|
488 |
-
|
489 |
-
|
490 |
-
"success": True,
|
491 |
-
"response": response
|
492 |
-
})
|
493 |
|
494 |
except Exception as e:
|
495 |
print(f"Model error: {str(e)}")
|
|
|
142 |
conn.commit()
|
143 |
|
144 |
def initialize_llm():
|
145 |
+
"""Initialize the LLM using InferenceClient."""
|
146 |
try:
|
147 |
+
# Get API token from environment variable
|
148 |
api_token = os.environ.get('HF_TOKEN')
|
149 |
if not api_token:
|
150 |
raise ValueError("No API token found")
|
151 |
|
152 |
+
# Initialize the InferenceClient
|
153 |
+
client = InferenceClient(api_key=api_token)
|
|
|
|
|
|
|
154 |
|
155 |
+
print("LLM initialized successfully!")
|
156 |
+
return client
|
|
|
|
|
|
|
157 |
|
158 |
except Exception as e:
|
159 |
print(f"LLM initialization error: {str(e)}")
|
160 |
+
return None
|
161 |
|
162 |
|
163 |
class ChatSession:
|
|
|
272 |
print("Database initialized successfully")
|
273 |
|
274 |
print("Initializing LLM...")
|
275 |
+
llm_client = initialize_llm()
|
276 |
+
if llm_client is None:
|
277 |
raise ValueError("LLM initialization failed")
|
278 |
print("LLM initialized successfully")
|
279 |
|
280 |
+
|
|
|
|
|
281 |
|
282 |
except Exception as e:
|
283 |
print(f"Fatal initialization error: {e}")
|
|
|
464 |
@app.route("/api/chat", methods=["POST"])
|
465 |
def chat():
|
466 |
try:
|
467 |
+
# Get the user's message from the request
|
468 |
data = request.json
|
469 |
user_input = data.get("message", "")
|
470 |
print(f"Received message: {user_input}")
|
471 |
|
472 |
+
if not user_input:
|
473 |
+
return jsonify({
|
474 |
+
"success": False,
|
475 |
+
"response": "No message provided."
|
476 |
+
})
|
477 |
+
|
478 |
# Very simple prompt for testing
|
479 |
+
messages = [
|
480 |
+
{"role": "user", "content": user_input}
|
481 |
+
]
|
482 |
|
483 |
try:
|
484 |
+
# Get response from the model using InferenceClient
|
485 |
+
if llm_client:
|
486 |
+
completion = llm_client.chat.completions.create(
|
487 |
+
model="mistralai/Mistral-7B-Instruct-v0.3", # Replace with the appropriate model
|
488 |
+
messages=messages,
|
489 |
+
max_tokens=150 # Adjust the max tokens as needed
|
490 |
+
)
|
491 |
+
response = completion['choices'][0]['message']['content']
|
492 |
+
print(f"Raw response received: {response}")
|
493 |
+
|
494 |
+
# Return the model's response
|
495 |
+
return jsonify({
|
496 |
+
"success": True,
|
497 |
+
"response": response
|
498 |
+
})
|
499 |
|
500 |
+
else:
|
501 |
+
raise ValueError("LLM client not initialized properly.")
|
|
|
|
|
|
|
502 |
|
503 |
except Exception as e:
|
504 |
print(f"Model error: {str(e)}")
|