danicafisher commited on
Commit
a5cf32f
1 Parent(s): bae3b6e

Updates chat class

Browse files
.gitignore CHANGED
@@ -1,3 +1,2 @@
1
  __pycache__/
2
- data/
3
- DS_Store
 
1
  __pycache__/
2
+ .DS_Store
 
aimakerspace/openai_utils/chatmodel.py CHANGED
@@ -1,4 +1,4 @@
1
- from openai import OpenAI
2
  from dotenv import load_dotenv
3
  import os
4
 
@@ -25,3 +25,23 @@ class ChatOpenAI:
25
  return response.choices[0].message.content
26
 
27
  return response
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from openai import OpenAI, AsyncOpenAI
2
  from dotenv import load_dotenv
3
  import os
4
 
 
25
  return response.choices[0].message.content
26
 
27
  return response
28
+
29
+ async def astream(self, messages, **kwargs):
30
+ if not isinstance(messages, list):
31
+ raise ValueError("messages must be a list")
32
+
33
+ client = AsyncOpenAI()
34
+
35
+ stream = await client.chat.completions.create(
36
+ model=self.model_name,
37
+ messages=messages,
38
+ stream=True,
39
+ **kwargs
40
+ )
41
+
42
+ async for chunk in stream:
43
+ content = chunk.choices[0].delta.content
44
+ if content is not None:
45
+ yield content
46
+
47
+