MCPcopy Create free account
hub / github.com/codefuse-ai/codefuse-devops-eval / OpenaiModel

Class OpenaiModel

src/models/openai_model.py:16–50  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14
15
16class OpenaiModel(ToolModel):
17 def __init__(self, model_path: str, template: str, system_prompt):
18 self.model_path = model_path
19 self.template = template
20 self.system_prompt = system_prompt
21
22 def generate(
23 self, prompts: str, template: str = None,
24 generate_configs: GenerateConfigs =None,
25 ) -> list:
26 '''产出对应结果'''
27 template = self.template if template is None else template
28
29 params = self.generate_params(generate_configs)
30
31 messages = [{"role": "system", "content": self.system_prompt}, {"role": "user", "content": prompts}]
32 try:
33 result = openai.ChatCompletion.create(api_base=os.environ["OPENAI_API_BASE"], api_key=os.environ["OPENAI_API_KEY"], model=self.model_path, messages=messages, **params)
34 # print("prompt_tokens: {}, completion_tokens: {}".format(result["usage"]["prompt_tokens"], result["usage"]["completion_tokens"]))
35 return result["choices"][0]["message"]["content"]
36 except Exception as e:
37 result = str(e)
38
39 def generate_params(
40 self, generate_configs: GenerateConfigs,
41 ):
42 '''generate param'''
43 kargs = generate_configs.dict()
44 params = {
45 "max_new_tokens": kargs.get("max_new_tokens", 128),
46 "top_k": kargs.get("top_k", 50),
47 "top_p": kargs.get("top_p", 0.95),
48 "temperature": kargs.get("temperature", 1.0),
49 }
50 return params
51

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected