Web Analytics

ChinaTravel

⭐ 0 stars Persian by Adopos

ChinaTravel: یک معیار دنیای واقعی برای عامل‌های زبانی در برنامه‌ریزی سفر چینی

مخزن رسمی کد برای مقاله "ChinaTravel: یک معیار دنیای واقعی برای عامل‌های زبانی در برنامه‌ریزی سفر چینی".

صفحه وب مقاله داده‌ها(Huggingface) رقابت(TPC@IJCAI2025) رقابت(TPC@AIC2025)

🏆 چالش برنامه‌ریزی سفر IJCAI 2025 (TPC@IJCAI)

با افتخار اعلام می‌کنیم که ChinaTravel به عنوان معیار رسمی برای چالش برنامه‌ریزی سفر (TPC) @ IJCAI 2025 انتخاب شده است!

وب‌سایت رسمی رقابت: https://chinatravel-competition.github.io/IJCAI2025/

شرکت‌کنندگان دعوت می‌شوند تا عامل‌های نوآورانه‌ای را توسعه دهند که بتوانند سناریوهای واقعی برنامه‌ریزی سفر را تحت محدودیت‌های پیچیده مدیریت کنند. این رقابت روش‌های پیشرفته در پژوهش عامل‌های زبانی را به نمایش خواهد گذاشت.

📝 تغییرات

2025.09

2025.06

2025.05

2025.04

پیاده‌سازی پایپ‌لاین LLM-modulo با یک تأییدکننده نمادین ground-truth. براساس روش‌شناسی از: مقاله: Robust Planning with Compound LLM Architectures: An LLM-Modulo Approach پایگاه کد: https://github.com/Atharva-Gundawar/LLM-Modulo-prompts

🚀 شروع سریع

⚙️ راه‌اندازی

conda create -n chinatravel python=3.9  
conda activate chinatravel  
pip install -r requirements.txt  

لینک‌های دانلود: Google Drive، NJU Drive

bash download_llm.sh

wget https://cdn.deepseek.com/api-docs/deepseek_v3_tokenizer.zip -P chinatravel/local_llm/
unzip chinatravel/local_llm/deepseek_v3_tokenizer.zip -d chinatravel/local_llm/

▶️ اجرا

ما از deepseek (رابط برنامه‌نویسی رسمی از deepseek)، gpt-4o (chatgpt-4o-latest)، glm4-plus، و استنتاج‌های محلی با Qwen (Qwen3-8B)، llama، mistral (Mistral-7B-Instruct-v0.3) و غیره پشتیبانی می‌کنیم.

export OPENAI_API_KEY=""

python run_exp.py --splits easy --agent LLMNeSy --llm deepseek --oracle_translation python run_exp.py --splits medium --agent LLMNeSy --llm deepseek --oracle_translation python run_exp.py --splits human --agent LLMNeSy --llm deepseek --oracle_translation

python run_exp.py --splits human --agent LLMNeSy --llm Qwen3-8B --oracle_translation

python run_exp.py --splits human --agent LLMNeSy --llm deepseek python run_exp.py --splits human --agent LLMNeSy --llm Qwen3-8B

python run_exp.py --splits human --agent LLM-modulo --llm deepseek --refine_steps 10 --oracle_translation python run_exp.py --splits human --agent LLM-modulo --llm Qwen3-8B --refine_steps 10 --oracle_translation

توجه:

  {
    "hard_logic_py": [
      "
      total_cost=0 
      for activity in allactivities(plan):
          total_cost+=activity_cost(activity)
              total_cost += innercity_transport_cost(activity_transports(activity))
      result=(total_cost<=1000)
      ", 
      "
      innercity_transport_set=set()
      for activity in allactivities(plan):
          if activity_transports(activity)!=[]:              
              innercity_transport_set.add(innercity_transport_type(activity_transports(activity)))
      result=(innercity_transport_set<={'taxi'})
      "
    ], 
    "hard_logic_nl": ["总预算为1800元", "市内交通选择taxi"], 
  }
  ``
  • روش LLM-modulo برای فرایند پالایش نمادین خود به حالت oracle_translation نیاز دارد

📊 ارزیابی

bash python eval_exp.py --splits human --method LLMNeSy_deepseek_oracletranslation python eval_exp.py --splits human --method LLMNeSy_deepseek python eval_exp.py --splits human --method LLM-modulo_deepseek_10steps_oracletranslation python eval_exp.py --splits human --method LLM-modulo_Qwen3-8B_10steps_oracletranslation

در TPC@IJCAI2025، کد ارزیابی در فایل eval_tpc.py ارائه شده است. می‌توانید کد ارزیابی را به صورت زیر اجرا کنید:

