A flow language for botrun
Project description
botrun_flow_lang v1.0
開發環境安裝
- 使用 Python 3.11.9
- 安裝 uv 來管理 python 套件
- 安裝 uv 可以參考: 官方文件
- 第一次使用在 /project_folder/ 下執行
uv sync- 之後如果需要新增/刪除套件,需要執行
uv add xxx,uv remove xxx
要進行本地端 fastapi 的開發
uvicorn botrun_flow_lang.main:app --reload --host 0.0.0.0 --port 8080
- 可以執行的 curl,可以參考
botrun_flow_lang/tests/api_functional_tests.py
開發規範
- 修改
CHANGELOG.md - release 修改
pyproject.toml
(備份用)如果要進行 agent 的開發
- 先安裝 langgraph cli
- uncomment
botrun_flow_lang/langgraph_agents/agents/langgraph_react_agent.py的最後面幾行 - 在 project 目錄下執行
langgraph dev
以下是部署參考用,先保留
部署時會輸出可用的 requirements.txt
uv export --format requirements-txt --output-file requirements.txt --no-hashes
建立 firestore 的 index (以下以 dev 為例),實際部署的程式寫在 botrun_chat_deploy
gcloud firestore indexes composite create \
--collection-group=botrun-hatch-dev-hatch \
--field-config=field-path=user_id,order=ascending \
--field-config=field-path=name,order=ascending \
--field-config=field-path=__name__,order=ascending \
--project=scoop-386004
# 為AsyncFirestoreCheckpointer建立索引
gcloud firestore indexes composite create \
--collection-group=botrun-flow-lang-dev-checkpointer \
--field-config=field-path=checkpoint_ns,order=ascending \
--field-config=field-path=thread_id,order=ascending \
--field-config=field-path=timestamp,order=descending \
--field-config=field-path=__name__,order=descending \
--project=scoop-386004
打包 dev
gcloud builds submit --config cloudbuild_fastapi_dev.yaml --project=scoop-386004
deploy cloud run, dev 的版本
gcloud run deploy botrun-flow-lang-fastapi-dev \
--image asia-east1-docker.pkg.dev/scoop-386004/botrun-flow-lang/botrun-flow-lang-fastapi-dev \
--port 8080 \
--platform managed \
--allow-unauthenticated \
--project=scoop-386004 \
--region=asia-east1 \
--cpu 2 \
--memory 8Gi \
--min-instances 0 \
--max-instances 5 \
--timeout 3600s \
--concurrency 300 \
--cpu-boost \
建立 staging 的 index
gcloud firestore indexes composite create \
--collection-group=botrun-hatch-hatch \
--field-config=field-path=user_id,order=ascending \
--field-config=field-path=name,order=ascending \
--field-config=field-path=__name__,order=ascending \
--project=scoop-386004
打包 Cloud Run, staging 的版本
gcloud builds submit --config cloudbuild_fastapi.yaml --project=scoop-386004
佈署 cloud run, staging 的版本
gcloud run deploy botrun-flow-lang-fastapi \
--image asia-east1-docker.pkg.dev/scoop-386004/botrun-flow-lang/botrun-flow-lang-fastapi \
--port 8080 \
--platform managed \
--allow-unauthenticated \
--project=scoop-386004 \
--region=asia-east1 \
--cpu 2 \
--memory 8Gi \
--min-instances 0 \
--max-instances 5 \
--timeout 3600s \
--concurrency 300 \
--cpu-boost \
為了要減少冷啟動的時間,每十分鐘呼叫一次 heartbeat (為了省錢已移除,目前留著備份)
gcloud scheduler jobs create http botrun-flow-lang-heartbeat-job-$ENV \
--schedule "*/10 * * * *" \
--time-zone "Asia/Taipei" \
--uri "https://botrun-flow-lang-fastapi-$ENV-36186877499.asia-east1.run.app/heartbeat" \
--http-method GET \
--location "asia-east1" \
--project "scoop-386004"
測試 scheduler
gcloud scheduler jobs run botrun-flow-lang-heartbeat-job-$ENV --location "asia-east1" --project "scoop-386004"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file botrun_flow_lang-6.5.81-py3-none-any.whl.
File metadata
- Download URL: botrun_flow_lang-6.5.81-py3-none-any.whl
- Upload date:
- Size: 221.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe6746b2b0712f6f031e717fecd4cc7b9ef34ce160651e0d2c7c647bec17ff38
|
|
| MD5 |
da27142eaeb050a2d05c4b06b70f82be
|
|
| BLAKE2b-256 |
4dd697826983df34b8efc6d0b2cda91ecb8625d5fa492f37dfd409a3b6fceca5
|