instructor
106 строк · 7.2 Кб
1from pydantic import BaseModel
2
3from openai import OpenAI
4import instructor
5
6client = OpenAI()
7
8client = instructor.from_openai(client)
9
10
11class User(BaseModel):
12name: str
13email: str
14
15
16class MeetingInfo(BaseModel):
17user: User
18date: str
19location: str
20budget: int
21deadline: str
22
23
24data = """
25Jason Liu jason@gmail.com
26Meeting Date: 2024-01-01
27Meeting Location: 1234 Main St
28Meeting Budget: $1000
29Meeting Deadline: 2024-01-31
30"""
31stream1 = client.chat.completions.create_partial(
32model="gpt-4",
33response_model=MeetingInfo,
34messages=[
35{
36"role": "user",
37"content": f"Get the information about the meeting and the users {data}",
38},
39],
40stream=True,
41) # type: ignore
42
43for message in stream1:
44print(message)
45"""
46ser={} date=None location=None budget=None deadline=None
47user={} date=None location=None budget=None deadline=None
48user={} date=None location=None budget=None deadline=None
49user={} date=None location=None budget=None deadline=None
50user=PartialUser(name=None, email=None) date=None location=None budget=None deadline=None
51user=PartialUser(name=None, email=None) date=None location=None budget=None deadline=None
52user=PartialUser(name=None, email=None) date=None location=None budget=None deadline=None
53user=PartialUser(name=None, email=None) date=None location=None budget=None deadline=None
54user=PartialUser(name=None, email=None) date=None location=None budget=None deadline=None
55user=PartialUser(name=None, email=None) date=None location=None budget=None deadline=None
56user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
57user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
58user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
59user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
60user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
61user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
62user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
63user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
64user=PartialUser(name='Jason Liu', email=None) date=None location=None budget=None deadline=None
65user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
66user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
67user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
68user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
69user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
70user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
71user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
72user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
73user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
74user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
75user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
76user=PartialUser(name='Jason Liu', email='jason@gmail.com') date=None location=None budget=None deadline=None
77user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
78user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
79user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
80user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
81user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
82user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
83user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
84user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
85user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location=None budget=None deadline=None
86user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=None deadline=None
87user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=None deadline=None
88user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=None deadline=None
89user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=None deadline=None
90user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=None deadline=None
91user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=100 deadline=None
92user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
93user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
94user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
95user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
96user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
97user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
98user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
99user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
100user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
101user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
102user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
103user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline=None
104user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline='2024-01-31'
105user=PartialUser(name='Jason Liu', email='jason@gmail.com') date='2024-01-01' location='1234 Main St' budget=1000 deadline='2024-01-31'
106"""
107