Files
python_test/smartassist/src/backend.py
T
2024-07-16 17:17:08 +02:00

54 lines
1.4 KiB
Python

# Import the necessary functions from ollama, Flask, requests, threading
from ollama import Client
from flask import Flask, request, jsonify
#import requests
#import threading
# Initialize a Flask application
app = Flask(__name__)
def get_response(user_query):
# Create a client object for interacting with OLLAMA API
client = Client()
# Generate and retrieve the response based on user's query
response = client.generate_response(user_query)
# Return the generated response
return response
def run_flask():
# Flask endpoint for user interaction
app.run(port=5000, debug=True)
@app.route('/smartassist', methods=['POST'])
def smartassist():
# Extract the query from the incoming JSON data
data = request.json
user_query = data['query']
# Get the response from the OLLAMA API based on the user's query
# NOTE: Should we append message history here? Maybe interact with SQLlite?
response = get_response(user_query)
# Return the response as a JSON object in the HTTP response
return jsonify({"response": response})
@app.route('/api/chat', methods=['POST'])
def chat():
data = request.get_json()
query = data['query']
response = requests.post('http://ollama-server/api/v1/chat', json={'prompt': query})
return jsonify({'response': response.json().get('result')})
if __name__ == '__main__':
# Run the Flask application
run_flask()