(self, request, context)
| 647 | return backend_pb2.EmbeddingResult() |
| 648 | |
| 649 | async def GenerateImage(self, request, context): |
| 650 | if self.sd_model is None: |
| 651 | context.set_code(grpc.StatusCode.FAILED_PRECONDITION) |
| 652 | context.set_details("No Stable Diffusion model loaded") |
| 653 | return backend_pb2.Result(success=False, message="not loaded") |
| 654 | |
| 655 | try: |
| 656 | from PIL import Image |
| 657 | from vendor.stable_diffusion import run_sd15 |
| 658 | |
| 659 | steps = request.step if request.step > 0 else 20 |
| 660 | guidance = 7.5 |
| 661 | seed = request.seed if request.seed != 0 else None |
| 662 | img_tensor = run_sd15( |
| 663 | model=self.sd_model, |
| 664 | prompt=request.positive_prompt or "", |
| 665 | negative_prompt=request.negative_prompt or "", |
| 666 | steps=steps, |
| 667 | guidance=guidance, |
| 668 | seed=seed, |
| 669 | ) |
| 670 | arr = img_tensor.numpy() |
| 671 | image = Image.fromarray(arr) |
| 672 | dst = request.dst or os.path.join(tempfile.gettempdir(), "tinygrad_image.png") |
| 673 | image.save(dst) |
| 674 | return backend_pb2.Result(success=True, message=dst) |
| 675 | except Exception as exc: |
| 676 | import traceback |
| 677 | traceback.print_exc() |
| 678 | return backend_pb2.Result(success=False, message=f"GenerateImage failed: {exc}") |
| 679 | |
| 680 | def _transcribe(self, audio_path: str, language: Optional[str]) -> tuple[str, float]: |
| 681 | from vendor.whisper import load_file_waveform, transcribe_waveform |
nothing calls this directly
no test coverage detected