Athrun Data Intelligence


Con el extensión de Deepseek r1hay un zumbido en la comunidad de IA. El maniquí de código destapado ofrece un rendimiento mejor en la clase en muchas métricas, incluso a la par con los modelos patentados de última concepción en muchos casos. Tal gran éxito invita a la atención y la curiosidad para asimilar más al respecto. En este artículo, analizaremos la implementación de una concepción de recuperación acuática (TRAPO) Sistema utilizando Deepseek R1. Cubriremos todo, desde configurar su entorno hasta consultas en ejecución con explicaciones adicionales y fragmentos de código.

Como ya se extendió, RAG combina las fortalezas de los enfoques basados ​​en la recuperación y basados ​​en la concepción. Recupera información relevante de una almohadilla de conocimiento y la utiliza para gestar respuestas precisas y contextualmente relevantes a las consultas de los usuarios.

Algunos requisitos previos para ejecutar los códigos en este tutorial son los siguientes:

  • Python instalado (preferiblemente traducción 3.7 o superior).
  • Ollama instalado: este entorno permite ejecutar modelos como Deepseek R1 localmente.

Ahora, veamos la implementación paso a paso:

Paso 1: Instale Ollama

Primero, instale Ollama siguiendo las instrucciones en su sitio web. Una vez instalado, verifique la instalación ejecutando:

Paso 2: Ejecutar el maniquí Deepseek R1

Para comenzar el maniquí Deepseek R1, cala su terminal y ejecute:

# bash
ollama run deepseek-r1:1.5b

Este comando inicializa la traducción de 1.5 mil millones de parámetros de Deepseek R1, que es adecuado para varias aplicaciones.

Paso 3: Prepare su almohadilla de conocimiento

Un sistema de recuperación requiere una almohadilla de conocimiento a partir de la cual puede extraer información. Esto puede ser una colección de documentos, artículos o cualquier datos de texto relevantes para su dominio.

3.1 Cargue sus documentos

Puede cargar documentos de varias fuentes, como archivos de texto, bases de datos o raspado web. Aquí hay un ejemplo de carga de archivos de texto:

# python
import os

def load_documents(directory):
    documents = ()
    for filename in os.listdir(directory):
        if filename.endswith('.txt'):
            with open(os.path.join(directory, filename), 'r') as file:
                documents.append(file.read())
    return documents

documents = load_documents('path/to/your/documents')

Paso 4: crea una tienda vectorial para la recuperación

Para habilitar la recuperación eficaz de documentos relevantes, puede usar una tienda vectorial como FAISS (búsqueda de similitud de IA de Facebook). Esto implica gestar incrustaciones para sus documentos.

4.1 Instalar bibliotecas requeridas

Es posible que deba instalar bibliotecas adicionales para incrustaciones y FAISS:

# bash
pip install faiss-cpu huggingface-hub

4.2 Gestar incrustaciones y configurar Faiss

Aquí le mostramos cómo gestar incrustaciones y configurar la tienda Faiss Vector:

# python
from huggingface_hub import HuggingFaceEmbeddings
import faiss
import numpy as np

# Initialize the embeddings model
embeddings_model = HuggingFaceEmbeddings()

# Generate embeddings for all documents
document_embeddings = (embeddings_model.embed(doc) for doc in documents)
document_embeddings = np.array(document_embeddings).astype('float32')

# Create FAISS index
index = faiss.IndexFlatL2(document_embeddings.shape(1))  # L2 distance metric
index.add(document_embeddings)  # Add document embeddings to the index

Paso 5: Configure el Retriever

Debe crear un retriever basado en consultas de usuarios para obtener los documentos más relevantes.

# python
class SimpleRetriever:
    def __init__(self, index, embeddings_model):
        self.index = index
        self.embeddings_model = embeddings_model
    
    def retrieve(self, query, k=3):
        query_embedding = self.embeddings_model.embed(query)
        distances, indices = self.index.search(np.array((query_embedding)).astype('float32'), k)
        return (documents(i) for i in indices(0))

retriever = SimpleRetriever(index, embeddings_model)

Paso 6: Configurar Deepseek R1 para trapo

A continuación, se establecerá una plantilla rápida para instruir a Deepseek R1 que responda en función del contexto recuperado.

# python
from ollama import Ollama
from string import Template

# Instantiate the model
llm = Ollama(model="deepseek-r1:1.5b")

# Craft the prompt template using string. Template for better readability
prompt_template = Template("""
Use ONLY the context below.
If unsure, say "I don't know".
Keep answers under 4 sentences.

Context: $context
Question: $question
Answer:
""")

Paso 7: Implementar la funcionalidad de manejo de consultas

Ahora, puede crear una función que combine la recuperación y la concepción para reponer consultas de los usuarios:

# python
def answer_query(question):
    # Retrieve relevant context from the knowledge almohadilla
    context = retriever.retrieve(question)
    
    # Combine retrieved contexts into a single string (if multiple)
    combined_context = "n".join(context)
    
    # Generate an answer using DeepSeek R1 with the combined context
    response = llm.generate(prompt_template.substitute(context=combined_context, question=question))
    
    return response.strip()

Paso 8: Ejecutando su sistema de trapo

Ahora puede probar su sistema RAG llamando a la función `Respuesta_Query` con cualquier pregunta sobre su almohadilla de conocimiento.

# python
if __name__ == "__main__":
    user_question = "What are the key features of DeepSeek R1?"
    answer = answer_query(user_question)
    print("Answer:", answer)

Acceda al cuaderno Colab con el código completo

En conclusión, posteriormente de estos pasos, puede implementar con éxito un sistema de concepción (trapo) de recuperación (RAG) utilizando Deepseek R1. Esta configuración le permite recuperar información de sus documentos de guisa efectiva y gestar respuestas precisas basadas en esa información. Adicionalmente, explore el potencial del maniquí Deepseek R1 para su caso de uso específico a través de esto.

Fuentes


Asif Razzaq es el CEO de MarktechPost Media Inc .. Como patrón e ingeniero iluminado, ASIF se compromete a emplear el potencial de la inteligencia químico para el adecuadamente social. Su esfuerzo más flamante es el extensión de una plataforma de medios de inteligencia químico, MarktechPost, que se destaca por su cobertura profunda de informativo de educación automotriz y de educación profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el manifiesto.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *