Skip to content

Commit b042db1

Browse files
committed
add cookbook example openai experiment
1 parent 3d03909 commit b042db1

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import os
2+
3+
from dotenv import load_dotenv
4+
from openai import OpenAI
5+
6+
from parea import Parea, trace
7+
from parea.schemas import Log
8+
9+
load_dotenv()
10+
11+
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
12+
p = Parea(api_key=os.getenv("PAREA_API_KEY"))
13+
p.wrap_openai_client(client)
14+
15+
16+
def eval_func(log: Log) -> float:
17+
from random import random
18+
from time import sleep
19+
20+
sleep(random() * 10)
21+
return random()
22+
23+
24+
@trace(eval_funcs=[eval_func])
25+
def func(lang: str, framework: str) -> str:
26+
return (
27+
client.chat.completions.create(
28+
model="gpt-4-turbo",
29+
messages=[
30+
{
31+
"role": "user",
32+
"content": f"Write a hello world program in {lang} using {framework}",
33+
}
34+
],
35+
)
36+
.choices[0]
37+
.message.content
38+
)
39+
40+
41+
if __name__ == "__main__":
42+
p.experiment(
43+
name="hello-world-example",
44+
data=[{"lang": "Python", "framework": "Flask"}],
45+
func=func,
46+
).run()

0 commit comments

Comments
 (0)