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"
Metadata
Release files for botrun-flow-lang 6.6.254
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| botrun_flow_lang-6.6.254.tar.gz | 200.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| botrun_flow_lang-6.6.254-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 423.4 kB
Release files / botrun_flow_lang-6.6.254.tar.gz
| Download URL | botrun_flow_lang-6.6.254.tar.gz |
|---|---|
| Size | 200.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4cf1d88dbaeb6f8fb31a3e752d6fb349887356c8c1225be8c828b499505c237c
|
|
BLAKE2b-256 checksum How to use checksums |
7f682dc5b2554e8c43cfd8eb01fe6fc7b3368e6f7c408e275c99794d314e5585
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / botrun_flow_lang-6.6.254-py3-none-any.whl
| Download URL | botrun_flow_lang-6.6.254-py3-none-any.whl |
|---|---|
| Size | 222.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cc5f5e24a98384bfaab55a5a8276673771cdec580e233900c7dc9b0928fcf8e5
|
|
BLAKE2b-256 checksum How to use checksums |
e1c8003f0d1f01c8d5d68d43fe111cbd977dc41f89a75cc089d3f447f9d2562d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for botrun-flow-lang 6.6.254
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.