Files

1 line
24 KiB
JSON

{"repo": "2829241525/tourmind", "files": {"Langchain/room_match/config.py": {"d9c6344c503c518b14b2c77ef26ad718237daff3": {"t": 1785746872.9034154, "n": 2896, "h": "38202244ee2caba9", "c": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\"\"\"\nLangchain项目配置文件\n包含工作流、Agent、RAG的配置参数\n\"\"\"\n\nimport os\nimport logging\n\n# ===== 全局配置 =====\n# 动态获取项目根目录\nPROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))\nDATA_DIR = os.path.join(PROJECT_ROOT, \"data\")\nLOGS_DIR = os.path.join(PROJECT_ROOT, \"logs\")\nMODELS_DIR = os.path.join(PROJECT_ROOT, \"models\")\n\n# 确保目录存在\n\nos.makedirs(DATA_DIR, exist_ok=True)\nos.makedirs(LOGS_DIR, exist_ok=True)\nos.makedirs(MODELS_DIR, exist_ok=True)\n\n\n# ===== 日志配置 =====\nLOG_CONFIG = {\n 'level': logging.INFO,\n 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n 'filename': os.path.join(LOGS_DIR, 'langchain_demo.log'),\n 'filemode': 'a',\n 'encoding': 'utf-8'\n}\n\n# ===== 房型匹配配置 =====\nROOM_MATCHING_CONFIG = {\n 'matching_method': 'llm', # 可选: 'llm' 或 'agent'\n 'enable_dl_matching': False, # 是否启用深度学习匹配\n 'llm_timeout': 300, # LLM调用超时时间(秒),从180增加到300\n 'agent_max_iterations': 3, # Agent最大迭代次数,从3增加到10\n 'agent_verbose': True, # Agent是否输出详细信息\n 'agent_early_stopping_method': 'generate', # 早停方法\n 'agent_handle_parsing_errors': True, # 处理解析错误\n}\n\n# ===== LLM配置 =====\nLLM_CONFIG = { \n # 阿里云千问配置 (默认)qwen-max deepseek-r1 qwen-plus deepseek-r1-0528 qwq-plus qwq-plus-latest\n 'qwen': {\n 'model_name': 'qwen-plus-latest',\n 'base_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',\n 'temperature': 0.7,\n 'max_tokens': 20000, # 从10000增加到20000,支持更长的响应\n 'api_key': os.getenv('DASHSCOPE_API_KEY', 'sk-6d6b7b8eac764d08b90a817610f2f6ce')\n }\n}\n# ===== 工作流配置 =====\nWORKFLOW_CONFIG = {\n 'max_steps': 10,\n 'timeout': 300, # 5分钟超时\n 'retry_count': 3,\n 'parallel_execution': False\n}\n\n# ===== 示例数据配置 =====\nSAMPLE_DATA = {\n 'documents': [\n \"人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。\",\n \"机器学习是人工智能的一个子领域,专注于让计算机系统自动从数据中学习和改进,而无需明确编程。\",\n \"深度学习是机器学习的一个子集,使用人工神经网络来模拟人脑的学习过程。\",\n \"自然语言处理是人工智能的一个分支,专注于让计算机理解、解释和生成人类语言。\"\n ],\n 'questions': [\n \"什么是人工智能?\",\n \"机器学习和深度学习有什么区别?\",\n \"自然语言处理的主要应用是什么?\"\n ]\n}\n\ndef setup_logging():\n \"\"\"设置日志配置\"\"\"\n logging.basicConfig(**LOG_CONFIG)\n return logging.getLogger(__name__)\n\ndef get_qwen_client():\n \"\"\"创建并返回一个阿里云千问客户端实例\"\"\"\n from openai import OpenAI\n qwen_config = LLM_CONFIG['qwen']\n \n # 设置环境变量\n if os.getenv(\"DASHSCOPE_API_KEY\") is None:\n os.environ[\"DASHSCOPE_API_KEY\"] = qwen_config['api_key']\n \n return OpenAI(\n api_key=os.getenv(\"DASHSCOPE_API_KEY\"),\n base_url=qwen_config['base_url'],\n )\n\ndef get_config(config_type):\n \"\"\"获取指定类型的配置\"\"\"\n configs = {\n 'llm': LLM_CONFIG,\n 'workflow': WORKFLOW_CONFIG\n }\n return configs.get(config_type, {})\n\nif __name__ == \"__main__\":\n logger = setup_logging()\n logger.info(\"配置加载完成\")\n print(\"Langchain项目配置已加载完成!\") "}, "b8792686c347772e0f940783eb7b2ec2f7ac9555": {"t": 1785768337.2452316, "n": 2896, "h": "38202244ee2caba9", "c": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\"\"\"\nLangchain项目配置文件\n包含工作流、Agent、RAG的配置参数\n\"\"\"\n\nimport os\nimport logging\n\n# ===== 全局配置 =====\n# 动态获取项目根目录\nPROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))\nDATA_DIR = os.path.join(PROJECT_ROOT, \"data\")\nLOGS_DIR = os.path.join(PROJECT_ROOT, \"logs\")\nMODELS_DIR = os.path.join(PROJECT_ROOT, \"models\")\n\n# 确保目录存在\n\nos.makedirs(DATA_DIR, exist_ok=True)\nos.makedirs(LOGS_DIR, exist_ok=True)\nos.makedirs(MODELS_DIR, exist_ok=True)\n\n\n# ===== 日志配置 =====\nLOG_CONFIG = {\n 'level': logging.INFO,\n 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n 'filename': os.path.join(LOGS_DIR, 'langchain_demo.log'),\n 'filemode': 'a',\n 'encoding': 'utf-8'\n}\n\n# ===== 房型匹配配置 =====\nROOM_MATCHING_CONFIG = {\n 'matching_method': 'llm', # 可选: 'llm' 或 'agent'\n 'enable_dl_matching': False, # 是否启用深度学习匹配\n 'llm_timeout': 300, # LLM调用超时时间(秒),从180增加到300\n 'agent_max_iterations': 3, # Agent最大迭代次数,从3增加到10\n 'agent_verbose': True, # Agent是否输出详细信息\n 'agent_early_stopping_method': 'generate', # 早停方法\n 'agent_handle_parsing_errors': True, # 处理解析错误\n}\n\n# ===== LLM配置 =====\nLLM_CONFIG = { \n # 阿里云千问配置 (默认)qwen-max deepseek-r1 qwen-plus deepseek-r1-0528 qwq-plus qwq-plus-latest\n 'qwen': {\n 'model_name': 'qwen-plus-latest',\n 'base_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',\n 'temperature': 0.7,\n 'max_tokens': 20000, # 从10000增加到20000,支持更长的响应\n 'api_key': os.getenv('DASHSCOPE_API_KEY', 'sk-6d6b7b8eac764d08b90a817610f2f6ce')\n }\n}\n# ===== 工作流配置 =====\nWORKFLOW_CONFIG = {\n 'max_steps': 10,\n 'timeout': 300, # 5分钟超时\n 'retry_count': 3,\n 'parallel_execution': False\n}\n\n# ===== 示例数据配置 =====\nSAMPLE_DATA = {\n 'documents': [\n \"人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。\",\n \"机器学习是人工智能的一个子领域,专注于让计算机系统自动从数据中学习和改进,而无需明确编程。\",\n \"深度学习是机器学习的一个子集,使用人工神经网络来模拟人脑的学习过程。\",\n \"自然语言处理是人工智能的一个分支,专注于让计算机理解、解释和生成人类语言。\"\n ],\n 'questions': [\n \"什么是人工智能?\",\n \"机器学习和深度学习有什么区别?\",\n \"自然语言处理的主要应用是什么?\"\n ]\n}\n\ndef setup_logging():\n \"\"\"设置日志配置\"\"\"\n logging.basicConfig(**LOG_CONFIG)\n return logging.getLogger(__name__)\n\ndef get_qwen_client():\n \"\"\"创建并返回一个阿里云千问客户端实例\"\"\"\n from openai import OpenAI\n qwen_config = LLM_CONFIG['qwen']\n \n # 设置环境变量\n if os.getenv(\"DASHSCOPE_API_KEY\") is None:\n os.environ[\"DASHSCOPE_API_KEY\"] = qwen_config['api_key']\n \n return OpenAI(\n api_key=os.getenv(\"DASHSCOPE_API_KEY\"),\n base_url=qwen_config['base_url'],\n )\n\ndef get_config(config_type):\n \"\"\"获取指定类型的配置\"\"\"\n configs = {\n 'llm': LLM_CONFIG,\n 'workflow': WORKFLOW_CONFIG\n }\n return configs.get(config_type, {})\n\nif __name__ == \"__main__\":\n logger = setup_logging()\n logger.info(\"配置加载完成\")\n print(\"Langchain项目配置已加载完成!\") "}, "110d3efa24c3adc31ea1c4073dec1904a9bbdfa6": {"t": 1785768338.6548107, "n": 2897, "h": "072e64bef5d01bac", "c": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\"\"\"\nLangchain项目配置文件\n包含工作流、Agent、RAG的配置参数\n\"\"\"\n\nimport os\nimport logging\n\n# ===== 全局配置 =====\n# 动态获取项目根目录\nPROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))\nDATA_DIR = os.path.join(PROJECT_ROOT, \"data\")\nLOGS_DIR = os.path.join(PROJECT_ROOT, \"logs\")\nMODELS_DIR = os.path.join(PROJECT_ROOT, \"models\")\n\n# 确保目录存在\n\nos.makedirs(DATA_DIR, exist_ok=True)\nos.makedirs(LOGS_DIR, exist_ok=True)\nos.makedirs(MODELS_DIR, exist_ok=True)\n\n\n# ===== 日志配置 =====\nLOG_CONFIG = {\n 'level': logging.INFO,\n 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n 'filename': os.path.join(LOGS_DIR, 'langchain_demo.log'),\n 'filemode': 'a',\n 'encoding': 'utf-8'\n}\n\n# ===== 房型匹配配置 =====\nROOM_MATCHING_CONFIG = {\n 'matching_method': 'llm', # 可选: 'llm' 或 'agent'\n 'enable_dl_matching': False, # 是否启用深度学习匹配\n 'llm_timeout': 300, # LLM调用超时时间(秒),从180增加到300\n 'agent_max_iterations': 10, # Agent最大迭代次数,从3增加到10\n 'agent_verbose': True, # Agent是否输出详细信息\n 'agent_early_stopping_method': 'generate', # 早停方法\n 'agent_handle_parsing_errors': True, # 处理解析错误\n}\n\n# ===== LLM配置 =====\nLLM_CONFIG = { \n # 阿里云千问配置 (默认)qwen-max deepseek-r1 qwen-plus deepseek-r1-0528 qwq-plus qwq-plus-latest\n 'qwen': {\n 'model_name': 'qwen-plus-latest',\n 'base_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',\n 'temperature': 0.7,\n 'max_tokens': 20000, # 从10000增加到20000,支持更长的响应\n 'api_key': os.getenv('DASHSCOPE_API_KEY', 'sk-6d6b7b8eac764d08b90a817610f2f6ce')\n }\n}\n# ===== 工作流配置 =====\nWORKFLOW_CONFIG = {\n 'max_steps': 10,\n 'timeout': 300, # 5分钟超时\n 'retry_count': 3,\n 'parallel_execution': False\n}\n\n# ===== 示例数据配置 =====\nSAMPLE_DATA = {\n 'documents': [\n \"人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。\",\n \"机器学习是人工智能的一个子领域,专注于让计算机系统自动从数据中学习和改进,而无需明确编程。\",\n \"深度学习是机器学习的一个子集,使用人工神经网络来模拟人脑的学习过程。\",\n \"自然语言处理是人工智能的一个分支,专注于让计算机理解、解释和生成人类语言。\"\n ],\n 'questions': [\n \"什么是人工智能?\",\n \"机器学习和深度学习有什么区别?\",\n \"自然语言处理的主要应用是什么?\"\n ]\n}\n\ndef setup_logging():\n \"\"\"设置日志配置\"\"\"\n logging.basicConfig(**LOG_CONFIG)\n return logging.getLogger(__name__)\n\ndef get_qwen_client():\n \"\"\"创建并返回一个阿里云千问客户端实例\"\"\"\n from openai import OpenAI\n qwen_config = LLM_CONFIG['qwen']\n \n # 设置环境变量\n if os.getenv(\"DASHSCOPE_API_KEY\") is None:\n os.environ[\"DASHSCOPE_API_KEY\"] = qwen_config['api_key']\n \n return OpenAI(\n api_key=os.getenv(\"DASHSCOPE_API_KEY\"),\n base_url=qwen_config['base_url'],\n )\n\ndef get_config(config_type):\n \"\"\"获取指定类型的配置\"\"\"\n configs = {\n 'llm': LLM_CONFIG,\n 'workflow': WORKFLOW_CONFIG\n }\n return configs.get(config_type, {})\n\nif __name__ == \"__main__\":\n logger = setup_logging()\n logger.info(\"配置加载完成\")\n print(\"Langchain项目配置已加载完成!\") "}, "9f0c75a0ebd70140c61eac9e20b1404344810607": {"t": 1785768339.866046, "n": 3267, "h": "66a19df8fa4b8f15", "c": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\"\"\"\nLangchain项目配置文件\n包含工作流、Agent、RAG的配置参数\n\"\"\"\n\nimport os\nimport logging\n\n# ===== 全局配置 =====\n# 动态获取项目根目录\nPROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))\nDATA_DIR = os.path.join(PROJECT_ROOT, \"data\")\nLOGS_DIR = os.path.join(PROJECT_ROOT, \"logs\")\nMODELS_DIR = os.path.join(PROJECT_ROOT, \"models\")\n\n# 确保目录存在\ntry:\n os.makedirs(DATA_DIR, exist_ok=True)\n os.makedirs(LOGS_DIR, exist_ok=True)\n os.makedirs(MODELS_DIR, exist_ok=True)\nexcept PermissionError:\n # 如果无法创建目录,使用当前目录\n PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))\n DATA_DIR = os.path.join(PROJECT_ROOT, \"data\")\n LOGS_DIR = os.path.join(PROJECT_ROOT, \"logs\")\n MODELS_DIR = os.path.join(PROJECT_ROOT, \"models\")\n os.makedirs(DATA_DIR, exist_ok=True)\n os.makedirs(LOGS_DIR, exist_ok=True)\n os.makedirs(MODELS_DIR, exist_ok=True)\n\n# ===== 日志配置 =====\nLOG_CONFIG = {\n 'level': logging.INFO,\n 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n 'filename': os.path.join(LOGS_DIR, 'langchain_demo.log'),\n 'filemode': 'a',\n 'encoding': 'utf-8'\n}\n\n# ===== 房型匹配配置 =====\nROOM_MATCHING_CONFIG = {\n 'matching_method': 'llm', # 可选: 'llm' 或 'agent'\n 'enable_dl_matching': False, # 是否启用深度学习匹配\n 'llm_timeout': 300, # LLM调用超时时间(秒),从180增加到300\n 'agent_max_iterations': 10, # Agent最大迭代次数,从3增加到10\n 'agent_verbose': True, # Agent是否输出详细信息\n 'agent_early_stopping_method': 'generate', # 早停方法\n 'agent_handle_parsing_errors': True, # 处理解析错误\n}\n\n# ===== LLM配置 =====\nLLM_CONFIG = { \n # 阿里云千问配置 (默认)qwen-max deepseek-r1 qwen-plus deepseek-r1-0528\n 'qwen': {\n 'model_name': 'qwen-plus',\n 'base_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',\n 'temperature': 0.7,\n 'max_tokens': 20000, # 从10000增加到20000,支持更长的响应\n 'api_key': os.getenv('DASHSCOPE_API_KEY', 'sk-6d6b7b8eac764d08b90a817610f2f6ce')\n }\n}\n# ===== 工作流配置 =====\nWORKFLOW_CONFIG = {\n 'max_steps': 10,\n 'timeout': 300, # 5分钟超时\n 'retry_count': 3,\n 'parallel_execution': False\n}\n\n# ===== 示例数据配置 =====\nSAMPLE_DATA = {\n 'documents': [\n \"人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。\",\n \"机器学习是人工智能的一个子领域,专注于让计算机系统自动从数据中学习和改进,而无需明确编程。\",\n \"深度学习是机器学习的一个子集,使用人工神经网络来模拟人脑的学习过程。\",\n \"自然语言处理是人工智能的一个分支,专注于让计算机理解、解释和生成人类语言。\"\n ],\n 'questions': [\n \"什么是人工智能?\",\n \"机器学习和深度学习有什么区别?\",\n \"自然语言处理的主要应用是什么?\"\n ]\n}\n\ndef setup_logging():\n \"\"\"设置日志配置\"\"\"\n logging.basicConfig(**LOG_CONFIG)\n return logging.getLogger(__name__)\n\ndef get_qwen_client():\n \"\"\"创建并返回一个阿里云千问客户端实例\"\"\"\n from openai import OpenAI\n qwen_config = LLM_CONFIG['qwen']\n \n # 设置环境变量\n if os.getenv(\"DASHSCOPE_API_KEY\") is None:\n os.environ[\"DASHSCOPE_API_KEY\"] = qwen_config['api_key']\n \n return OpenAI(\n api_key=os.getenv(\"DASHSCOPE_API_KEY\"),\n base_url=qwen_config['base_url'],\n )\n\ndef get_config(config_type):\n \"\"\"获取指定类型的配置\"\"\"\n configs = {\n 'llm': LLM_CONFIG,\n 'workflow': WORKFLOW_CONFIG\n }\n return configs.get(config_type, {})\n\nif __name__ == \"__main__\":\n logger = setup_logging()\n logger.info(\"配置加载完成\")\n print(\"Langchain项目配置已加载完成!\") "}, "1103ef17cfa89e5c2d6eeaf3f38af87cd0f42da0": {"t": 1785768341.2222404, "n": 3269, "h": "56fc8aa6d8ee81b1", "c": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\"\"\"\nLangchain项目配置文件\n包含工作流、Agent、RAG的配置参数\n\"\"\"\n\nimport os\nimport logging\n\n# ===== 全局配置 =====\n# 动态获取项目根目录\nPROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))\nDATA_DIR = os.path.join(PROJECT_ROOT, \"data\")\nLOGS_DIR = os.path.join(PROJECT_ROOT, \"logs\")\nMODELS_DIR = os.path.join(PROJECT_ROOT, \"models\")\n\n# 确保目录存在\ntry:\n os.makedirs(DATA_DIR, exist_ok=True)\n os.makedirs(LOGS_DIR, exist_ok=True)\n os.makedirs(MODELS_DIR, exist_ok=True)\nexcept PermissionError:\n # 如果无法创建目录,使用当前目录\n PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))\n DATA_DIR = os.path.join(PROJECT_ROOT, \"data\")\n LOGS_DIR = os.path.join(PROJECT_ROOT, \"logs\")\n MODELS_DIR = os.path.join(PROJECT_ROOT, \"models\")\n os.makedirs(DATA_DIR, exist_ok=True)\n os.makedirs(LOGS_DIR, exist_ok=True)\n os.makedirs(MODELS_DIR, exist_ok=True)\n\n# ===== 日志配置 =====\nLOG_CONFIG = {\n 'level': logging.INFO,\n 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n 'filename': os.path.join(LOGS_DIR, 'langchain_demo.log'),\n 'filemode': 'a',\n 'encoding': 'utf-8'\n}\n\n# ===== 房型匹配配置 =====\nROOM_MATCHING_CONFIG = {\n 'matching_method': 'agent', # 可选: 'llm' 或 'agent'\n 'enable_dl_matching': False, # 是否启用深度学习匹配\n 'llm_timeout': 300, # LLM调用超时时间(秒),从180增加到300\n 'agent_max_iterations': 10, # Agent最大迭代次数,从3增加到10\n 'agent_verbose': True, # Agent是否输出详细信息\n 'agent_early_stopping_method': 'generate', # 早停方法\n 'agent_handle_parsing_errors': True, # 处理解析错误\n}\n\n# ===== LLM配置 =====\nLLM_CONFIG = { \n # 阿里云千问配置 (默认)qwen-max deepseek-r1 qwen-plus deepseek-r1-0528\n 'qwen': {\n 'model_name': 'qwen-plus',\n 'base_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',\n 'temperature': 0.7,\n 'max_tokens': 20000, # 从10000增加到20000,支持更长的响应\n 'api_key': os.getenv('DASHSCOPE_API_KEY', 'sk-6d6b7b8eac764d08b90a817610f2f6ce')\n }\n}\n# ===== 工作流配置 =====\nWORKFLOW_CONFIG = {\n 'max_steps': 10,\n 'timeout': 300, # 5分钟超时\n 'retry_count': 3,\n 'parallel_execution': False\n}\n\n# ===== 示例数据配置 =====\nSAMPLE_DATA = {\n 'documents': [\n \"人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。\",\n \"机器学习是人工智能的一个子领域,专注于让计算机系统自动从数据中学习和改进,而无需明确编程。\",\n \"深度学习是机器学习的一个子集,使用人工神经网络来模拟人脑的学习过程。\",\n \"自然语言处理是人工智能的一个分支,专注于让计算机理解、解释和生成人类语言。\"\n ],\n 'questions': [\n \"什么是人工智能?\",\n \"机器学习和深度学习有什么区别?\",\n \"自然语言处理的主要应用是什么?\"\n ]\n}\n\ndef setup_logging():\n \"\"\"设置日志配置\"\"\"\n logging.basicConfig(**LOG_CONFIG)\n return logging.getLogger(__name__)\n\ndef get_qwen_client():\n \"\"\"创建并返回一个阿里云千问客户端实例\"\"\"\n from openai import OpenAI\n qwen_config = LLM_CONFIG['qwen']\n \n # 设置环境变量\n if os.getenv(\"DASHSCOPE_API_KEY\") is None:\n os.environ[\"DASHSCOPE_API_KEY\"] = qwen_config['api_key']\n \n return OpenAI(\n api_key=os.getenv(\"DASHSCOPE_API_KEY\"),\n base_url=qwen_config['base_url'],\n )\n\ndef get_config(config_type):\n \"\"\"获取指定类型的配置\"\"\"\n configs = {\n 'llm': LLM_CONFIG,\n 'workflow': WORKFLOW_CONFIG\n }\n return configs.get(config_type, {})\n\nif __name__ == \"__main__\":\n logger = setup_logging()\n logger.info(\"配置加载完成\")\n print(\"Langchain项目配置已加载完成!\") "}, "48b235b354ff1bab068f4fe63a3ec31532fd31a6": {"t": 1785768342.417144, "n": 2814, "h": "afeba66707600ef9", "c": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\"\"\"\nLangchain项目配置文件\n包含工作流、Agent、RAG的配置参数\n\"\"\"\n\nimport os\nimport logging\n\n# ===== 全局配置 =====\nPROJECT_ROOT = \"/Users/xiemingxuan/B-code/Langchain\"\nDATA_DIR = os.path.join(PROJECT_ROOT, \"data\")\nLOGS_DIR = os.path.join(PROJECT_ROOT, \"logs\")\nMODELS_DIR = os.path.join(PROJECT_ROOT, \"models\")\n\n# 确保目录存在\nos.makedirs(DATA_DIR, exist_ok=True)\nos.makedirs(LOGS_DIR, exist_ok=True)\nos.makedirs(MODELS_DIR, exist_ok=True)\n\n# ===== 日志配置 =====\nLOG_CONFIG = {\n 'level': logging.INFO,\n 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n 'filename': os.path.join(LOGS_DIR, 'langchain_demo.log'),\n 'filemode': 'a',\n 'encoding': 'utf-8'\n}\n\n# ===== 房型匹配配置 =====\nROOM_MATCHING_CONFIG = {\n 'matching_method': 'agent', # 可选: 'llm' 或 'agent'\n 'enable_dl_matching': False, # 是否启用深度学习匹配\n 'llm_timeout': 300, # LLM调用超时时间(秒),从180增加到300\n 'agent_max_iterations': 10, # Agent最大迭代次数,从3增加到10\n 'agent_verbose': True, # Agent是否输出详细信息\n 'agent_early_stopping_method': 'generate', # 早停方法\n 'agent_handle_parsing_errors': True, # 处理解析错误\n}\n\n# ===== LLM配置 =====\nLLM_CONFIG = { \n # 阿里云千问配置 (默认)qwen-max deepseek-r1 qwen-plus deepseek-r1-0528\n 'qwen': {\n 'model_name': 'qwen-plus',\n 'base_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',\n 'temperature': 0.7,\n 'max_tokens': 20000, # 从10000增加到20000,支持更长的响应\n 'api_key': os.getenv('DASHSCOPE_API_KEY', 'sk-6d6b7b8eac764d08b90a817610f2f6ce')\n }\n}\n# ===== 工作流配置 =====\nWORKFLOW_CONFIG = {\n 'max_steps': 10,\n 'timeout': 300, # 5分钟超时\n 'retry_count': 3,\n 'parallel_execution': False\n}\n\n# ===== 示例数据配置 =====\nSAMPLE_DATA = {\n 'documents': [\n \"人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。\",\n \"机器学习是人工智能的一个子领域,专注于让计算机系统自动从数据中学习和改进,而无需明确编程。\",\n \"深度学习是机器学习的一个子集,使用人工神经网络来模拟人脑的学习过程。\",\n \"自然语言处理是人工智能的一个分支,专注于让计算机理解、解释和生成人类语言。\"\n ],\n 'questions': [\n \"什么是人工智能?\",\n \"机器学习和深度学习有什么区别?\",\n \"自然语言处理的主要应用是什么?\"\n ]\n}\n\ndef setup_logging():\n \"\"\"设置日志配置\"\"\"\n logging.basicConfig(**LOG_CONFIG)\n return logging.getLogger(__name__)\n\ndef get_qwen_client():\n \"\"\"创建并返回一个阿里云千问客户端实例\"\"\"\n from openai import OpenAI\n qwen_config = LLM_CONFIG['qwen']\n \n # 设置环境变量\n if os.getenv(\"DASHSCOPE_API_KEY\") is None:\n os.environ[\"DASHSCOPE_API_KEY\"] = qwen_config['api_key']\n \n return OpenAI(\n api_key=os.getenv(\"DASHSCOPE_API_KEY\"),\n base_url=qwen_config['base_url'],\n )\n\ndef get_config(config_type):\n \"\"\"获取指定类型的配置\"\"\"\n configs = {\n 'llm': LLM_CONFIG,\n 'workflow': WORKFLOW_CONFIG\n }\n return configs.get(config_type, {})\n\nif __name__ == \"__main__\":\n logger = setup_logging()\n logger.info(\"配置加载完成\")\n print(\"Langchain项目配置已加载完成!\") "}}}}