| import os |
| import dotenv |
| from openai import OpenAI |
| from tenacity import retry, wait_random_exponential, stop_after_attempt |
|
|
| from .Base import BaseModel |
|
|
| dotenv.load_dotenv() |
|
|
| class Pangu(BaseModel): |
| def __init__(self, temperature=0): |
| api_base_url = "http://your_pangu_api_endpoint/v1" |
| api_key = "Bearer test_api_key" |
| self.model = "pangu_embedded_1b_cluster" |
| self.deepseek_client = OpenAI(api_key=api_key, base_url=api_base_url) |
|
|
| @retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(5)) |
| def prompt(self, processed_input): |
| response = self.deepseek_client.chat.completions.create( |
| model=self.model, |
| messages=processed_input, |
| stream=False, |
| temperature=0.7 |
| ) |
| return response.choices[0].message.content, response.usage.prompt_tokens, response.usage.completion_tokens |