|
21 | 21 | # Embedding client logger |
22 | 22 | _embedding_logger = logging.getLogger("ai.analyzer.embedding") |
23 | 23 |
|
24 | | -# Embedding client configuration (can override via environment) |
25 | | -EMBEDDING_API_URL = os.getenv("PICOCODE_EMBEDDING_URL", CFG.get("api_url", "https://example.com/v1/embeddings")) |
26 | | -EMBEDDING_API_KEY = os.getenv("PICOCODE_EMBEDDING_API_KEY", CFG.get("api_key", "")) |
| 24 | +# Embedding client configuration (uses CFG values, can override specific ones via environment) |
27 | 25 | DEFAULT_TIMEOUT = float(os.getenv("PICOCODE_EMBEDDING_TIMEOUT", "30")) # seconds per request |
28 | 26 | MAX_RETRIES = int(os.getenv("PICOCODE_EMBEDDING_RETRIES", "2")) |
29 | 27 | BACKOFF_FACTOR = float(os.getenv("PICOCODE_EMBEDDING_BACKOFF", "1.5")) |
30 | | -EMBEDDING_MODEL_NAME = os.getenv("PICOCODE_EMBEDDING_MODEL", DEFAULT_EMBEDDING_MODEL or "text-embedding-3-small") |
31 | 28 |
|
32 | 29 | # Optionally enable requests debug logging by setting PICOCODE_HTTP_DEBUG=true |
33 | 30 | if os.getenv("PICOCODE_HTTP_DEBUG", "").lower() in ("1", "true", "yes"): |
@@ -132,21 +129,21 @@ class EmbeddingClient: |
132 | 129 | Provides better debugging for embedding API failures. |
133 | 130 | """ |
134 | 131 | def __init__(self, |
135 | | - api_url: str = EMBEDDING_API_URL, |
136 | | - api_key: str = EMBEDDING_API_KEY, |
137 | | - model: str = EMBEDDING_MODEL_NAME, |
| 132 | + api_url: Optional[str] = None, |
| 133 | + api_key: Optional[str] = None, |
| 134 | + model: Optional[str] = None, |
138 | 135 | timeout: float = DEFAULT_TIMEOUT, |
139 | 136 | max_retries: int = MAX_RETRIES, |
140 | 137 | backoff: float = BACKOFF_FACTOR): |
141 | | - self.api_url = api_url |
142 | | - self.api_key = api_key |
143 | | - self.model = model |
| 138 | + self.api_url = api_url or CFG.get("api_url") |
| 139 | + self.api_key = api_key or CFG.get("api_key") |
| 140 | + self.model = model or DEFAULT_EMBEDDING_MODEL or "text-embedding-3-small" |
144 | 141 | self.timeout = timeout |
145 | 142 | self.max_retries = max_retries |
146 | 143 | self.backoff = backoff |
147 | 144 | self.session = requests.Session() |
148 | | - if api_key: |
149 | | - self.session.headers.update({"Authorization": f"Bearer {api_key}"}) |
| 145 | + if self.api_key: |
| 146 | + self.session.headers.update({"Authorization": f"Bearer {self.api_key}"}) |
150 | 147 | self.session.headers.update({"Content-Type": "application/json"}) |
151 | 148 |
|
152 | 149 | def _log_request_start(self, request_id: str, file_path: str, chunk_index: int, chunk_len: int): |
|
0 commit comments