промежуточно. Работает все, неверно формируется вчерашний отчет (нет выхода).
This commit is contained in:
+21
-14
@@ -3,27 +3,34 @@ import re
|
||||
import requests
|
||||
from config import OLLAMA_URL, OLLAMA_MODEL
|
||||
|
||||
def ask_ollama(prompt, model=OLLAMA_MODEL, system_prompt=None):
|
||||
"""Базовая функция отправки запросов к Ollama"""
|
||||
if system_prompt is None:
|
||||
system_prompt = "Ты — офисный аудитор безопасности и кадрового учета."
|
||||
|
||||
def ask_ollama(prompt, system_prompt=None):
|
||||
"""
|
||||
Универсальная функция отправки запросов к Ollama (поддерживает /api/generate и /api/chat)
|
||||
"""
|
||||
payload = {
|
||||
"model": model,
|
||||
"messages": [
|
||||
{"role": "system", "content": system_prompt},
|
||||
{"role": "user", "content": prompt}
|
||||
],
|
||||
"model": OLLAMA_MODEL,
|
||||
"prompt": f"{system_prompt}\n\n{prompt}" if system_prompt else prompt,
|
||||
"stream": False
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post(OLLAMA_URL, json=payload, timeout=60)
|
||||
response = requests.post(OLLAMA_URL, json=payload, timeout=120)
|
||||
if response.status_code == 200:
|
||||
return response.json()['message']['content']
|
||||
data = response.json()
|
||||
# Проверяем формат /api/generate
|
||||
if "response" in data:
|
||||
return data["response"].strip()
|
||||
# Проверяем формат /api/chat
|
||||
elif "message" in data and "content" in data["message"]:
|
||||
return data["message"]["content"].strip()
|
||||
else:
|
||||
return f"⚠️ Неизвестная структура ответа Ollama: {data}"
|
||||
else:
|
||||
return f"Ошибка API Ollama: {response.status_code}"
|
||||
return f"⚠️ Ошибка Ollama (Код {response.status_code}): {response.text}"
|
||||
except requests.exceptions.ConnectionError:
|
||||
return "⚠️ Не удалось подключиться к Ollama. Проверьте, запущен ли сервис (ollama run qwen2.5:14b)."
|
||||
except Exception as e:
|
||||
return f"Ошибка подключения к Ollama: {e}"
|
||||
return f"⚠️ Ошибка при обращении к Ollama: {e}"
|
||||
|
||||
def ai_verify_scud_against_staff(unrecognized_scud_fios, staff_fios):
|
||||
"""ИИ-сверка опечаток и несовпадений ФИО между СКУД и 1С:ЗУП"""
|
||||
|
||||
Reference in New Issue
Block a user