botrun-flow-lang 6.2.21__tar.gz → 6.2.62__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/CHANGELOG.md +8 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/PKG-INFO +1 -2
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/langgraph_react_agent.py +13 -14
- botrun_flow_lang-6.2.62/botrun_flow_lang/langgraph_agents/agents/util/custom_vertex_claude.py +607 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/pyproject.toml +87 -88
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/uv.lock +0 -354
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/.env_template +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/.gcloudignore +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/.gitignore +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/.vscode/launch.json +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/CLAUDE.md +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/Dockerfile.template +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/README.md +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/auth_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/auth_utils.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/botrun_back_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/flow_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/hatch_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/langgraph_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/langgraph_constants.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/line_bot_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/model_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/rate_limit_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/routes.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/search_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/storage_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/subsidy_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/subsidy_api_system_prompt.txt +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/user_setting_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/version_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/api/youtube_api.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/constants.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/agent_runner.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/agent_tools/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/agent_tools/step_planner.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/checkpointer/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/checkpointer/firestore_checkpointer.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/GOV_RESEARCHER_PRD.md +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/gemini_subsidy_graph.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/gov_researcher_2_graph.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/gov_researcher/gov_researcher_graph.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/search_agent_graph.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/tools/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/tools/gemini_code_execution.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/gemini_grounding.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/html_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/img_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/local_files.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/mermaid_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/model_utils.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/pdf_analyzer.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/pdf_cache.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/pdf_processor.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/perplexity_search.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/plotly_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/tavily_search.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/usage_metadata.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/agents/util/youtube_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/cache/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/langgraph_agents/cache/langgraph_botrun_cache.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/llm_agent/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/llm_agent/llm_agent.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/llm_agent/llm_agent_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/log/.gitignore +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/main.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/main_fast.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/mcp_server/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/mcp_server/default_mcp.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/models/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/models/nodes/utils.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/models/token_usage.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/requirements.txt +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/base/firestore_base.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/hatch/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/hatch/hatch_factory.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/hatch/hatch_fs_store.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/storage/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/storage/storage_cs_store.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/storage/storage_factory.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/storage/storage_store.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/user_setting/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/user_setting/user_setting_factory.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/services/user_setting/user_setting_fs_store.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/static/docs/tools/index.html +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/api_functional_tests.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/api_stress_test.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/shared_hatch_tests.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_botrun_app.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/(/346/272/253/351/246/250/346/210/220/346/236/234 /350/241/214/346/224/277/350/253/213/347/244/272/345/214/257/347/270/275)20250210/345/220/221 /344/270/212/344/272/272/345/240/261/345/221/212/347/260/241/345/240/261 (1).pdf" +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/11206_10808/344/272/272/345/217/243/346/225/270(3/346/256/265/345/271/264/351/275/241/347/265/204+/346/257/224/347/216/207)/345/244/251/344/270/213/351/233/234/350/252/2141.pdf" +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/1120701A/346/265/267/345/273/243/351/233/242/345/262/270/351/242/250/345/212/233/347/231/274/351/233/273/350/250/210/347/225/253/347/222/260/345/242/203/345/275/261/351/237/277/350/252/252/346/230/216/346/233/270-C04.PDF" +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/ImportedPhoto.760363950.029251.jpeg +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/ImportedPhoto.760363950.030446.jpeg +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/ImportedPhoto.760363950.031127.jpeg +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/d5712343.jpg +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/spot_difference_1.png +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_files/spot_difference_2.png +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_html_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_img_analyzer.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_img_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_local_files.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_mermaid_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_pdf_analyzer.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_plotly_util.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tests/test_run_workflow_engine.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tools/generate_docs.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/tools/templates/tools.html +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/utils/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/utils/botrun_logger.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/utils/clients/__init__.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/utils/clients/rate_limit_client.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/utils/clients/token_verify_client.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/utils/google_drive_utils.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/utils/langchain_utils.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/botrun_flow_lang/utils/yaml_utils.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/cloudbuild_template.yaml +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/convert_newlines.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/deploy.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/langgraph.json +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/poetry.lock +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/poetry.toml +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/requirements.txt +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/requirements_fast.txt +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/deploy_bigline.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/deploy_dev.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/deploy_evaldev.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/deploy_fast.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/deploy_modaline.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/deploy_prod.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/deploy_sebaline.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/firestore_checkpointer_delete_thread.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/generate_docs.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/llm_time_test.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/run_langgraph.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/run_langgraph_react.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/run_youtube_summary.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/scrape_pdf.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/seba_pypi.sh +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/sh/subsidy_test.py +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/specs/gov-search/agent-architecture-upgrade.excalidraw +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/specs/gov-search/line_dev.excalidraw +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/specs/gov-search/subsidy_agent.excalidraw +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/specs/gov-search/subsidy_agent_dev.excalidraw +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/specs/gov-search/temp_txt.md +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/specs/gov-search/temp_txt2.md +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/specs/gov-search//346/264/245/350/262/274line/345/276/205/350/250/216/350/253/226.excalidraw" +0 -0
- {botrun_flow_lang-6.2.21 → botrun_flow_lang-6.2.62}/specs/system_thinking.excalidraw +0 -0
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [6.2.61]
|
|
2
|
+
- 新增 `ChatVertexAIClaude` 自製 LangGraph chat model(`custom_vertex_claude.py`):
|
|
3
|
+
- 透過 Vertex AI `rawPredict` REST API 直接呼叫 Claude,取代 `ChatAnthropicVertex`
|
|
4
|
+
- 支援 tool calling,完整相容 LangGraph react agent
|
|
5
|
+
- 處理 SystemMessage(含 cache_control)、HumanMessage、AIMessage(含 tool_calls)、ToolMessage 轉換
|
|
6
|
+
- 自動合併連續同角色訊息(Anthropic API 要求)
|
|
7
|
+
- 移除 `langchain-google-vertexai` 依賴,避免載入 `google-cloud-aiplatform`(約 26 秒),加速啟動
|
|
8
|
+
|
|
1
9
|
## [6.1.261]
|
|
2
10
|
- 優化 MCP 工具 docstring,避免 LLM 混淆 URL 有效期限:
|
|
3
11
|
- `create_html_page`:明確標示為 PERMANENT URL that never expires
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: botrun-flow-lang
|
|
3
|
-
Version: 6.2.
|
|
3
|
+
Version: 6.2.62
|
|
4
4
|
Summary: A flow language for botrun
|
|
5
5
|
Author-email: sebastian-hsu <sebastian.hsu@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -32,7 +32,6 @@ Requires-Dist: langchain-community>=0.3.27
|
|
|
32
32
|
Requires-Dist: langchain-core>=1.1.2
|
|
33
33
|
Requires-Dist: langchain-google-community>=2.0.3
|
|
34
34
|
Requires-Dist: langchain-google-genai>=4.0.0
|
|
35
|
-
Requires-Dist: langchain-google-vertexai<4.0.0,>=3.2.0
|
|
36
35
|
Requires-Dist: langchain-mcp-adapters>=0.1.7
|
|
37
36
|
Requires-Dist: langchain-openai>=0.3.28
|
|
38
37
|
Requires-Dist: langchain>=0.3.27
|
|
@@ -86,9 +86,11 @@ from langchain_mcp_adapters.client import MultiServerMCPClient
|
|
|
86
86
|
# ========
|
|
87
87
|
# for Vertex AI
|
|
88
88
|
from google.oauth2 import service_account
|
|
89
|
-
#
|
|
90
|
-
#
|
|
91
|
-
|
|
89
|
+
# 使用自製的 ChatVertexAIClaude 取代 ChatAnthropicVertex,
|
|
90
|
+
# 透過 rawPredict REST API 直接呼叫 Claude,避免載入 google-cloud-aiplatform(約 26 秒)
|
|
91
|
+
from botrun_flow_lang.langgraph_agents.agents.util.custom_vertex_claude import (
|
|
92
|
+
ChatVertexAIClaude,
|
|
93
|
+
)
|
|
92
94
|
|
|
93
95
|
load_dotenv()
|
|
94
96
|
|
|
@@ -251,18 +253,17 @@ def get_react_agent_model(model_name: str = ""):
|
|
|
251
253
|
|
|
252
254
|
elif "claude" in vertex_model_name.lower() or vertex_model_name.startswith("maison/"):
|
|
253
255
|
# Anthropic Claude (model garden)
|
|
254
|
-
#
|
|
255
|
-
|
|
256
|
-
model = ChatAnthropicVertex(
|
|
256
|
+
# 使用自製的 ChatVertexAIClaude,避免載入 google-cloud-aiplatform
|
|
257
|
+
model = ChatVertexAIClaude(
|
|
257
258
|
model=vertex_model_name,
|
|
258
259
|
location=vertex_region,
|
|
259
|
-
|
|
260
|
+
project_id=vertex_project,
|
|
260
261
|
credentials=credentials,
|
|
261
262
|
temperature=0,
|
|
262
263
|
max_tokens=ANTHROPIC_MAX_TOKENS,
|
|
263
264
|
)
|
|
264
265
|
logger.info(
|
|
265
|
-
f"model
|
|
266
|
+
f"model ChatVertexAIClaude {vertex_model_name} @ {vertex_region} (project: {vertex_project})"
|
|
266
267
|
)
|
|
267
268
|
|
|
268
269
|
else:
|
|
@@ -306,11 +307,9 @@ def get_react_agent_model(model_name: str = ""):
|
|
|
306
307
|
"VERTEX_AI_GOOGLE_APPLICATION_CREDENTIALS not set or file not found. Using ADC if available."
|
|
307
308
|
)
|
|
308
309
|
|
|
309
|
-
#
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
model = ChatAnthropicVertex(
|
|
313
|
-
project=vertex_project,
|
|
310
|
+
# 使用自製的 ChatVertexAIClaude,避免載入 google-cloud-aiplatform
|
|
311
|
+
model = ChatVertexAIClaude(
|
|
312
|
+
project_id=vertex_project,
|
|
314
313
|
model=vertex_model,
|
|
315
314
|
location=vertex_location,
|
|
316
315
|
credentials=credentials,
|
|
@@ -318,7 +317,7 @@ def get_react_agent_model(model_name: str = ""):
|
|
|
318
317
|
max_tokens=ANTHROPIC_MAX_TOKENS,
|
|
319
318
|
)
|
|
320
319
|
logger.info(
|
|
321
|
-
f"model
|
|
320
|
+
f"model ChatVertexAIClaude {vertex_project} @ {vertex_model} @ {vertex_location}"
|
|
322
321
|
)
|
|
323
322
|
|
|
324
323
|
else:
|