Write Prompt From Scratch
Using Python SDK
Write Prompt From Scratch
Using Python SDK
from fi.prompt.client import PromptClient
from fi.prompt.types import ModelConfig, PromptTemplate, SystemMessage, UserMessage
def create_basic_prompt():
"""Case 1: Create a simple prompt with no variables"""
template = PromptTemplate(
name="basic_template",
messages=[
SystemMessage(content="You are a helpful assistant."),
UserMessage(content="Tell me about artificial intelligence.")
],
model_configuration=ModelConfig(
model_name="gpt-4",
temperature=0.7,
max_tokens=1000,
top_p=0.95,
frequency_penalty=0,
presence_penalty=0,
)
)
client = PromptClient(template=template)
return client.create()
def create_single_variable_prompt():
"""Case 2: Create a prompt with a single variable"""
template = PromptTemplate(
name="single_var_template",
messages=[
SystemMessage(content="You are a geography expert."),
UserMessage(content="What is the capital of {country}?")
],
model_configuration=ModelConfig(
model_name="gpt-4",
temperature=0.5
)
)
client = PromptClient(template=template)
return client.create()
def create_multiple_variables_prompt():
"""Case 3: Create a prompt with multiple variables"""
template = PromptTemplate(
name="multi_var_template",
messages=[
SystemMessage(content="You are a travel guide."),
UserMessage(content="What's the weather like in {city} during {season}?"),
UserMessage(content="What are the top {number} attractions in {city}?")
],
model_configuration=ModelConfig(
model_name="gpt-4",
temperature=0.7
)
)
client = PromptClient(template=template)
return client.create()
if __name__ == "__main__":
# Case 1: Basic prompt
basic_client = create_basic_prompt()
# Case 2: Single variable
single_var_client = create_single_variable_prompt()
response = single_var_client.run(variables={"country": "France"})
# Case 3: Multiple variables
multi_var_client = create_multiple_variables_prompt()
response = multi_var_client.run(variables={
"city": "Paris",
"season": "summer",
"number": "5"
})