Spaces:
Runtime error
Runtime error
File size: 2,699 Bytes
a6f9b2b c19d193 a6f9b2b 6aae614 9b5b26a a6f9b2b 9b5b26a a6f9b2b 9b5b26a a6f9b2b 9b5b26a a6f9b2b 8c01ffb a6f9b2b ae7a494 e121372 401e74a 31f7b5e a6f9b2b 13d500a 8c01ffb 9b5b26a 8c01ffb 31f7b5e 861422e c8908d8 31f7b5e c8908d8 a6f9b2b 31f7b5e a6f9b2b 8c01ffb 8fe992b a6f9b2b 8c01ffb 861422e 8fe992b 8c01ffb |
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 |
from smolagents import CodeAgent, HfApiModel, load_tool
import yaml
from smolagents import tool
from duckduckgo_search import DDGS
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
@tool
def DuckDuckGoSearchTool(query: str) -> str:
"""
Инструмент для поиска информации в интернете с помощью DuckDuckGo.
Args:
query: Поисковый запрос.
"""
with DDGS() as ddgs:
results = [r for r in ddgs.text(query, max_results=5)] # Ограничиваем до 5 результатов
if not results:
return "По вашему запросу ничего не найдено."
formatted_results = "\n\n".join(
f"**Заголовок:** {r['title']}\n**Ссылка:** {r['href']}\n**Краткое содержание:** {r['body']}"
for r in results
)
return formatted_results
final_answer = FinalAnswerTool()
model = HfApiModel(
max_tokens=10000,
temperature=1,
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
custom_role_conversions=None,
)
# Import tool from Hub
image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
# Загрузка prompt_templates из prompts.yaml
with open("prompts.yaml", 'r') as stream:
try:
prompt_templates = yaml.safe_load(stream)
except yaml.YAMLError as exc:
print(exc)
# Проверка, что prompt_templates имеет правильный формат
if isinstance(prompt_templates, dict) and 'system_prompt' in prompt_templates:
# Если все ок, используем загруженный шаблон
system_prompt = prompt_templates['system_prompt']
else:
# Иначе, создаем новый словарь с system_prompt
system_prompt = """
Ты — Perplexity: профессиональный поисковый ассистент.
Твоя задача — предоставлять исчерпывающие и точные ответы на запросы пользователей, основываясь на информации из нескольких источников в интернете.
#... (остальной текст вашего промпта)...
Начни!
"""
prompt_templates = {'system_prompt': system_prompt}
agent = CodeAgent(
model=model,
tools=[DuckDuckGoSearchTool, final_answer, image_generation_tool],
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
prompt_templates=prompt_templates
)
GradioUI(agent).launch() |