Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/akoun-dev_africahub.json
T

1 line
4.9 KiB
JSON

{"repo": "akoun-dev/africahub", "files": {"src/services/llm/providers/DeepSeekProvider.ts": {"501a910da5b23eb2ac58a5f05fa844193c184023": {"t": 1785746039.784474, "n": 2266, "h": "db95785f8370d781", "c": "\nimport { LLMProvider, LLMRequest, LLMResponse, LLMConfig } from '../LLMProvider';\n\nexport class DeepSeekProvider extends LLMProvider {\n constructor(config: LLMConfig) {\n super(config, 'deepseek');\n }\n\n async generateResponse(request: LLMRequest): Promise<LLMResponse> {\n const startTime = Date.now();\n \n try {\n const response = await fetch('https://api.deepseek.com/chat/completions', {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.config.apiKey}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n model: request.model || this.config.model || 'deepseek-chat',\n messages: [\n {\n role: 'system',\n content: request.systemPrompt || 'Vous êtes un assistant spécialisé en assurance en Afrique.'\n },\n {\n role: 'user',\n content: request.message\n }\n ],\n temperature: request.temperature || this.config.temperature || 0.7,\n max_tokens: request.maxTokens || this.config.maxTokens || 1000,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`DeepSeek API error: ${response.status}`);\n }\n\n const data = await response.json();\n const processingTime = Date.now() - startTime;\n \n return {\n content: data.choices[0].message.content,\n model: data.model,\n provider: 'deepseek',\n tokens_used: data.usage?.total_tokens,\n cost_estimate: this.estimateCost(data.usage?.total_tokens || 0),\n processing_time: processingTime\n };\n } catch (error) {\n throw new Error(`DeepSeek provider error: ${error.message}`);\n }\n }\n\n async isAvailable(): Promise<boolean> {\n try {\n const response = await fetch('https://api.deepseek.com/models', {\n headers: {\n 'Authorization': `Bearer ${this.config.apiKey}`,\n },\n });\n return response.ok;\n } catch {\n return false;\n }\n }\n\n estimateCost(tokens: number): number {\n // DeepSeek pricing: très compétitif, environ $0.14 per 1M tokens\n return (tokens / 1000000) * 0.14;\n }\n\n getModels(): string[] {\n return ['deepseek-chat', 'deepseek-coder'];\n }\n}\n"}, "a9ecefd8b1ba40ff5959adf339dbd75f53152882": {"t": 1785759113.537252, "n": 2266, "h": "db95785f8370d781", "c": "\nimport { LLMProvider, LLMRequest, LLMResponse, LLMConfig } from '../LLMProvider';\n\nexport class DeepSeekProvider extends LLMProvider {\n constructor(config: LLMConfig) {\n super(config, 'deepseek');\n }\n\n async generateResponse(request: LLMRequest): Promise<LLMResponse> {\n const startTime = Date.now();\n \n try {\n const response = await fetch('https://api.deepseek.com/chat/completions', {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.config.apiKey}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n model: request.model || this.config.model || 'deepseek-chat',\n messages: [\n {\n role: 'system',\n content: request.systemPrompt || 'Vous êtes un assistant spécialisé en assurance en Afrique.'\n },\n {\n role: 'user',\n content: request.message\n }\n ],\n temperature: request.temperature || this.config.temperature || 0.7,\n max_tokens: request.maxTokens || this.config.maxTokens || 1000,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`DeepSeek API error: ${response.status}`);\n }\n\n const data = await response.json();\n const processingTime = Date.now() - startTime;\n \n return {\n content: data.choices[0].message.content,\n model: data.model,\n provider: 'deepseek',\n tokens_used: data.usage?.total_tokens,\n cost_estimate: this.estimateCost(data.usage?.total_tokens || 0),\n processing_time: processingTime\n };\n } catch (error) {\n throw new Error(`DeepSeek provider error: ${error.message}`);\n }\n }\n\n async isAvailable(): Promise<boolean> {\n try {\n const response = await fetch('https://api.deepseek.com/models', {\n headers: {\n 'Authorization': `Bearer ${this.config.apiKey}`,\n },\n });\n return response.ok;\n } catch {\n return false;\n }\n }\n\n estimateCost(tokens: number): number {\n // DeepSeek pricing: très compétitif, environ $0.14 per 1M tokens\n return (tokens / 1000000) * 0.14;\n }\n\n getModels(): string[] {\n return ['deepseek-chat', 'deepseek-coder'];\n }\n}\n"}}}}