diff options
Diffstat (limited to 'unfinished/easyai/main.py')
-rw-r--r-- | unfinished/easyai/main.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/unfinished/easyai/main.py b/unfinished/easyai/main.py new file mode 100644 index 00000000..451adb3b --- /dev/null +++ b/unfinished/easyai/main.py @@ -0,0 +1,42 @@ +# Import necessary libraries +from json import loads +from os import urandom + +from requests import get + +# Generate a random session ID +sessionId = urandom(10).hex() + +# Set up headers for the API request +headers = { + 'Accept': 'text/event-stream', + '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', + 'Cache-Control': 'no-cache', + 'Connection': 'keep-alive', + 'Pragma': 'no-cache', + 'Referer': 'http://easy-ai.ink/chat', + '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', + 'token': 'null', +} + +# Main loop to interact with the AI +while True: + # Get user input + prompt = input('you: ') + + # Set up parameters for the API request + params = { + 'message': prompt, + 'sessionId': sessionId + } + + # Send request to the API and process the response + for chunk in get('http://easy-ai.ink/easyapi/v1/chat/completions', params=params, + headers=headers, verify=False, stream=True).iter_lines(): + + # Check if the chunk contains the 'content' field + if b'content' in chunk: + # Parse the JSON data and print the content + data = loads(chunk.decode('utf-8').split('data:')[1]) + + print(data['content'], end='') |