Spaces:
Sleeping
Sleeping
| import os | |
| from flask import Flask, request, Response | |
| import requests | |
| app = Flask(__name__) | |
| # Pega a chave que você vai definir nas configurações do Hugging Face | |
| API_KEY = os.environ.get("MY_SECRET_TOKEN", "chave-padrao-muito-segura") | |
| # O Ollama agora vai rodar internamente na porta 11434 | |
| OLLAMA_URL = "http://127.0.0.1:11434" | |
| def proxy(path): | |
| # Verifica se a chave no cabeçalho é igual à sua chave secreta | |
| auth_header = request.headers.get("Authorization") | |
| if auth_header != f"Bearer {API_KEY}": | |
| return Response("Não autorizado", status=401) | |
| # Se estiver correto, repassa a mensagem para o Ollama | |
| url = f"{OLLAMA_URL}/{path}" | |
| resp = requests.request( | |
| method=request.method, | |
| url=url, | |
| headers={k: v for k, v in request.headers if k.lower() != 'host'}, | |
| data=request.get_data(), | |
| cookies=request.cookies, | |
| allow_redirects=False, | |
| stream=True | |
| ) | |
| return Response(resp.iter_content(chunk_size=1024), resp.status_code, resp.headers.items()) | |
| if __name__ == "__main__": | |
| # O porteiro escuta na porta 7860 (a que o HF abre para o mundo) | |
| app.run(host='0.0.0.0', port=7860) |