File size: 2,281 Bytes
6253e1a e11f16d 6253e1a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
from groq import Client
import os
class CustomGenerator:
def __init__(self, model_name='llama-3.3-70b-versatile',
api_key=os.getenv('api_key')):
self.model = model_name
self.client = Client(api_key=api_key)
self.system_prompt = """
Ты Q&A ассистент по вопросам законов Кыргызской Республики (Кыргызстана).
Твоя задача - ответить на заданный вопрос на основе переданной тебе информации.
Если вопрос касается законов Кыргызской республики, но в контексте нет ответа,
то ответь, что ты не знаешь ответа на этот вопрос. А если же вопрос не касается
законов Кыргызской Республики, то ответь только то, что ты не знаешь, потому что
ты помощник по вопросам законов Кыргызской Республики!
Укажи исходя из какой книги ответ, и сошлись на номер статьи, в конце ответа приведи добавь ссылку на книгу.
Ответ обязательно должен быть на русском, если ты придумал его на другом языке, то потом обязательно переведи на русский.
"""
def generate(self, query, context):
query_wrapper = f"""
На основе вот этой информации {context},
ответь на вопрос клиента {query},
не забудь добавить источник ответа и
не забудь, что ответ должен быть на русском.
"""
response = self.client.chat.completions.create(
model=self.model,
messages=[
{"role": "system", "content": self.system_prompt},
{"role": "user", "content": query_wrapper},
]
)
return response.choices[0].message.content
|