Fully automated approach: Utilize our fully automation prompt optimization function that generates, evaluates and iteratively improves system prompts based on your shadow traffic, evaluation rubric, and optional ground truth outputs.
We've provided an example of this suggested generation and evaluation process below.
from farsightai import FarsightAI
from openai import OpenAI
# Replace this with your openAI credentials
OPEN_AI_KEY = "<openai_key>"
shadow_traffic = [
"What are the current job openings in the company?",
"How can I apply for a specific position?",
"What is the status of my job application?",
"Can you provide information about the company's benefits and perks?",
"What is the company's policy on remote work or flexible schedules?",
"How do I update my personal information in the HR system?",
"Can you explain the process for employee onboarding?",
"What training and development opportunities are available for employees?",
"How is performance evaluation conducted in the company?",
"Can you assist with information about employee assistance programs or wellness initiatives?",
]
best_prompts = farsight.get_best_system_prompts(shadow_traffic, gpt_optimized=True)
print (best_prompts)
# Result:
# [
# PromptEvaluation(
# score=4.666666666666667,
# system_prompt="<SYS> Thank you for reaching out to our HR chatbot. How can I assist you with your HR-related queries while ensuring the protection ...""
# test_results=[
# TestResult(
# score=5,
# input="What is the company's policy on remote work or flexible schedules? "
# output="Our company recognizes the importance of work-life balance and understands that remote work or flexible schedules can contribute ..."
# ),
# TestResult( ... ),
# TestResult( ... ),
# ]),
# PromptEvaluation( ... ),
# PromptEvaluation( ... )
# ]