MCPcopy Create free account
hub / github.com/microsoft/TypeChat / main

Function main

python/examples/drawing/demo.py:20–55  ·  view source on GitHub ↗
(file_path: str | None)

Source from the content-addressed store, hash-verified

18
19
20async def main(file_path: str | None):
21 env_vals = dotenv_values()
22 model = create_language_model(env_vals)
23 validator = TypeChatValidator(schema.Drawing)
24 translator = TypeChatJsonTranslator(model, validator, schema.Drawing)
25 # print(translator._schema_str)
26
27 window = tk.Tk()
28 window.title("Click to continue...")
29 canvas = tk.Canvas(window, width=800, height=600, bg="white", highlightthickness=0)
30 canvas.pack(padx=10, pady=10)
31 canvas.bind("<Button-1>", lambda event: window.quit())
32
33 history: list[str] = []
34
35 async def request_handler(request: str):
36 print("[Sending request...]")
37 history.append(request)
38 result: Success[schema.Drawing] | Failure = await translator.translate("\n".join(history))
39 if isinstance(result, Failure):
40 print("Failure:", result.message)
41 else:
42 value: schema.Drawing = result.value
43 print(value)
44 if any(isinstance(item, schema.UnknownText) for item in value.items):
45 print("Unknown text detected. Please provide more context:")
46 for item in value.items:
47 if isinstance(item, schema.UnknownText):
48 print(" ", item.text)
49
50 canvas.delete("all")
51 render_drawing(canvas, value)
52 print("Click in drawing to continue...")
53 window.mainloop()
54
55 await process_requests("~> ", file_path, request_handler)
56
57
58if __name__ == "__main__":

Callers 1

demo.pyFile · 0.70

Calls 4

create_language_modelFunction · 0.90
TypeChatValidatorClass · 0.90
process_requestsFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…