| from flask import Flask |
| import ollama |
|
|
| app = Flask(__name__) |
|
|
| @app.route('/') |
| def hello_world(): |
| return "<h1>Hello, World!<h1>" |
|
|
|
|
| @app.route('/list') |
| def test_world(): |
| from ollama import ListResponse, list |
|
|
| response: ListResponse = list() |
| ansver = [] |
| for model in response.models: |
| ansver.append(f'Name:{model.model}') |
| ansver.append(f' Size (MB): {(model.size.real / 1024 / 1024):.2f}') |
| if model.details: |
| ansver.append(f' Format: {model.details.format}') |
| ansver.append(f' Family: {model.details.family}') |
| ansver.append(f' Parameter Size: {model.details.parameter_size}') |
| ansver.append(f' Quantization Level:{model.details.quantization_level}') |
| result = [f'<p>{answ}</p>' for answ in ansver ] |
| return '\n'.join(result) |
|
|
|
|
| @app.route('/ps') |
| def ps(): |
| from ollama import ProcessResponse, chat, ps, pull |
| ansver = [] |
|
|
| response: ProcessResponse = ps() |
| for model in response.models: |
| ansver.append(f'Model: {model.model}') |
| ansver.append(f' Digest: {model.digest}') |
| ansver.append(f' Expires at: {model.expires_at}') |
| ansver.append(f' Size: {model.size}') |
| ansver.append(f' Size vram: {model.size_vram}') |
| ansver.append(f' Details: {model.details}') |
| ansver.append(f' Context length: {model.context_length}') |
| ansver.append(f'\n') |
|
|
| response: ListResponse = list() |
| for model in response.models: |
| ansver.append(f'Name:{model.model}') |
| ansver.append(f' Size (MB): {(model.size.real / 1024 / 1024):.2f}') |
| if model.details: |
| ansver.append(f' Format: {model.details.format}') |
| ansver.append(f' Family: {model.details.family}') |
| ansver.append(f' Parameter Size: {model.details.parameter_size}') |
| ansver.append(f' Quantization Level:{model.details.quantization_level}') |
| result = [f'<p>{answ}</p>' for answ in ansver ] |
| return '\n'.join(result) |
|
|
| @app.route('/time') |
| def test_time(): |
| from datetime import datetime |
| from ollama import Client |
| from ollama import chat |
|
|
| t_start=datetime.now() |
| ansver = [] |
| messages = [ |
| { |
| 'role': 'user', |
| 'content': 'Расскажи о себе подробно', |
| }, |
| ] |
| response = chat('qwen3:0.6b', messages=messages) |
| ansver.append(f' start {t_start} ') |
| response_time=datetime.now()-t_start |
| ansver.append(f' duration {response_time} ') |
| |
| response_len = len(response['message']['content']) |
| ansver.append(f" lehgth {response_len}") |
| response_speed=response_len/int(response_time.seconds) |
| ansver.append(f" token/sek {response_len}") |
| ansver.append(response['message']['content']) |
| result = [f'<p>{answ}</p>' for answ in ansver ] |
| return '\n'.join(result) |
|
|
|
|
| @app.route('/time14') |
| def test_time14(): |
| from datetime import datetime |
| from ollama import Client |
| from ollama import chat |
|
|
| t_start=datetime.now() |
| ansver = [] |
| messages = [ |
| { |
| 'role': 'user', |
| 'content': 'Расскажи о себе подробно', |
| }, |
| ] |
| response = chat('qwen3:30b', messages=messages) |
| ansver.append(f' start {t_start} ') |
| response_time=datetime.now()-t_start |
| ansver.append(f' duration {response_time} ') |
| |
| response_len = len(response['message']['content']) |
| ansver.append(f" lehgth {response_len}") |
| response_speed=response_len/int(response_time.seconds) |
| ansver.append(f" token/sek {response_len}") |
| ansver.append(response['message']['content']) |
| result = [f'<p>{answ}</p>' for answ in ansver ] |
| return '\n'.join(result) |
|
|
|
|
| @app.route('/time30') |
| def test_time30(): |
| from datetime import datetime |
| from ollama import Client |
| from ollama import chat |
|
|
| t_start=datetime.now() |
| ansver = [] |
| messages = [ |
| { |
| 'role': 'user', |
| 'content': 'Расскажи о себе подробно', |
| }, |
| ] |
| response = chat('qwen3:30b', messages=messages) |
| ansver.append(f' start {t_start} ') |
| response_time=datetime.now()-t_start |
| ansver.append(f' duration {response_time} ') |
| |
| response_len = len(response['message']['content']) |
| ansver.append(f" lehgth {response_len}") |
| response_speed=response_len/int(response_time.seconds) |
| ansver.append(f" token/sek {response_len}") |
| ansver.append(response['message']['content']) |
| result = [f'<p>{answ}</p>' for answ in ansver ] |
| return '\n'.join(result) |
|
|
| if __name__ == '__main__': |
| app.run(host='0.0.0.0', port="7860") |
|
|