Web Analytics

ChinaTravel

⭐ 0 stars Thai by Adopos

ChinaTravel: ตัวชี้วัดในโลกจริงสำหรับตัวแทนภาษาในการวางแผนท่องเที่ยวจีน

ฐานรหัสอย่างเป็นทางการสำหรับงานวิจัย "ChinaTravel: ตัวชี้วัดในโลกจริงสำหรับตัวแทนภาษาในการวางแผนท่องเที่ยวจีน"

Webpage Paper Dataset(Huggingface) Competition(TPC@IJCAI2025) Competition(TPC@AIC2025)

🏆 การแข่งขันวางแผนท่องเที่ยว IJCAI 2025 (TPC@IJCAI)

เราภูมิใจประกาศว่า ChinaTravel ได้รับเลือกให้เป็นตัวชี้วัดอย่างเป็นทางการสำหรับ การแข่งขันวางแผนท่องเที่ยว (TPC) @ IJCAI 2025!

เว็บไซต์การแข่งขันอย่างเป็นทางการ: https://chinatravel-competition.github.io/IJCAI2025/

ขอเชิญผู้เข้าร่วมพัฒนาตัวแทนใหม่ ๆ ที่สามารถแก้ปัญหาวางแผนท่องเที่ยวในโลกจริงภายใต้ข้อจำกัดที่ซับซ้อน การแข่งขันนี้จะแสดงให้เห็นแนวทางล้ำสมัยในการวิจัยตัวแทนภาษา

📝 ChangeLog

2025.09

2025.06

2025.05

2025.04

ใช้งาน pipeline LLM-modulo ร่วมกับ symbolic verifier ที่เป็น 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 (API อย่างเป็นทางการจาก deepseek), gpt-4o (chatgpt-4o-latest), glm4-plus และการอนุมานแบบ local ด้วย 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: สร้างไฟล์ Python ใหม่ในไดเรกทอรี 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

2. พัฒนา LLM ในเครื่องของคุณเอง

ในการพัฒนาโมเดลภาษาขนาดใหญ่ (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 และเพิ่มการรองรับ llm ใหม่ของคุณในฟังก์ชัน 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

✉️ ติดต่อ

หากคุณพบปัญหาใด ๆ กรุณาติดต่อ Jie-Jing Shao, Bo-Wen Zhang, Xiao-Wen Yang

📌 การอ้างอิง

หากบทความหรือทรัพยากรที่เกี่ยวข้องของเราเป็นประโยชน์ต่อการวิจัยของคุณ กรุณาอ้างอิงด้วย

@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 ---