Spaces:
Sleeping
Sleeping
File size: 2,759 Bytes
48f8ec0 c19d193 9b5b26a 48f8ec0 9b5b26a 48f8ec0 9b5b26a 48f8ec0 9b5b26a 48f8ec0 9b5b26a 48f8ec0 9b5b26a 48f8ec0 9b5b26a 48f8ec0 9b5b26a 48f8ec0 9b5b26a 48f8ec0 8c01ffb 48f8ec0 6aae614 e121372 48f8ec0 13d500a 8c01ffb 861422e 48f8ec0 8c01ffb 8fe992b 48f8ec0 8c01ffb 861422e 8fe992b 48f8ec0 9b5b26a |
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 |
from smolagents import CodeAgent, HfApiModel, tool
import yaml
from Gradio_UI import GradioUI
import requests
# Example tool to analyze waste data (Пример инструмента для анализа данных о вторсырье)
@tool
def analyze_waste_data(data: dict) -> str:
"""Analyzes waste data and provides recommendations.
(Анализирует данные о вторсырье и предоставляет рекомендации.)
Args:
data: A dictionary containing waste data, including types and quantities of waste.
(Словарь с данными о вторсырье, включающий типы и количество отходов.)
"""
# Example analysis of data (Пример анализа данных)
waste_types = data.get("types", {})
recommendations = []
for waste_type, amount in waste_types.items():
if amount > 100: # Example threshold value (Пример порогового значения)
recommendations.append(f"It is necessary to collect {waste_type}.")
# (Необходимо вывезти {waste_type}.)
return "\n".join(recommendations)
# Example tool to visualize collection routes (Пример инструмента для визуализации маршрутов)
@tool
def visualize_collection_routes(locations: list) -> str:
"""Visualizes optimal routes for waste collection.
(Визуализирует оптимальные маршруты для сбора вторсырья.)
Args:
locations: A list of coordinates for container locations.
(Список координат местоположений контейнеров.)
"""
# Example use of a maps API to visualize routes (Пример использования API карт для визуализации маршрутов)
map_url = "https://maps.google.com/?q=" + "&q=".join([f"{lat},{lon}" for lat, lon in locations])
return f"Optimal routes can be viewed at this link: {map_url}"
# (Оптимальные маршруты можно посмотреть по ссылке: {map_url})
# Load model and create agent (Загрузка модели и создание агента)
final_answer = FinalAnswerTool()
model = HfApiModel(
max_tokens=2096,
temperature=0.5,
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
custom_role_conversions=None,
)
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
agent = CodeAgent(
model=model,
tools=[final_answer, analyze_waste_data, visualize_collection_routes],
max_steps=6,
verbosity_level=1,
prompt_templates=prompt_templates
)
GradioUI(agent).launch()
|