Evaluating and Validating GenAI Applications
Last updated
Was this helpful?
Was this helpful?
- step: evaluate-genai
image: valohai/python:3.10
command:
- python evaluate.py
inputs:
- name: model
default: model://model-name/v3
- name: evaluation_dataset
default: dataset:evaluation-prompts/v3import json
print(
json.dumps(
{
"bleu": 0.41,
"bert_score": 0.89,
"factuality": 0.83,
},
),
)
# or using valohai-utils
import valohai
with valohai.metadata.logger() as logger:
logger.log("bleu", 0.41)
logger.log("bert_score", 0.89)
logger.log("factuality", 0.83)- pipeline:
name: evaluate-stability
nodes:
- name: generate-seeds
type: execution
step: Generate Random Seeds # generates for example [1,2,3,4,5,6,7,8,9,10]
- name: evaluate-genai
type: task # This node runs multiple executions
step: evaluate-genai
- name: aggregate-results
type: execution
step: aggregate-results
actions:
- when: node-complete
if: metadata.response_variance > 0.02 # Stop pipeline is variance is greater than 0.02
then: stop-pipeline
- name: promote-model
type: execution
step: promote-model
edges:
- [generate-seeds.metadata.seeds, evaluate-genai.parameters.seed]
- [evaluate-genai.outputs.*, aggregate-results.inputs.results]variance = np.var(metric_scores)
with valohai.metadata.logger() as logger:
logger.log("response_variance", variance)- pipeline:
name: evaluate-stability
nodes:
- name: generate-seeds
type: execution
step: Generate Random Seeds # generates for example [1,2,3,4,5,6,7,8,9,10]
- name: evaluate-genai
type: task # This node runs multiple executions
step: evaluate-genai
- name: aggregate-results
type: execution
step: aggregate-results
actions:
- when: node-complete
if: metadata.response_variance < 0.02
then: stop-pipeline
- name: promote-model
type: execution
step: promote-model
actions:
- when: node-starting
then: require-approval
edges:
- [generate-seeds.metadata.seeds, evaluate-genai.parameters.seed]
- [evaluate-genai.outputs.*, aggregate-results.inputs.results][ Model A (v5) ] BLEU 0.40 Factuality 0.82
[ Model B (v6) ] BLEU 0.44 Factuality 0.85 ✅