MCPcopy Create free account
hub / github.com/InternScience/SciReason / _generate

Method _generate

opencompass/models/stepfun_api.py:79–182  ·  view source on GitHub ↗

Generate results given an input. Args: inputs (PromptType): A string or PromptDict. The PromptDict should be organized in OpenCompass' API format. max_out_len (int): The maximum length of the output. Returns: str:

(
        self,
        input: PromptType,
        max_out_len: int = 512,
    )

Source from the content-addressed store, hash-verified

77 return results
78
79 def _generate(
80 self,
81 input: PromptType,
82 max_out_len: int = 512,
83 ) -> str:
84 """Generate results given an input.
85
86 Args:
87 inputs (PromptType): A string or PromptDict.
88 The PromptDict should be organized in OpenCompass'
89 API format.
90 max_out_len (int): The maximum length of the output.
91
92 Returns:
93 str: The generated string.
94 """
95 assert isinstance(input, (str, PromptList))
96
97 if isinstance(input, str):
98 messages = [{'role': 'user', 'content': input}]
99 else:
100 messages = []
101 msg_buffer, last_role = [], None
102 for item in input:
103 item['role'] = 'assistant' if item['role'] == 'BOT' else 'user'
104 if item['role'] != last_role and last_role is not None:
105 messages.append({
106 'content': '\n'.join(msg_buffer),
107 'role': last_role
108 })
109 msg_buffer = []
110 msg_buffer.append(item['prompt'])
111 last_role = item['role']
112 messages.append({
113 'content': '\n'.join(msg_buffer),
114 'role': last_role
115 })
116
117 if self.system_prompt:
118 system = {'role': 'system', 'content': self.system_prompt}
119 messages.insert(0, system)
120
121 data = {'model': self.model, 'messages': messages}
122
123 max_num_retries = 0
124 while max_num_retries < self.retry:
125 self.acquire()
126 try:
127 raw_response = requests.request('POST',
128 url=self.url,
129 headers=self.headers,
130 json=data)
131 except Exception as err:
132 print('Request Error:{}'.format(err))
133 time.sleep(2)
134 continue
135
136 try:

Callers

nothing calls this directly

Calls 4

acquireMethod · 0.80
releaseMethod · 0.80
formatMethod · 0.45
waitMethod · 0.45

Tested by

no test coverage detected