MCPcopy Index your code
hub / github.com/evalplus/evalplus / OpenAIChatDecoder

Class OpenAIChatDecoder

evalplus/provider/openai.py:10–40  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8
9
10class OpenAIChatDecoder(DecoderBase):
11 def __init__(self, name: str, base_url=None, **kwargs) -> None:
12 super().__init__(name, **kwargs)
13 self.client = openai.OpenAI(
14 api_key=os.getenv("OPENAI_API_KEY", "none"), base_url=base_url
15 )
16
17 def codegen(
18 self, prompt: str, do_sample: bool = True, num_samples: int = 200
19 ) -> List[str]:
20 if do_sample:
21 assert self.temperature > 0, "Temperature must be positive for sampling"
22 batch_size = min(self.batch_size, num_samples)
23 message = self.instruction_prefix + f"\n```python\n{prompt.strip()}\n```"
24 ret = openai_request.make_auto_request(
25 self.client,
26 message=message,
27 model=self.name,
28 max_tokens=self.max_new_tokens,
29 temperature=self.temperature,
30 n=batch_size,
31 )
32
33 outputs = []
34 for item in ret.choices:
35 outputs.append(item.message.content)
36
37 return outputs
38
39 def is_direct_completion(self) -> bool:
40 return False

Callers 1

make_modelFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected