google-gemini / generative-ai-python

The official Python library for the Google Gemini API
https://pypi.org/project/google-generativeai/
Apache License 2.0
1.19k stars 227 forks source link

Content has no parts #349

Open kripper opened 1 month ago

kripper commented 1 month ago

Description of the bug:

Similar to: https://github.com/GoogleCloudPlatform/generative-ai/issues/344, but still present in latest version.

model: genai.GenerativeModel('gemini-pro')

You can reproduce with this prompt:

If you remove the string --- Page 2 --- it works fine.

### Context

--- Page 1 ---

A la presentación del demandante de fecha 23 de marzo de 2021 : estese a lo
que se resolverá
Proveyendo derechamente presentación del demandante de fecha 18 de
enero de 2021: Téngase presente las bases propuestas y por aprobadas si no
fuesen objetadas dentro de tercero día, excepto las que siguen, que se modifican:
.- En la cláusula novena se elimina la expresión contados desde la fecha del
remate y se reemplaza por la que sigue Contados desde que se certifique la
ejecutoriedad de la resolución que ordena extender la escritura Pública de
adjudicación
.- En la cláusula décimo primera se elimina la expresión  el ocupante, o el mero
tenedor
.-se agrega la cláusula décimo quinta, que dispone Las publicaciones deberán
agregarse a los autos con al menos 24 horas de antelación a la subasta, bajo
apercibimiento de no realizarse ésta.
.- Se agrega la cláusula décimo sexta, que reza: las posturas por sobre el mínimo
y las que le sigan deberán elevarse al menos por la suma de $300.000.- o alguno
de sus múltiplos.
.- Se agrega la cláusula décimo séptima, que dispone: el ejecutante deberá
acompañar con al menos quince días de anticipación a la fecha de la subasta los
respectivos certificados actualizados de hipotecas y gravámenes, bajo
apercibimiento de no realizarse la subasta.
.- Se agrega la cláusula décimo octava: Los postores interesados en la subasta
deberán constituir garantía suficiente, a través de vale vista tomado a propia
orden, susceptible de ser endosado al momento de la subasta, al quinto día hábil a
la realización de la subasta, siendo responsabilidad de cada postor la verificación
oportuna y correcta de la consignación en la causa.
.- Se agrega la cláusula décimo novena: Los postores interesados deberán enviar
un correo electrónico a más tardar al día siguiente de la constitución de la
garantía, al correo electrónico jcsantiago14_remates@pjud.cl acompañando el
correspondiente comprobante legible que dé cuenta de haber constituido la
garantía, debiendo además individualizar correctamente la causa con el rol de la
misma, la individualización de la persona que participará en la subasta, a saber

--- Page 2 ---

nombre completo y cédula nacional de identidad y su correo electrónico y número
telefónico de contacto y concurrir a dependencias del tribunal para la entrega
material del vale vista el día lunes de la semana en que se realizará la subasta en
el turno de recepción de documentos creado al efecto.
.- Se agrega la cláusula vigésimo: El acta de remate deberá ser firmada el mismo
día de efectuado éste mediante firma electrónica avanzada. Para aquello, se
verificarán los datos del adjudicatario y se le enviará un borrador del acta al correo
electrónico que hubiese informado, el que deberá ingresarla de manera inmediata
en la causa a través de la Oficina Judicial Virtual para efectos de su firma. Hecho
lo anterior, se firmará por el juez y el ministro de fe del Tribunal, debiendo dejarse
constancia de la firma del adjudicatario.
.- Se agrega la cláusula vigésimo primera; Al postor no adjudicatario se le restituirá
su garantía, el día Lunes de la semana siguiente a la celebración de la subasta, en
el turno presencial dispuesto por el Tribunal.
.- Se agrega la cláusula vigésimo segunda: Si existieren problemas informáticos
para la firma digital del adjudicatario, juez y/o ministro de fe del tribunal, deberá
comparecer el adjudicatario a firmar el acta de remate el día lunes de la semana
siguiente a la realización de éste, en el turno presencial dispuesto por el tribunal.
Al segundo otrosí, por acompañados los documentos originales y electrónicos
con citación; Al tercer otrosí, se fija como día y hora para la subasta el jueves 27
de Mayo del 2021 a las 09:45 horas mediante la plataforma digital zoom y bajo las
condiciones establecidas en las bases de remates aprobadas y sus respectivas
modificaciones, siendo los datos informáticos de la subasta los siguientes:

### Instruction

Give a list of modifications de las bases.

Actual vs expected behavior:

No response

Any other information you'd like to share?

No response

singhniraj08 commented 1 month ago

@kripper, I tried replicating the prompt provided by you and response for this prompt is blocked by Gemini because of "finish_reason: RECITATION". Ref: gist

kripper commented 1 month ago

@kripper, I tried replicating the prompt provided by you and response for this prompt is blocked by Gemini because of "finish_reason: RECITATION". Ref: gist

Thanks for checking.

"RECITATION" means "The token generation was stopped as the response was flagged for unauthorized citations." In this case Gemini doesn't like the --- Page 2 --- token, even whet it doesn't complain for other thousand of similar cases.

Is there any way to report this model related issues? Basically I would like to know if in the future I should invest time in figuring out what exact token is causing the problem and create an easy-to-reproduce test case to help Gemini's fine-tuning team.

fearless02144 commented 3 weeks ago

@kripper I've been facing this for a while; I've never tried to nail it down to specific inputs.

In case it might help: What temperature are you using? In my case, I was starting with temperature 0.0, and retrying with incremental increases in temperature, and this usually results in eventual success. If you're already at nonzero temperature, this probably won't help.

More and more people are getting burned by this when they try to build automation that relies on Gemini. It's a shame, because - in my case at least - Gemini's output is faster than ChatGPT when it succeeds. When I factor in the retries, though, the opposite may turn out to be true.