У меня есть набор данных с несколькими сотнями возможных ответов на запросы на сообщения, написанные пользователем. Теперь мне бы хотелось, чтобы Google Gemini понял контекст сообщения пользователя, выбрал ответ из набора данных и вернул его в качестве ответа. Ответ, который дает Gemini, должен на 100 % соответствовать шаблону в наборе данных.
Я использую флеш-модель, но пробовал и pro. Я также пробовал различные настройки температуры (включая 0). Я даже пробовал это с подсказками системы Vertex AI. Ничего из этого не сработало. Так что я немного в растерянности...
import google.generativeai as genai
import vertexai
from google.cloud import aiplatform
from googleapiclient.errors import HttpError
from google.generativeai.types import HarmCategory, HarmBlockThreshold
from config import Config
from context_caching import get_chat_cache
DATA_FILE = "datapackage"
def create_prompt(user_name, context):
print(f"-{context}")
prompt = (f"You are {user_name}."
f"Give the most fitting responding message out of the giving Dataset."
f"Latest Conversation-Context to Respond: {context}"
f"For a gradual long and specific context, the response should be longer, more specific, and fitting."
f"Always respond, content wise, to the last message of the context, with a message from the given Dataset."
f"Never repeat yourself!!!"
f"Always provide the response, just the Messagecontetn as a single string (no additional information besides the Messagecontent, 1:1 out of the Dataset).")
return prompt
def replace_data_at_google(file_path, name):
c = Config()
genai.configure(api_key=c.get_api_key().strip())
try:
file = genai.upload_file(path=file_path, name=name)
except HttpError as err:
if err.status_code == 409 and err._get_reason() == "datapackage already exists.":
genai.delete_file(name=name)
return replace_data_at_google(file_path, name)
return
def generate_response(number):
c = Config()
genai.configure(api_key=c.get_api_key().strip())
user_name = c.get_name()
context = get_chat_cache(number)
prompt = create_prompt(user_name, context)
datapackage = genai.get_file(DATA_FILE)
model = genai.GenerativeModel('gemini-1.5-flash')
config = genai.GenerationConfig(temperature=0)
response = model.generate_content([datapackage, prompt], generation_config=config, stream=False, safety_settings={
HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE,
HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_NONE,
HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT : HarmBlockThreshold.BLOCK_NONE,
HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE,
}
)
return response.text
Подробнее здесь: https://stackoverflow.com/questions/788 ... -responses
Заставить Google Gemini отвечать на основе заданного набора данных с возможными ответами. ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Точно настроенная модель чата Llama2 не может отвечать на вопросы из набора данных.
Anonymous » » в форуме Python - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Gemini возвращает ошибку: 400 Многоходовой чат не включен для моделей/gemini-pro-vision
Anonymous » » в форуме Python - 0 Ответы
- 142 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Gemini возвращает ошибку: 400 Многоходовой чат не включен для моделей/gemini-pro-vision
Anonymous » » в форуме Python - 0 Ответы
- 137 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Интеграция пользовательских аватаров с ответами на основе LLM в веб-приложении
Anonymous » » в форуме Python - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как получить нечеткие совпадения заданного набора имен в кадре данных полярностей Python?
Anonymous » » в форуме Python - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-