DeepSeek R1 en RAG: Resumen de la experiencia práctica
Base de conocimientos de IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 1.7K 00

DeepSeek R1 demostró una gran capacidad de razonamiento en su primera versión. En esta entrada de blog, compartimos los detalles de la utilización del DeepSeek R1 Experiencia en la creación de sistemas de generación mejorada de recuperación (RAG), con especialización en el ámbito de los documentos jurídicos.
Hemos elegido Documentos Jurídicos porque los profesionales del Derecho se enfrentan a menudo a una tarea desalentadora: buscar entre una plétora de casos, estatutos y reseñas jurídicas. Incluso la investigación más atenta puede verse obstaculizada por la dificultad de encontrar el documento adecuado, por no hablar de resumir con precisión su contenido. Aquí es exactamente donde RAG Ámbitos en los que puede marcar la diferencia (véase también Harvey AI).
Construimos un GAR basado en un gran conjunto de datos de documentos jurídicos, utilizando DeepSeek R1 y Qwen2 como modelos de incrustación. Todo el proceso de construcción del GAR es de código abierto (proporcionado por la vLLM responder cantando SkyPilot de apoyo) y compartieron algunas lecciones valiosas: lo que funciona y lo que no.
Quieres experimentarlo por ti mismo 🔥? Pruebe nuestra demostración en línea:Pulse aquí.
Hemos abierto este proceso de construcción RAG Pulse aquí para ver. No dude en explorar cómo combinamos vLLM + SkyPilot para un rendimiento rápido, estable y escalable.

