Spaces:
Runtime error
Runtime error
| from smolagents import CodeAgent, HfApiModel | |
| from sql_data import sql_query, get_schema | |
| from sqlalchemy import create_engine, inspect, text | |
| import os | |
| from dotenv import load_dotenv | |
| from typing import Dict, List, Any | |
| import json | |
| # Load environment variables | |
| load_dotenv() | |
| # Example queries that the agent can handle | |
| EXAMPLE_QUERIES = [ | |
| "Quels sont les tarifs moyens des conteneurs 20ft et 40ft entre tous les ports ?", | |
| "Quels sont les ports d'origine les plus fréquents ?", | |
| "Montre-moi les routes avec des tarifs élevés pour les conteneurs 40ft", | |
| "Quelle est l'évolution des prix au fil du temps pour la route Surabaya vers Nansha ?", | |
| "Quelles sont les destinations disponibles depuis Shanghai ?", | |
| ] | |
| class FreightAgent: | |
| def __init__(self): | |
| self.setup_agent() | |
| def setup_agent(self) -> None: | |
| """ | |
| Initialize the CodeAgent with SQL tools. | |
| Create a CodeAgent with two tools: `sql_query` and `get_schema`. | |
| `sql_query` allows to perform SQL queries on the freights table. | |
| `get_schema` returns the schema of the freights table. | |
| """ | |
| self.agent = CodeAgent( | |
| tools=[sql_query, get_schema], | |
| model=HfApiModel("meta-llama/Llama-3.1-8B-Instruct"), | |
| ) | |
| def query(self, question: str) -> str: | |
| """ | |
| Ask a question about the freight data in natural language | |
| """ | |
| return self.agent.run(question) | |