(model, prompt)
| 60 | |
| 61 | |
| 62 | async def llm_acompletion(model, prompt): |
| 63 | if model: |
| 64 | model = model.removeprefix("litellm/") |
| 65 | max_retries = 10 |
| 66 | messages = [{"role": "user", "content": prompt}] |
| 67 | for i in range(max_retries): |
| 68 | try: |
| 69 | response = await litellm.acompletion( |
| 70 | model=model, |
| 71 | messages=messages, |
| 72 | temperature=0, |
| 73 | ) |
| 74 | return response.choices[0].message.content |
| 75 | except Exception as e: |
| 76 | print('************* Retrying *************') |
| 77 | logging.error(f"Error: {e}") |
| 78 | if i < max_retries - 1: |
| 79 | await asyncio.sleep(1) |
| 80 | else: |
| 81 | logging.error('Max retries reached for prompt: ' + prompt) |
| 82 | return "" |
| 83 | |
| 84 | |
| 85 | def get_json_content(response): |
no test coverage detected