¿Por qué crear un GAR en documentos jurídicos?
La Generación de Aumento de Recuperación (RAG) es crucial en campos como el jurídico, donde la precisión y la trazabilidad son de vital importancia. Combinando un recuperador especializado con un potente generador de grandes modelos lingüísticos (LLM), podemos lograr resultados óptimos:
- de documentos de gran relevanciarecuperar (datos)
- Textos con capacidad de razonamientogenerando
- Por referencia directaReducción de las alucinaciones
Para construir este GAR, hemos utilizado:
- pila de leyes/pila de leyes Un subconjunto del conjunto de datos (centrado en el asesoramiento jurídico);
- ChromaDB Sirve como repositorio de vectores para almacenar y consultar incrustaciones;
- Qwen2 como modelo de incrustación de recuperación;
- DeepSeek R1 Generar un modelo como respuesta final.
Todo el sistema funciona con vLLM anterior, y puede pasarse a través del SkyPilot Despliegue sin problemas en cualquier nube para garantizar la disponibilidad óptima de la GPU y la rentabilidad. El proceso completo de creación de RAG en código abierto está disponible aquí.
Valiosa experiencia: precauciones y contraindicaciones
1. No utilice DeepSeek R1 para búsquedas
(adelante, hazlo) sin dudarlo DeepSeek R1 tiene una excelente capacidad de razonamiento, peroinadecuadoPara generar incrustaciones, al menos por ahora.
Descubrimos que con modelos de incrustación especializados Alibaba-NLP/gte-Qwen2-7B-instruct
(actualmente en MTEB) las listas (de best-sellers) (el modelo de incrustación mejor clasificado en) en comparación con la incrustación generada por DeepSeek R1.
Utilizamos cada uno de estos dos modelos para generar incrustaciones para el conjunto de datos y construir dos bases de datos vectoriales. A continuación, se utiliza la misma consulta para ambos modelos y se recuperan las 5 incrustaciones más similares en las respectivas bases de datos vectoriales.
Consulta: 我收到了一张关于债务纠纷的小额索赔法庭传票,我应该如何准备?
Resultados para: Qwen2 | Resultados de la búsqueda de DeepSeek-R1 |
---|---|
[CA] Una pregunta sobre demandas de menor cuantía | ¿Puedo demandar a una empresa que contrata teleoperadores y sigue llamándome a pesar de la ley? |
[CO] Acabo de recibir una citación judicial por una factura de hospital que el seguro ha pagado ...... Tengo pruebas, pero ¿todavía tengo que contratar a un abogado para resolver esto? | ¿Qué hacemos cuando detienen a la hija de una ex novia por robar en una tienda? |
Me demandan por impago de un préstamo de 3.500 dólares. | A altas horas de la noche, después de salir del trabajo, entras en un aparcamiento casi vacío y ves a dos hombres fisgoneando en la puerta de tu coche. Les dice que paren, pero no le hacen caso. Está en posesión de una pistola oculta, ¿qué puede hacer? |
El gato de su compañera de piso se comió unos aperitivos de frutos secos y tuvo que ir al veterinario con una factura de más de 1.500 dólares. Me ha amenazado con llevarme a un juicio de menor cuantía para que se lo pague, pero no hay pruebas de que los aperitivos sean míos. ¿Debería preocuparme? | Missouri cargo de posesión de marihuana sin pruebas físicas. |
Hace poco recibí una citación civil por una deuda que creía haber pagado. | ¿Es legal "ponerle un perro a alguien"? |
¿Por qué es importante?
En la tabla anterior, DeepSeek R1 obtiene resultados significativamente peores. ¿A qué se debe?
Creemos que el problema fundamental radica en la forma en que se entrena DeepSeek R1. La arquitectura de DeepSeek R1 se centra principalmente en la inferencia, haciendo hincapié en el pensamiento secuencial y las conexiones lógicas.Esto significa que DeepSeek R1 no mapea documentos en un espacio semántico.
En cambio, la variante Qwen2 (gte-Qwen2-7B-instruct
) Entrenamiento específico para tareas de similitud semánticaque puede crear un espacio de alta dimensión en el que los documentos conceptualmente similares se agrupan estrechamente, independientemente de su redacción específica.
Esta diferencia en el enfoque de entrenamiento significa que Qwen2 capta bien la intención de la consulta, mientras que DeepSeek R1 a veces sigue caminos de inferencia que conducen a resultados recuperados que son temáticamente relevantes pero prácticamente irrelevantes.
DeepSeek R1 no debe utilizarse como modelo de incrustación de recuperación para los GAR a menos que se ajuste con precisión para la incrustación.
2. Generación con R1: impresionante capacidad de razonamiento
(adelante, hazlo) sin dudarlo R1 La incrustación presenta algunas dificultades, pero nos parece generando La capacidad de hacerlo es notable. Utilizando el enfoque de la cadena de pensamiento de R1, observamos:
- Mayor coherencia: El modelo es capaz de sintetizar información de múltiples documentos y referenciar claramente los pasajes pertinentes.
- Reducción de las alucinaciones: R1 Razona internamente "para ti mismo" y valida cada conclusión con tus datos.
Veamos algunos ejemplos:
Ejemplo 1: Rescisión del contrato de arrendamiento
Pregunta: 我想解除租约,但房东不允许我这样做。
Ver el proceso de pensamiento de DeepSeek R1
Vale, quiero rescindir mi contrato de alquiler, pero el casero no lo permite. No estoy seguro de qué opciones tengo. Intento resolver las cosas basándome en la documentación facilitada.
En primer lugar, recuerdo haber leído en el Documento 1 sobre la penalización por rescisión anticipada de un contrato de arrendamiento. Una persona preguntó si era posible rescindir un contrato de arrendamiento después de 15 meses de un arrendamiento de 18 meses y la respuesta fue que sí, pero sólo si el propietario estaba de acuerdo o se encontraba un nuevo inquilino. Por lo tanto, si quisiera rescindir el contrato antes de tiempo, el propietario podría hacerme responsable a menos que estuviera de acuerdo o pudiera realquilar rápidamente. Parece una posibilidad, pero no estoy seguro de que el casero esté dispuesto a negociar.
A continuación, en el Documento 2, la razón por la que alguien querría rescindir el contrato de arrendamiento es para casarse. La respuesta sugiere que el contrato de arrendamiento puede permitir el pago de una cuota para romper el contrato, o puede ser necesario esperar hasta el final del plazo de arrendamiento. Por lo tanto, puedo comprobar si mi contrato de alquiler tiene una cláusula que permita la rescisión, como una cláusula de subarriendo o cesión. Si no es así, puede que tenga que pagar una penalización o esperar hasta el final del contrato.
El Documento 3 trata de la rescisión de un contrato de alquiler debido a un perro de servicio. Las opciones incluyen pagar una penalización, subarrendar, encontrar otro perro de servicio o esperar a que expire el contrato. Esto no me convence del todo, pero demuestra que, a menos que exista un motivo específico, la rescisión del contrato suele tener consecuencias.
En el Documento 4, el propietario había aumentado el alquiler y el usuario preguntó por el corto plazo de preaviso. La respuesta menciona que, en teoría, debería haber un plazo de preaviso de 30 días, pero que el casero puede ofrecer un compromiso, como aceptar pagar el alquiler original hasta el próximo alquiler. Si mi casero se niega a rescindir el contrato, podría intentar ofrecerme la opción de pagar un alquiler más alto, pero no sé si esto está dentro de mis posibilidades económicas.
El documento 5 menciona que el arrendador se negó a renovar el contrato porque tenía un gato. La respuesta indicaba que el casero no estaba obligado legalmente a renovar el contrato y que, por tanto, tenía la opción de no renovarlo. Esto me hizo pensar que mi casero puede tener una discrecionalidad similar, pero no estoy seguro de si ese fue el motivo de su negativa.
La pregunta 6 trata de la situación en la que se renueva un contrato de arrendamiento y se añaden nuevas condiciones. La respuesta dice que el arrendador debe respetar el contrato vigente hasta que expire. Por lo tanto, si el arrendador se niega a rescindir el contrato, es posible que tenga que esperar hasta el final del mismo, a menos que exista una cláusula especial en el contrato que le permita no renovarlo.
Los documentos 7 y 8 tratan de las dificultades a las que se enfrentan las oficinas de arrendamiento para renovar los contratos. Los documentos mencionan que el arrendador puede no querer renovar el contrato por malas críticas u otras razones, pero legalmente puede decidir no hacerlo. Esto sugiere que el arrendador tiene cierto poder, pero puede que no esté legalmente obligado a rescindir el contrato antes de tiempo a menos que haya una razón específica.
El documento 9 trata de la obligación de avisar con 30 días de antelación antes de mudarse. Aunque me mude sin firmar ningún contrato, el propietario puede exigirme un preaviso. Por lo tanto, si me mudo sin avisar, puedo enfrentarme a multas o tener que pagar el alquiler durante el resto del plazo del contrato.
Por último, el Documento 10 trata de la situación en la que el inquilino es responsable de la totalidad del alquiler cuando el compañero de piso compartido se muda. La respuesta sugiere compartir el alquiler subarrendando. Si me tuviera que mudar, podría intentar subarrendar mi parte del alquiler, pero dependería de las condiciones del contrato.
En resumen, tengo que comprobar si mi contrato de alquiler tiene una cláusula sobre rescisión anticipada. Si no es así, puede que tenga que pagar una penalización a menos que el propietario esté de acuerdo. Si tengo una razón válida, como un cambio de domicilio, puedo intentar negociar con el propietario. Si es posible subarrendar, puede ser una solución, pero tengo que comprobar si el contrato lo permite. También debo considerar si puedo esperar hasta el final natural del contrato, en caso de que no encuentre otra solución.
Ver respuesta de DeepSeek R1
A partir del análisis de la documentación aportada, a continuación se expone un planteamiento estructurado para rescindir un contrato de arrendamiento cuando el arrendador se niega a permitir la rescisión anticipada:
1. Revisión de los contratos de arrendamiento
Cláusulas de rescisión anticipada: comprueba si tu contrato de alquiler contiene cláusulas relativas a la rescisión anticipada. Si existe una cláusula de este tipo, es posible que la ley te obligue a pagar una penalización o a avisar al propietario con antelación para rescindir el contrato [1].
Subarriendo o cesión: Determina si tu contrato de alquiler te permite subarrendar o ceder el contrato a otra persona. Esto puede ayudarte a evitar multas o demandas [2].
2. Comprender la discrecionalidad del propietario
Renovación a su discreción: el propietario puede tener derecho a negarse a renovar el contrato, sobre todo si no hay ninguna cláusula en el contrato que permita explícitamente la rescisión anticipada. En este caso, es posible que tenga que cumplir el contrato hasta el final del plazo [6][8].
3. Consideración de las consecuencias financieras
Sanciones: prepárate para posibles sanciones económicas si rescindes el contrato de alquiler antes de tiempo sin el consentimiento del casero. Esto puede incluir el pago de alquileres adicionales o una fianza [1][9].
4. Explorar las negociaciones
Negocia las condiciones: Si tienes un motivo válido para rescindir el contrato antes de tiempo, como un traslado, puedes negociar con el casero una reducción de la penalización o el permiso para rescindir el contrato antes de tiempo [2].
5. El subarriendo como solución
Subalquile su espacio: si es posible, considere la posibilidad de subalquilar una parte de su contrato de alquiler para ayudarle a cubrir sus obligaciones financieras [10].
6. Planificar el futuro
Espera hasta el final del contrato: Si no es posible rescindir el contrato antes de tiempo, planea quedarte hasta que expire. Así evitarás multas y problemas legales [6][8].
Conclusión:Revisa siempre con atención las condiciones del contrato antes de emprender cualquier acción. Si no está permitida la rescisión anticipada, plantéate subarrendar o esperar a que finalice el contrato. Si puede negociar con el propietario, puede ser la mejor opción. Consulte siempre a un profesional del Derecho para que le asesore sobre su situación concreta.
Ejemplo 2: Juzgado de Menor Cuantía
Pregunta. 我收到了一张关于争议债务的小额索赔法院传票。我应该如何准备?
Ver el proceso de pensamiento de DeepSeek R1
Vale, acabo de recibir una citación del juzgado de reclamos menores por una deuda impugnada. No sé muy bien por dónde empezar, pero necesito averiguar cómo prepararme para esto. A juzgar por los resultados de la búsqueda, hay unas cuantas personas que han pasado por situaciones similares, así que quizá pueda aprender algo de su experiencia.
En primer lugar, probablemente debería entender la naturaleza de la deuda. En el Doc 5, alguien recibe una citación judicial por una deuda que creía que ya estaba pagando. No entienden por qué han recibido otra citación. Por lo tanto, necesito verificar que esta deuda es válida. Quizá debería comprobar mis registros o pedir al acreedor una prueba de la deuda. Según el doc. 10, es buena idea negar la demanda y pedir pruebas. De este modo, puedo cuestionar la credibilidad de la deuda.
A continuación, debo preparar mi caso. En el Documento 1, alguien trató un tema similar y el consejo fue asegurarse de que el caso pudiera presentarse en 10 minutos o menos. Esto significa que debo ser conciso y tener todas mis pruebas organizadas. Debo reunir todos los documentos que demuestren que no debo la deuda, como recibos de pago, cartas de los acreedores indicando la liquidación o documentos del seguro, como en el Documento 2.
También tengo que considerar la cuestión de los testigos. En el doc. 4, un compañero de piso amenaza con llevar a esta persona a los tribunales por una factura veterinaria, y el consejo es ignorar la amenaza a menos que sea demandado. Sin embargo, si me demandan, debo estar preparado para tener testigos que me respalden. Tal vez un amigo que estuviera conmigo cuando intenté pagar, o un antiguo inquilino que pueda testificar sobre el estado de la casa, como se muestra en el Documento 7.
Es importante entender el proceso judicial. Como se ve en el Documento 7, después de ganar un caso en el Tribunal de Reclamaciones de Menor Cuantía, el propietario presentó un recurso, lo que significaba que tenía que comparecer de nuevo ante el tribunal. La persona tenía que volver a pasar por el mismo proceso. Por lo tanto, debo saber que aunque gane, puede haber un proceso de apelación. Debo estar preparado para presentar mi caso de nuevo si es necesario.
También tengo que considerar las citaciones y alegaciones. En el Doc 5, alguien tiene que responder a las alegaciones. Si no lo hago, puedo obtener una sentencia en rebeldía. Por tanto, debo responder a tiempo y exponer mi defensa con claridad.
El siguiente paso es presentar un escrito de defensa. El documento 10 menciona que, aunque haya una oferta, siempre debo rechazarla y pedir pruebas. Así tendré más peso en las negociaciones posteriores. En mi escrito de defensa enumeraré todos mis argumentos y pruebas.
También es importante tener en cuenta mi situación financiera. En el Doc 6 se planteó la preocupación de ser encarcelado por no poder pagar, pero se aclaró que la prisión de deudores no existe. No obstante, debo comunicar al tribunal mi situación financiera. Si no puedo pagar, debo demostrar que he hecho esfuerzos razonables y ofrecer un plan de pago a plazos, como se indica en el Documento 5.
Si no estoy seguro sobre una cuestión legal, quizá debería consultar a un abogado. En el documento 3, la persona se está mudando y tiene una cita en el juzgado. Consultar a un abogado especializado en liquidación de deudas puede ser útil, sobre todo si tengo otras deudas o complicaciones.
Por último, debería estar preparado para la vista judicial. Es vital llegar a tiempo, vestirse adecuadamente y tener todos los documentos preparados. En el Documento 7, esta persona ganó el caso por estar bien preparada con las pruebas, así que yo debería seguir su ejemplo.
En resumen, necesito: validar deudas, preparar pruebas, entender los procedimientos judiciales, responder correctamente a las citaciones, posiblemente consultar con un abogado, y estar organizado y preparado para el juicio. Citar los documentos pertinentes me ayudará a respaldar mis decisiones.
Ver respuesta de DeepSeek R1
Sobre la base del análisis de los documentos jurídicos facilitados, a continuación se presenta un plan estructurado y organizado para la preparación de citaciones judiciales de escasa cuantía en relación con deudas litigiosas:
Verificación de deudas
Compruebe las pruebas del acreedor: empiece por revisar los documentos que le haya proporcionado el acreedor para confirmar la validez y los detalles de la deuda. Utiliza esta información para cotejarla con tus propios registros o cualquier comunicación anterior.
Solicitud de documentos: Póngase en contacto con el acreedor para solicitar una prueba formal de la deuda, como un documento de sentencia judicial o un acuerdo de liquidación. Este paso es esencial para cuestionar la credibilidad de la deuda, como se recomienda en el Documento 10.
Preparar su caso
Recopilación de pruebas: Reúna todas las pruebas pertinentes, como recibos de pago, cartas de los acreedores indicando la liquidación o documentos del seguro, como se menciona en los documentos 2 y 8.
Organización y presentación de pruebas: Asegúrese de que todas las pruebas estén organizadas y listas para su presentación ante el tribunal, siguiendo los consejos del Documento 1. Si es necesario, considere la posibilidad de incluir declaraciones de testigos, como amigos que hayan estado presentes durante los intentos de pago o antiguos inquilinos del inmueble en cuestión.
Comprensión de los procedimientos judiciales
Prepárese para múltiples vistas: si gana su caso, tenga en cuenta que puede haber un proceso de apelación, como se describe en el Documento 7. Prepárese para volver a presentar su caso si es necesario.
Familiarícese con los procedimientos judiciales: aprenda lo básico de un tribunal de menor cuantía, incluida la estructura de la vista y el papel del juez.
Respuesta a citaciones y acusaciones
Presente un escrito de contestación: Asegúrese de responder a la citación en tiempo y forma para evitar una sentencia en rebeldía. Exponga claramente su defensa en el escrito de contestación y solicite la prueba de la deuda, tal como se recomienda en el documento 10.
Negación de la acusación: Niegue siempre la acusación para aprovechar las oportunidades de negociación, como se menciona en el documento 10.
Consideración de la situación financiera
Comunique su situación financiera: Si no puede pagar sus deudas, demuestre su situación financiera y facilite un plan de pago a plazos, como se indica en el Documento 5. Demuestre que ha hecho esfuerzos razonables para resolver la deuda.
Consulte a un abogado si es necesario
Busque asesoramiento jurídico: Si la situación es compleja o no está seguro de su posición jurídica, consulte a un abogado especializado en liquidación de deudas, especialmente si hay otras deudas o complejidades de por medio, como se sugiere en el Documento 3.
Preparación de las vistas judiciales
Sea puntual y esté preparado: llegue pronto, vístase adecuadamente y lleve todos los documentos necesarios. Consulte el ejemplo del Documento 7 para ver el resultado satisfactorio de un caso bien preparado.
Considere los pasos adicionales
Notifíquelo a compañeros de piso o testigos: Si la deuda afecta a bienes compartidos, considere la posibilidad de notificarlo a cualquier testigo o compañero de piso que pueda prestar apoyo, tal como se menciona en el Documento 4.Siguiendo estos pasos, puede responder con confianza a una audiencia ante un tribunal de reclamos menores, asegurarse de que su caso se presente de manera efectiva y proteger sus derechos.
A partir de estos ejemplos, observamos que DeepSeek R1 tiene una excelente capacidad de razonamiento. Su proceso de razonamiento demuestra claramente cómo extraer conclusiones a partir de documentos jurídicos originales:
- R1 construye primero un modelo coherente comprender las cuestiones jurídicas, lo que se refleja en su detallado proceso de razonamiento:
首先,我记得关于提前终止罚款的内容……文档 1 提到……
Este enfoque de "razonamiento antes de la recuperación" permite al modelo vincular sistemáticamente conceptos de múltiples fuentes antes de la recuperación. - Cuando se trata de situaciones complejas, como la rescisión de un contrato de arrendamiento o un juicio de escasa cuantía, observamos que R1 No hay alucinaciones. en lugar de ordenar explícitamente su comprensión de cada documento (
综合来看……
). - Por último, el generador explica su razonamiento utilizando referencias precisas que relacionan la conclusión con la fuente. De este modo, se garantiza una cadena clara entre la pregunta, el razonamiento y la respuesta, lo que garantiza el rigor y la accesibilidad.
Probamos diversas consultas jurídicas y comprobamos que el modelo no sólo era capaz de extraer información de los documentos fuente, sino también de aprender y razonar sobre su contenido.
Conclusión: En las tareas de preguntas y respuestas y de resumen, elR1 Es una "mina de oro" de razonamiento jurídico paso a paso. Utilícelo en la fase generativa y difícilmente quedará decepcionado.
3. La ingeniería sigue siendo importante
Diseño del taco
Las habilidades de razonamiento avanzadas no eliminan la necesidad de palabras clave bien diseñadas. Hemos comprobado que la orientación explícita en las palabras clave es esencial para
- contribuir a (cierto desarrollo) referencia del documento Generar respuestas en todo momento.
- Prevenir las alucinaciones (b) El uso de "cite una fuente o afirme que no lo sabe".
- Estructurar la respuesta final para hacerla más legible .
Durante el experimento, construimos las siguientes palabras clave:
你是一个帮助分析法律文件及相关内容的 AI 助手。在回复时,请遵循以下准则:
- 在提供的搜索结果中,每个文档的格式为 [Document X begin]...[Document X end],其中 X 表示文档的编号。
- 使用 [citation:X] 形式的引用格式,其中 X 是文档编号,并将引用放在相关信息之后。
- 在整个回答中加入引用,而不仅仅是结尾处。
- 如果信息来自多个文档,请使用多个引用,例如 [citation:1][citation:2]。
- 不是所有搜索结果都相关——请评估并仅使用相关信息。
- 对于较长的回答,请将内容结构化,以段落或部分的形式呈现,以提高可读性。
- 如果在提供的文档中找不到答案,请直接说明,而不要编造信息。
- 一些文档可能是非正式讨论或 Reddit 帖子——请根据内容调整解读方式。
- 让回答尽可能多地包含引用。
首先,在 <think> 标签中解释你的思维过程。
然后,在思维过程之后提供最终答案。
Agrupación de documentos
Además, descubrimos que La agrupación eficaz de documentos es esencial para recuperarlos con precisión.. La fragmentación del documento ayuda a que cada incrustación represente con mayor precisión un tema específico y reduce el tiempo necesario para generar cada incrustación. Ficha Cantidad.
Utilizamos la segmentación basada en frases (a través de NLTK) para fragmentar los documentos. Además, el principio y el final de cada trozo contendrán contenido que se solapa con los trozos vecinos. Esto ayuda al modelo a comprender mejor las referencias parciales sin perder el contexto general. A continuación se muestra el código utilizado para la fragmentación de documentos:
def chunk_document(document, chunk_size=2048, overlap=512):
"""使用基于句子的分割方法将文档拆分为重叠的块。"""
text = document['text']
chunks = []
# 先按句子分割
sentences = nltk.sent_tokenize(text)
current_chunk = []
current_length = 0
for sentence in sentences:
sentence_len = len(sentence)
# 如果加入此句子后会超出块大小,则保存当前块
if current_length + sentence_len > chunk_size and current_chunk:
chunk_text = ' '.join(current_chunk)
chunks.append({
'id': document['id'],
'name': document['name'],
'content': document['text'],
'chunk_start': len(' '.join(current_chunk[:-(2 if overlap > 0 else 0)])) if overlap > 0 else 0,
# 其他元数据字段...
})
# 保留最后几句话作为重叠部分
overlap_text = ' '.join(current_chunk[-2:]) # 保留最后 2 句
current_chunk = [overlap_text] if overlap > 0 else []
current_length = len(overlap_text) if overlap > 0 else 0
current_chunk.append(sentence)
current_length += sentence_len + 1 # +1 代表空格
Resumen de los puntos clave:
- Utilice NLTK para la división de tokens basada en frases, no en caracteres.
- El contexto del documento se mantiene mediante el solapamiento de frases entre bloques.
4. vLLM es eficaz y rápido
Debido al enorme volumen de datos de documentos jurídicos, la generación de incrustaciones para el GAR puede llevar mucho tiempo.
Inicialmente, utilizamos la herramienta de HuggingFace sentence_transformer
Primero lo ejecutamos en una GPU Nvidia L4, pero nos encontramos con el habitual error de "memoria CUDA insuficiente". Primero lo ejecutamos en una GPU Nvidia L4, pero nos encontramos con el habitual error de "memoria CUDA insuficiente". Después, probamos con una Nvidia A100 y descubrimos que la sentence_transformer
Se necesitan 57 GB de DRAM para cargar toda la Alibaba-NLP/gte-Qwen2-7B-instruct
Modelos.

