XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

testing

cfce83bb
t.me/xtekky <98614666+xtekky@users.noreply.github.com>
提交于

代码差异

6 个文件 +16 -191
Deleted sqlchat/README.md +0 -42
@@ -1,42 +0,0 @@
1 ### Example: `sqlchat` (use like openai pypi package) <a name="example-sqlchat"></a>
2
3 ```python
4 # Import sqlchat
5 import sqlchat
6
7 # sqlchat.Completion.create
8 # sqlchat.StreamCompletion.create
9
10 [...]
11
12 ```
13
14 #### Example Chatbot
15 ```python
16 messages = []
17
18 while True:
19 user = input('you: ')
20
21 sqlchat_cmpl = sqlchat.Completion.create(
22 prompt = user,
23 messages = messages
24 )
25
26 print('gpt:', sqlchat_cmpl.completion.choices[0].text)
27
28 messages.extend([
29 {'role': 'user', 'content': user },
30 {'role': 'assistant', 'content': sqlchat_cmpl.completion.choices[0].text}
31 ])
32 ```
33
34 #### Streaming Response:
35
36 ```python
37 for response in sqlchat.StreamCompletion.create(
38 prompt = 'write python code to reverse a string',
39 messages = []):
40
41 print(response.completion.choices[0].text)
42 ```
Deleted sqlchat/__init__.py +0 -117
@@ -1,117 +0,0 @@
1 from requests import post
2 from time import time
3
4 headers = {
5 'authority' : 'www.sqlchat.ai',
6 'accept' : '*/*',
7 'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3',
8 'content-type' : 'text/plain;charset=UTF-8',
9 'origin' : 'https://www.sqlchat.ai',
10 'referer' : 'https://www.sqlchat.ai/',
11 'sec-fetch-dest' : 'empty',
12 'sec-fetch-mode' : 'cors',
13 'sec-fetch-site' : 'same-origin',
14 'user-agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
15 }
16
17 class SqlchatResponse:
18 class Completion:
19 class Choices:
20 def __init__(self, choice: dict) -> None:
21 self.text = choice['text']
22 self.content = self.text.encode()
23 self.index = choice['index']
24 self.logprobs = choice['logprobs']
25 self.finish_reason = choice['finish_reason']
26
27 def __repr__(self) -> str:
28 return f'''<__main__.APIResponse.Completion.Choices(\n text = {self.text.encode()},\n index = {self.index},\n logprobs = {self.logprobs},\n finish_reason = {self.finish_reason})object at 0x1337>'''
29
30 def __init__(self, choices: dict) -> None:
31 self.choices = [self.Choices(choice) for choice in choices]
32
33 class Usage:
34 def __init__(self, usage_dict: dict) -> None:
35 self.prompt_tokens = usage_dict['prompt_chars']
36 self.completion_tokens = usage_dict['completion_chars']
37 self.total_tokens = usage_dict['total_chars']
38
39 def __repr__(self):
40 return f'''<__main__.APIResponse.Usage(\n prompt_tokens = {self.prompt_tokens},\n completion_tokens = {self.completion_tokens},\n total_tokens = {self.total_tokens})object at 0x1337>'''
41
42 def __init__(self, response_dict: dict) -> None:
43
44 self.response_dict = response_dict
45 self.id = response_dict['id']
46 self.object = response_dict['object']
47 self.created = response_dict['created']
48 self.model = response_dict['model']
49 self.completion = self.Completion(response_dict['choices'])
50 self.usage = self.Usage(response_dict['usage'])
51
52 def json(self) -> dict:
53 return self.response_dict
54
55 class Completion:
56 def create(
57 prompt: str = 'hello world',
58 messages: list = []) -> SqlchatResponse:
59
60 response = post('https://www.sqlchat.ai/api/chat', headers=headers, stream=True,
61 json = {
62 'messages': messages,
63 'openAIApiConfig':{'key':'','endpoint':''}})
64
65 return SqlchatResponse({
66 'id' : f'cmpl-1337-{int(time())}',
67 'object' : 'text_completion',
68 'created': int(time()),
69 'model' : 'gpt-3.5-turbo',
70 'choices': [{
71 'text' : response.text,
72 'index' : 0,
73 'logprobs' : None,
74 'finish_reason' : 'stop'
75 }],
76 'usage': {
77 'prompt_chars' : len(prompt),
78 'completion_chars' : len(response.text),
79 'total_chars' : len(prompt) + len(response.text)
80 }
81 })
82
83 class StreamCompletion:
84 def create(
85 prompt : str = 'hello world',
86 messages: list = []) -> SqlchatResponse:
87
88 messages.append({
89 'role':'user',
90 'content':prompt
91 })
92
93 response = post('https://www.sqlchat.ai/api/chat', headers=headers, stream=True,
94 json = {
95 'messages': messages,
96 'openAIApiConfig':{'key':'','endpoint':''}})
97
98 for chunk in response.iter_content(chunk_size = 2046):
99 yield SqlchatResponse({
100 'id' : f'cmpl-1337-{int(time())}',
101 'object' : 'text_completion',
102 'created': int(time()),
103 'model' : 'gpt-3.5-turbo',
104
105 'choices': [{
106 'text' : chunk.decode(),
107 'index' : 0,
108 'logprobs' : None,
109 'finish_reason' : 'stop'
110 }],
111
112 'usage': {
113 'prompt_chars' : len(prompt),
114 'completion_chars' : len(chunk.decode()),
115 'total_chars' : len(prompt) + len(chunk.decode())
116 }
117 })
Modified t3nsor/README.md +2 -0
@@ -1,3 +1,5 @@
1 ### note: currently patched
2
1 3 ### Example: `t3nsor` (use like openai pypi package) <a name="example-t3nsor"></a>
2 4
3 5 ```python
Modified unfinished/gptbz/__init__.py +2 -3
@@ -1,6 +1,4 @@
1 import asyncio
2 1 import websockets
3
4 2 from json import dumps, loads
5 3
6 4 async def test():
@@ -20,6 +18,8 @@ async def test():
20 18 try:
21 19 response = await wss.recv()
22 20 json_response = loads(response)
21 print(json_response)
22
23 23 ended = json_response.get('eof')
24 24
25 25 if not ended:
@@ -28,4 +28,3 @@ async def test():
28 28 except websockets.ConnectionClosed:
29 29 break
30 30
31 asyncio.run(test())
Deleted unfinished/ora_test.py +0 -29
@@ -1,29 +0,0 @@
1 # inport ora
2 import ora
3
4 # create model
5 model = ora.CompletionModel.create(
6 system_prompt = 'You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible',
7 description = 'ChatGPT Openai Language Model',
8 name = 'gpt-3.5')
9
10 print(model.id)
11
12 # init conversation (will give you a conversationId)
13 init = ora.Completion.create(
14 model = model,
15 prompt = 'hello world')
16
17 print(init.completion.choices[0].text)
18
19 while True:
20 # pass in conversationId to continue conversation
21
22 prompt = input('>>> ')
23 response = ora.Completion.create(
24 model = model,
25 prompt = prompt,
26 includeHistory = True,
27 conversationId = init.id)
28
29 print(response.completion.choices[0].text)
Added unfinished/test.py +12 -0
@@ -0,0 +1,12 @@
1 import gptbz
2 import asyncio
3
4
5 # asyncio.run(gptbz.test())
6
7 import requests
8
9 image = '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'
10
11 response = requests.get('https://ocr.holey.cc/ncku?base64_str=%s' % image) #.split('base64,')[1])
12 print(response.content)