diff --git a/app/ai.py b/app/ai.py index 1747b0c..00352d5 100644 --- a/app/ai.py +++ b/app/ai.py @@ -16,12 +16,14 @@ class OfferReplyGenerator: model: str, system_prompt_file: Path, timeout_seconds: int, + proxy_url: str | None = None, ) -> None: self._api_base_url = api_base_url.rstrip("/") self._api_key = api_key self._model = model self._system_prompt = system_prompt_file.read_text(encoding="utf-8").strip() self._timeout_seconds = timeout_seconds + self._proxies = {"http": proxy_url, "https": proxy_url} if proxy_url else None async def generate_reply(self, offer: Offer) -> str: return await asyncio.to_thread(self._generate_reply_sync, offer) @@ -41,6 +43,7 @@ class OfferReplyGenerator: ], }, timeout=self._timeout_seconds, + proxies=self._proxies, ) response.raise_for_status() payload = response.json() diff --git a/main.py b/main.py index 7fcb071..a628ffb 100644 --- a/main.py +++ b/main.py @@ -136,6 +136,7 @@ async def main() -> None: model=settings.openai_model, system_prompt_file=settings.openai_system_prompt_file, timeout_seconds=settings.requests_timeout_seconds, + proxy_url=settings.telegram_proxy_url, ) dispatcher = build_dispatcher(reply_generator, published_offers_store) @@ -177,4 +178,4 @@ async def main() -> None: if __name__ == "__main__": - asyncio.run(main()) \ No newline at end of file + asyncio.run(main())