You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Deployment.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -247,6 +247,7 @@ Secrets exist in two places:
247
247
|`DB_PASSWORD`| ⚠️ Database password — **not read by any current application code**|[deploy.production.yml](.github/workflows/deploy.production.yml) (env file only) |
248
248
|`APP_PASSWORD`| SMTP app-specific password for sending feedback emails |[deploy.production.yml](.github/workflows/deploy.production.yml), [backend/tenantfirstaid/app.py](backend/tenantfirstaid/app.py)|
249
249
|`SSH_USER`| SSH username on the droplet (staging environment only — stored as a secret there) |[deploy.staging.yml](.github/workflows/deploy.staging.yml)|
250
+
|`LANGSMITH_API_KEY`| LangSmith API key for LLM trace collection (quality-control review of live conversations) |[deploy.production.yml](.github/workflows/deploy.production.yml), [deploy.staging.yml](.github/workflows/deploy.staging.yml)|
250
251
251
252
### GitHub Actions variables (non-sensitive)
252
253
@@ -269,6 +270,7 @@ Secrets exist in two places:
269
270
|`GOOGLE_CLOUD_LOCATION`| GCP region (e.g. `global`) |[deploy.production.yml](.github/workflows/deploy.production.yml), [backend/tenantfirstaid/constants.py](backend/tenantfirstaid/constants.py)|
270
271
|`VERTEX_AI_DATASTORE`| Vertex AI RAG corpus identifier |[deploy.production.yml](.github/workflows/deploy.production.yml), [backend/tenantfirstaid/constants.py](backend/tenantfirstaid/constants.py)|
|`LANGSMITH_PROJECT`| LangSmith project name that groups traces in the UI (e.g. `tenantfirstaid-prod`, `tenantfirstaid-staging`) |[deploy.production.yml](.github/workflows/deploy.production.yml), [deploy.staging.yml](.github/workflows/deploy.staging.yml)|
272
274
273
275
### Local development
274
276
@@ -559,11 +561,15 @@ The production Gunicorn service is instrumented with DataDog for log collection
559
561
560
562
The DataDog agent and its API key are configured directly on the server by a server admin and are not stored in this repository or the CI pipeline.
561
563
562
-
### LangSmith (LLM traces — development / CI only)
[LangSmith](https://smith.langchain.com/)can optionally trace LLM calls for debugging and evaluation when a `LANGSMITH_API_KEY`is set. See `backend/.env.example` for the relevant variables. LangSmith tracing is **not** enabled in the production deployment.
566
+
[LangSmith](https://smith.langchain.com/)traces every LLM call made by the live chatbot for ongoing quality-control review of user conversations. Tracing is enabled in **production and staging** as well as local development; the on/off switch is the presence of a `LANGSMITH_API_KEY` env var plus the `LANGSMITH_TRACING=true` / `LANGCHAIN_TRACING_V2=true` flags (see [`backend/.env.example`](backend/.env.example)).
565
567
566
-
For running evaluations, see [`backend/evaluate/EVALUATION.md`](backend/evaluate/EVALUATION.md).
568
+
Traces are grouped in the LangSmith UI by the `LANGSMITH_PROJECT` variable — typically `tenantfirstaid-prod` vs `tenantfirstaid-staging` — so production and staging traffic are viewable separately.
569
+
570
+
> **Privacy note**: trace content includes user-submitted chat messages, which may contain sensitive housing/legal details. Access to the LangSmith project is therefore limited to maintainers with a documented quality-control need. See [Permissions](#permissions) for how to request access.
571
+
572
+
For running offline evaluations against a dataset, see [`backend/evaluate/EVALUATION.md`](backend/evaluate/EVALUATION.md).
0 commit comments