Cambiamos a vLLMSe trata de un motor de inferencia y servicio LLM de alto rendimiento y memoria eficiente.
Con vLLM, podemos ejecutar el modelo en una GPU Nvidia L4 estándar (~24GB DRAM). En comparación, la L4 es mucho menos cara que la A100: en GCP, la Nvidia L4 cuesta aproximadamente $0,7/hora, mientras que la Nvidia A100 cuesta como mínimo $2,9/hora.
Comparando vLLM y el transformador de sentencias en una Nvidia A100 (80GB DRAM), encontramos que vLLM genera incrustaciones Qwen2 hasta 5,5 veces más rápido..
Al procesar 10.000 documentos jurídicos (15.000 trozos en total):
- Frase estándar transformador Tiempo de procesamiento: aprox. 5,5 horas
- Tiempo de procesamiento vLLM: aprox. 1 hora

Para funcionar en vLLM se utilizan Alibaba-NLP/gte-Qwen2-7B-instruct
para generar la configuración YAML de SkyPilot:
name: compute-legal-embeddings
resources:
# vLLM 需要 ~24GB DRAM GPU,SentenceTransformer 需要 57GB
accelerators: {L4:1, A100:1}
envs:
START_IDX: ${START_IDX}
END_IDX: ${END_IDX}
file_mounts:
/output:
name: my-bucket-for-embedding-output
mode: MOUNT
setup: |
pip install torch==2.5.1 vllm==0.6.6.post
...
envs:
MODEL_NAME: "Alibaba-NLP/gte-Qwen2-7B-instruct"
run: |
python -m vllm.entrypoints.openai.api_server \
--host 0.0.0.0 \
--model $MODEL_NAME \
--max-model-len 3072 \
--task embed &
python scripts/compute_embeddings.py \
--start-idx $START_IDX \
--end-idx $END_IDX \
--chunk-size 2048 \
--chunk-overlap 512 \
--vllm-endpoint http://localhost:8000
5. No dejes que la incrustación te lleve más de 100 horas: ¡utiliza SkyPilot para el procesamiento en paralelo!
Generar incrustaciones de documentos jurídicos en una sola GPU L4 lleva 100 horas. Podemos aprovechar las instancias de Spot para reducir drásticamente el tiempo y los costes":
nombre (de una cosa) | hora original | 100 Ejemplos de anuncios |
---|---|---|
veces | 100 horas | 1 hora (aceleración 100x) |
costes (fabricación, producción, etc.) | $70.1 | $28.2 (2,4 veces ahorro) |

Resultados: Ya no tenemos que esperar días para generar incrustaciones. Nuestras tareas pueden escalar dinámicamente, pasando rápidamente del prototipo a la producción, incluso ante grandes conjuntos de datos.
llegar a un veredicto
construir (algo abstracto) DeepSeek R1 RAG Conozcamos algunos puntos clave:
- Mejorar la capacidad de recuperación con modelos de incrustación especializados como Qwen2.
- Las capacidades de razonamiento de R1 se utilizan en la fase de generación para tratar consultas jurídicas complejas.
- (La ingeniería sigue siendo clave para controlar las citas y estructurar los contenidos.
- Aumente la eficacia de la inferencia con vLLM para obtener importantes mejoras de velocidad.
- Escale la computación de IA en la nube y en su propia infraestructura para reducir el tiempo y los costes de computación.
¿Quiere saber más?
- Guía de construcción RAG:Repo GitHub
- Amplíe las tareas de IA con SkyPilot:SkyPilot Docs
Atención: El sistema GAR es una potente herramienta de investigación y análisis jurídico, pero no sustituye a un profesional del Derecho cualificado. Sus resultados no deben considerarse asesoramiento jurídico.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...