Spaces:
Sleeping
Sleeping
File size: 3,333 Bytes
1fa212d |
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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
"""
Основной файл приложения для запуска агента и интерфейса GAIA benchmark.
"""
import os
import logging
import gradio as gr
from typing import Dict, List, Any, Optional, Tuple
# Импорт компонентов агента
from agent_implementation import AgentController
from gaia_integration import GAIABenchmark, create_gaia_gradio_interface
# Настройка логирования
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler("app.log"),
logging.StreamHandler()
]
)
logger = logging.getLogger("app")
# Проверка наличия токена
hf_token = os.environ.get("HF_TOKEN")
if not hf_token:
logger.warning("HF_TOKEN not found in environment variables")
print("WARNING: HF_TOKEN not found in environment variables")
def process_question(question: str) -> str:
"""
Обработка вопроса с помощью агента.
Args:
question: Вопрос для обработки
Returns:
Ответ на вопрос
"""
if not question:
return "Please enter a question."
try:
# Создание агента
agent = AgentController(
model_name="gpt-3.5-turbo",
username="user"
)
# Обработка вопроса
answer = agent.process_question(question)
return answer
except Exception as e:
logger.error(f"Error processing question: {e}")
return f"Error: {str(e)}"
def create_gradio_interface():
"""
Создание интерфейса Gradio.
Returns:
Интерфейс Gradio
"""
# Создание агента
agent = AgentController(
model_name="gpt-3.5-turbo",
username="user"
)
# Создание интерфейса
with gr.Blocks() as demo:
gr.Markdown("# Hugging Face Agent with Tools")
with gr.Tab("Agent"):
with gr.Row():
with gr.Column():
question_input = gr.Textbox(label="Question", placeholder="Enter your question here...")
submit_button = gr.Button("Submit")
with gr.Column():
answer_output = gr.Textbox(label="Answer")
submit_button.click(fn=process_question, inputs=question_input, outputs=answer_output)
with gr.Tab("GAIA Benchmark"):
# Создание интерфейса для GAIA benchmark
gaia_interface = create_gaia_gradio_interface(agent, hf_token)
# Интеграция интерфейса GAIA benchmark
# Примечание: в данной реализации интерфейс создается внутри функции create_gaia_gradio_interface
# и возвращается как часть основного интерфейса
return demo
def main():
"""Основная функция для запуска приложения."""
demo = create_gradio_interface()
demo.launch()
if __name__ == "__main__":
main()
|