-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenai_api_models.py
More file actions
63 lines (55 loc) · 2.68 KB
/
openai_api_models.py
File metadata and controls
63 lines (55 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#4566b621-926d-4405-82a1-f76728e8d93f
from openai import OpenAI
from config import OPENAI_API_KEY, MODELS
import logging
logger = logging.getLogger(__name__)
# Создаем клиент с увеличенным таймаутом
client = OpenAI(
api_key=OPENAI_API_KEY,
timeout=60.0 # Увеличиваем таймаут до 60 секунд
)
def list_models():
"""Получает список доступных моделей"""
try:
models = client.models.list()
print("\nДоступные модели:")
for model in models:
print(f"- {model.id}")
return [model.id for model in models]
except Exception as e:
logger.error(f"Ошибка при получении списка моделей: {str(e)}")
return []
def get_model_info(model_id: str):
"""Получает информацию о конкретной модели"""
try:
model = client.models.retrieve(model_id)
print(f"\nИнформация о модели {model_id}:")
print(f"ID: {model.id}")
print(f"Created: {model.created}")
print(f"Owned by: {model.owned_by}")
return model
except Exception as e:
logger.error(f"Ошибка при получении информации о модели: {str(e)}")
return None
def validate_models():
"""Проверяет доступность настроенных моделей"""
available_models = list_models()
# Проверяем модель для эмбеддингов
embedding_model = MODELS['embedding']['name']
if embedding_model not in available_models:
logger.warning(f"Модель для эмбеддингов {embedding_model} недоступна!")
print(f"ВНИМАНИЕ: Модель {embedding_model} не найдена в списке доступных моделей")
else:
print(f"Модель для эмбеддингов {embedding_model} доступна")
get_model_info(embedding_model)
# Проверяем модель для генерации
generation_model = MODELS['generation']['name']
if generation_model not in available_models:
logger.warning(f"Модель для генерации {generation_model} недоступна!")
print(f"ВНИМАНИЕ: Модель {generation_model} не найдена в списке доступных моделей")
else:
print(f"Модель для генерации {generation_model} доступна")
get_model_info(generation_model)
if __name__ == '__main__':
# Проверяем настроенные модели
validate_models()