フォーク元 g4f/gpt4free
modification
このコミットが含まれているのは:
コミット
b8706fd3ea
|
@ -1,11 +1,10 @@
|
|||
import os
|
||||
import time
|
||||
import json
|
||||
import time
|
||||
import uuid
|
||||
import hashlib
|
||||
import requests
|
||||
|
||||
from ..typing import sha256, Dict, get_type_hints
|
||||
from datetime import datetime
|
||||
|
||||
url: str = 'https://ai.ls'
|
||||
|
@ -13,29 +12,24 @@ model: str = 'gpt-3.5-turbo'
|
|||
|
||||
|
||||
class Utils:
|
||||
def hash(json_data: Dict[str, str]) -> sha256:
|
||||
@staticmethod
|
||||
def hash(json_data: dict) -> str:
|
||||
secretKey = bytearray([79, 86, 98, 105, 91, 84, 80, 78, 123, 83,
|
||||
35, 41, 99, 123, 51, 54, 37, 57, 63, 103, 59, 117, 115, 108, 41, 67, 76])
|
||||
|
||||
secretKey: bytearray = bytearray([79, 86, 98, 105, 91, 84, 80, 78, 123, 83,
|
||||
35, 41, 99, 123, 51, 54, 37, 57, 63, 103, 59, 117, 115, 108, 41, 67, 76])
|
||||
|
||||
base_string: str = '%s:%s:%s:%s' % (
|
||||
json_data['t'],
|
||||
json_data['m'],
|
||||
'OVbi[TPN{S#)c{36%9?g;usl)CL',
|
||||
len(json_data['m'])
|
||||
)
|
||||
base_string = f"{json_data['t']}:{json_data['m']}:{'OVbi[TPN{S#)c{36%9?g;usl)CL'}:{len(json_data['m'])}"
|
||||
|
||||
return hashlib.sha256(base_string.encode()).hexdigest()
|
||||
|
||||
@staticmethod
|
||||
def format_timestamp(timestamp: int) -> str:
|
||||
|
||||
e = timestamp
|
||||
n = e % 10
|
||||
r = n + 1 if n % 2 == 0 else n
|
||||
return str(e - n + r)
|
||||
|
||||
|
||||
def _create_completion(model: str,messages: list, temperature: float = 0.6, stream: bool = False):
|
||||
def _create_completion(model: str, messages: list, temperature: float = 0.6, stream: bool = False):
|
||||
headers = {
|
||||
'authority': 'api.caipacity.com',
|
||||
'accept': '*/*',
|
||||
|
@ -61,13 +55,16 @@ def _create_completion(model: str,messages: list, temperature: float = 0.6, stre
|
|||
't': timestamp,
|
||||
's': Utils.hash({
|
||||
't': timestamp,
|
||||
'm': messages[-1]['content']})}
|
||||
'm': messages[-1]['content']
|
||||
})
|
||||
}
|
||||
|
||||
json_data = json.dumps(separators=(',', ':'), obj={
|
||||
json_data = json.dumps({
|
||||
'model': 'gpt-3.5-turbo',
|
||||
'temperature': temperature,
|
||||
'stream': True,
|
||||
'messages': messages} | sig)
|
||||
'messages': messages
|
||||
} | sig, separators=(',', ':'))
|
||||
|
||||
response = requests.post('https://api.caipacity.com/v1/chat/completions?full=false',
|
||||
headers=headers, data=json_data, stream=True)
|
||||
|
|
読み込み中…
新しいイシューから参照