You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.9 KiB
Python

import logging
import subprocess
import socket
import openai
def run_in_subprocess(cmd):
try:
with subprocess.Popen(
cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE
) as return_info:
while True:
next_line = return_info.stdout.readline()
return_line = next_line.decode("utf-8", "ignore").strip()
if return_line == "" and return_info.poll() != None:
break
if return_line != "":
logging.info(return_line)
err_lines = ""
while True:
next_line = return_info.stderr.readline()
return_line = next_line.decode("utf-8", "ignore").strip()
if return_line == "" and return_info.poll() != None:
break
if return_line != "":
logging.info(return_line)
err_lines += return_line + "\n"
return_code = return_info.wait()
if return_code:
raise RuntimeError(err_lines)
except Exception as e:
raise e
def simple_openai_api(model):
openai.api_base = "http://localhost:8000/v1"
openai.api_key = "none"
# create a request not activating streaming response
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": "你好"}],
stream=False,
stop=[], # You can add custom stop words here, e.g., stop=["Observation:"] for ReAct prompting.
)
print(response.choices[0].message.content)
def TelnetPort(server_ip, port):
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.settimeout(1)
connect_flag = False
try:
sk.connect((server_ip, port))
connect_flag = True
except Exception:
connect_flag = False
sk.close()
return connect_flag