completion
Runnable HTTP server example completion.
from openai import OpenAIimport httpximport textwrapimport json
def log_response(response: httpx.Response): request = response.request print(f"Request: {request.method} {request.url}") print(" Headers:") for key, value in request.headers.items(): if key.lower() == "authorization": value = "[...]" if key.lower() == "cookie": value = value.split("=")[0] + "=..." print(f" {key}: {value}") print(" Body:") try: request_body = json.loads(request.content) print(textwrap.indent(json.dumps(request_body, indent=2), " ")) except json.JSONDecodeError: print(textwrap.indent(request.content.decode(), " ")) print(f"Response: status_code={response.status_code}") print(" Headers:") for key, value in response.headers.items(): if key.lower() == "set-cookie": value = value.split("=")[0] + "=..." print(f" {key}: {value}")
client = OpenAI(api_key="foobar", base_url="http://localhost:1234/v1/")
# Enable this to log requests and responses# client._client = httpx.Client(# event_hooks={"request": [print], "response": [log_response]}# )
while True: prompt = input(">>> ") completion = client.completions.create( model="default", prompt=prompt, max_tokens=256, frequency_penalty=1.0, top_p=0.1, temperature=0, ) resp = completion.choices[0].text print(resp)Source: examples/server/completion.py