# pip install futureagi
import os
from fi.datasets import Dataset
from fi.datasets.types import (
Cell,
Column,
DatasetConfig,
DataTypeChoices,
ModelTypes,
Row,
SourceChoices,
)
# -------------------------------------------------------------------
# 1. Configure credentials
# -------------------------------------------------------------------
os.environ["FI_API_KEY"] = "YOUR_API_KEY" # Replace with your API key
os.environ["FI_SECRET_KEY"] = "YOUR_SECRET_KEY" # Replace with your secret key
os.environ["FI_BASE_URL"] = "https://api.futureagi.com"
# -------------------------------------------------------------------
# 2. Create / open the dataset
# -------------------------------------------------------------------
config = DatasetConfig(name="test-dataset", model_type=ModelTypes.GENERATIVE_LLM)
dataset = Dataset(dataset_config=config)
dataset = dataset.create() # Creates remotely if it doesn’t already exist
# -------------------------------------------------------------------
# 3. Define columns & rows
# -------------------------------------------------------------------
columns = [
Column(name="user_query", data_type=DataTypeChoices.TEXT, source=SourceChoices.OTHERS),
Column(name="response_quality", data_type=DataTypeChoices.INTEGER, source=SourceChoices.OTHERS),
Column(name="is_helpful", data_type=DataTypeChoices.BOOLEAN, source=SourceChoices.OTHERS),
]
rows = [
Row(order=1, cells=[
Cell(column_name="user_query", value="What is machine learning?"),
Cell(column_name="response_quality", value=8),
Cell(column_name="is_helpful", value=True),
]),
Row(order=2, cells=[
Cell(column_name="user_query", value="Explain quantum computing"),
Cell(column_name="response_quality", value=9),
Cell(column_name="is_helpful", value=True),
]),
]
# -------------------------------------------------------------------
# 4. Push data & run evaluation
# -------------------------------------------------------------------
dataset = dataset.add_columns(columns=columns)
dataset = dataset.add_rows(rows=rows)
dataset.add_evaluation(
name="factual_accuracy",
eval_template="is_factually_consistent",
required_keys_to_column_names={
"input": "user_query",
"output": "response_quality",
"context": "user_query",
},
run=True,
)
print("✓ Data added successfully")