bash python eval_tpc.py --splits tpc_phase1 --method YOUR_METHOD_NAME

📚 مستندات

محیط محدودیت‌ها

🛠️ توسعه پیشرفته

1. توسعه الگوریتم عامل خودتان

برای توسعه الگوریتم عامل خودتان، باید کلاس BaseAgent را از chinatravel/agent/base.py به ارث ببرید و منطق الگوریتم خود را به تابع init_agent در chinatravel/agent/load_model.py اضافه کنید. ما یک نمونه عامل خالی به نام TPCAgent ارائه کرده‌ایم.

مراحل:

  • ارث‌بری از کلاس BaseAgent: یک فایل پایتون جدید در مسیر chinatravel/agent ایجاد کنید و کلاس عامل خود را با ارث‌بری از BaseAgent تعریف نمایید.
python:chinatravel/agent/your_agent.py from .base import BaseAgent

class YourAgent(BaseAgent): def __init__(self, kwargs): super().__init__(kwargs) # Initialization logic

def act(self, observation): # Implement the decision - making logic of the agent pass

- کد را به تابع init_agent اضافه کنید: فایل chinatravel/agent/load_model.py را باز کنید و پشتیبانی از عامل جدید خود را به تابع init_agent اضافه نمایید.

python: def init_agent(kwargs): # ... existing code ... elif kwargs["method"] == "YourMethodName": agent = YourAgent( kwargs ) # ... existing code ... return agent

۲. توسعه مدل زبانی بزرگ محلی خود

برای توسعه مدل زبانی بزرگ محلی (LLM) خود، باید کلاس AbstractLLM را از chinatravel/agent/llms.py ارث‌بری کرده و کد استنتاج مدل LLM محلی مربوطه را در llms.py اضافه کنید. ما یک مثال خالی از LLM به نام TPCLLM ارائه داده‌ایم. مراحل:

  • ارث‌بری از کلاس AbstractLLM: کلاس LLM خود را در فایل chinatravel/agent/llms.py تعریف کنید و از AbstractLLM ارث‌بری نمایید.
python class YourLLM(AbstractLLM): def __init__(self): super().__init__() # Initialization logic self.name = "YourLLMName"

def _get_response(self, messages, one_line, json_mode): # Implement the response logic of the LLM response = "Your LLM response" if json_mode: # Handle JSON mode pass elif one_line: # Handle one - line mode response = response.split("\n")[0] return response


  • کد را به تابع init_agent اضافه کنید: فایل chinatravel/agent/load_model.py را باز کنید و پشتیبانی از مدل زبانی جدید خود را در تابع init_llm اضافه نمایید.
python: def init_llm(kwargs): # ... existing code ... elif llm_name == "glm4-plus": llm = YourLLM() # ... existing code ... return llm

3. اجرای کد خود با استفاده از اسکریپت‌های آزمایشی

پس از تکمیل توسعه بالا، می‌توانید از اسکریپت‌های آزمایشی برای اجرای کد خود استفاده کنید.

نمونه‌ای از اجرا:

bash python run_tpc.py --splits easy --agent TPCAgent --llm TPCLLM python run_exp.py --splits easy --agent YourMethodName --llm YourLLMName
نتایج در پوشه results/YourMethodName_YourLLMName_xxx ذخیره خواهند شد، به عنوان مثال: results/TPCAgent_TPCLLM.

✉️ تماس

در صورت وجود هرگونه مشکل، لطفاً با جی-جینگ شائو، بو-ون ژانگ، شیائو-ون یانگ تماس بگیرید.

📌 ارجاع

اگر مقاله یا منابع مرتبط ما برای پژوهش شما ارزشمند بودند، لطفاً از ما ارجاع دهید.

@misc{shao2024chinatravelrealworldbenchmarklanguage, title={ChinaTravel: A Real-World Benchmark for Language Agents in Chinese Travel Planning}, author={Jie-Jing Shao and Xiao-Wen Yang and Bo-Wen Zhang and Baizhi Chen and Wen-Da Wei and Guohao Cai and Zhenhua Dong and Lan-Zhe Guo and Yu-feng Li}, year={2024}, eprint={2412.13682}, archivePrefix={arXiv}, primaryClass={cs.AI}, url={https://arxiv.org/abs/2412.13682}, }
`` English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | ไทย | Français | Deutsch | Español | Italiano | Русский | Português | Nederlands | Polski | العربية | فارسی | Türkçe | Tiếng Việt | Bahasa Indonesia | অসমীয়া

--- Tranlated By Open Ai Tx | Last indexed: 2025-10-17 ---