summaryrefslogtreecommitdiffstats
path: root/g4f/stubs.py
diff options
context:
space:
mode:
Diffstat (limited to 'g4f/stubs.py')
-rw-r--r--g4f/stubs.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/g4f/stubs.py b/g4f/stubs.py
new file mode 100644
index 00000000..1cbbb134
--- /dev/null
+++ b/g4f/stubs.py
@@ -0,0 +1,44 @@
+
+from __future__ import annotations
+
+class Model():
+ def __getitem__(self, item):
+ return getattr(self, item)
+
+class ChatCompletion(Model):
+ def __init__(self, content: str, finish_reason: str):
+ self.choices = [ChatCompletionChoice(ChatCompletionMessage(content, finish_reason))]
+
+class ChatCompletionChunk(Model):
+ def __init__(self, content: str, finish_reason: str):
+ self.choices = [ChatCompletionDeltaChoice(ChatCompletionDelta(content, finish_reason))]
+
+class ChatCompletionMessage(Model):
+ def __init__(self, content: str, finish_reason: str):
+ self.content = content
+ self.finish_reason = finish_reason
+
+class ChatCompletionChoice(Model):
+ def __init__(self, message: ChatCompletionMessage):
+ self.message = message
+
+class ChatCompletionDelta(Model):
+ def __init__(self, content: str, finish_reason: str):
+ self.content = content
+ self.finish_reason = finish_reason
+
+class ChatCompletionDeltaChoice(Model):
+ def __init__(self, delta: ChatCompletionDelta):
+ self.delta = delta
+
+class Image(Model):
+ url: str
+
+ def __init__(self, url: str) -> None:
+ self.url = url
+
+class ImagesResponse(Model):
+ data: list[Image]
+
+ def __init__(self, data: list) -> None:
+ self.data = data \ No newline at end of file