Заставить Google Gemini отвечать на основе заданного набора данных с возможными ответами.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Заставить Google Gemini отвечать на основе заданного набора данных с возможными ответами.

Сообщение Anonymous »

У меня есть набор данных с несколькими сотнями возможных ответов на запросы на сообщения, написанные пользователем. Теперь мне бы хотелось, чтобы 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»