Deepifra / app.py
AdarshJi's picture
Create app.py
30e4b7a verified
raw
history blame
2.12 kB
import uvicorn
import json
import requests
from flask import Flask, request, jsonify
app = Flask(__name__)
rq = requests.sessions.Session()
model_names = [
"meta-llama/Meta-Llama-3-70B-Instruct",
"meta-llama/Meta-Llama-3-8B-Instruct",
"mistralai/Mixtral-8x22B-Instruct-v0.1",
"mistralai/Mixtral-8x22B-v0.1",
"microsoft/WizardLM-2-8x22B",
"microsoft/WizardLM-2-7B",
"HuggingFaceH4/zephyr-orpo-141b-A35b-v0.1",
"google/gemma-1.1-7b-it",
"databricks/dbrx-instruct",
"mistralai/Mixtral-8x7B-Instruct-v0.1",
"mistralai/Mistral-7B-Instruct-v0.2",
"meta-llama/Llama-2-70b-chat-hf",
"cognitivecomputations/dolphin-2.6-mixtral-8x7b",
"codellama/CodeLlama-70b-Instruct-hf"
]
def DeepinFra(Api:str, messages:list ,model:str, max_tokens: int = 512, temperature: float = 0.7):
url = "https://api.deepinfra.com/v1/openai/chat/completions"
headers ={
"Authorization" : f"Bearer {Api}"
}
data = json.dumps(
{
'model': model,
'messages': messages,
'temperature': temperature,
'max_tokens': max_tokens,
'stop': [],
'stream': False
}, separators=(',', ':')
)
try:
result = rq.post(url=url, headers=headers, data=data)
return result.json()['choices'][0]['message']['content']
except:
return "Response content: " + result.text
@app.route("/generate-text-deep", methods=["POST"])
def generate_text():
data = request.json
message = data.get("message")
Api = data.get("api_key")
model_name = data.get("model_name", "mistralai/Mixtral-8x22B-Instruct-v0.1")
max_tokens = data.get("max_tokens", 512)
temperature = data.get("temperature", 0.7)
if not message or not Api:
return jsonify({"error": "Missing required fields"}), 400
response = DeepinFra(Api=Api , messages=message, model=model_name, max_tokens=max_tokens, temperature=temperature)
return jsonify({"response": response}), 200