summaryrefslogtreecommitdiffstats
path: root/g4f/stubs.py
diff options
context:
space:
mode:
authorHeiner Lohaus <hlohaus@users.noreply.github.com>2024-02-14 09:21:57 +0100
committerHeiner Lohaus <hlohaus@users.noreply.github.com>2024-02-14 09:21:57 +0100
commite1a0b3ffa2aa6e5a7c068cdc559ca126f3b57b4c (patch)
treed8f146187920ffc683953a1e4f0c8476867b7ef4 /g4f/stubs.py
parentAdd variant example (diff)
downloadgpt4free-e1a0b3ffa2aa6e5a7c068cdc559ca126f3b57b4c.tar
gpt4free-e1a0b3ffa2aa6e5a7c068cdc559ca126f3b57b4c.tar.gz
gpt4free-e1a0b3ffa2aa6e5a7c068cdc559ca126f3b57b4c.tar.bz2
gpt4free-e1a0b3ffa2aa6e5a7c068cdc559ca126f3b57b4c.tar.lz
gpt4free-e1a0b3ffa2aa6e5a7c068cdc559ca126f3b57b4c.tar.xz
gpt4free-e1a0b3ffa2aa6e5a7c068cdc559ca126f3b57b4c.tar.zst
gpt4free-e1a0b3ffa2aa6e5a7c068cdc559ca126f3b57b4c.zip
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