La recuperación de generación aumentada (RAG) le permite proporcionar un modelo de lenguaje grande (LLM) con acceso a datos de fuentes de conocimiento externas, como repositorios, bases de datos y API, sin la necesidad de ajustarlo. Cuando se utiliza IA generativa para responder preguntas, RAG permite a los LLM responder preguntas con la información más relevante y actualizada y, opcionalmente, citar sus fuentes de datos para su verificación.
Una solución RAG típica para la recuperación de conocimientos a partir de documentos utiliza un modelo de incrustaciones para convertir los datos de las fuentes de datos en incrustaciones y almacena estas incrustaciones en una base de datos vectorial. Cuando un usuario hace una pregunta, busca en la base de datos de vectores y recupera los documentos que son más similares a la consulta del usuario. A continuación, combina los documentos recuperados y la consulta del usuario en un mensaje ampliado que se envía al LLM para la generación de texto. Hay dos modelos en esta implementación: el modelo de incrustaciones y el LLM que genera la respuesta final.
En esta publicación, demostramos cómo usar Estudio Amazon SageMaker para construir una solución de respuesta a preguntas RAG.
Uso de cuadernos para responder preguntas basadas en RAG
La implementación de RAG generalmente implica experimentar con varios modelos de incrustación, bases de datos vectoriales, modelos de generación de texto e indicaciones, y al mismo tiempo depurar su código hasta lograr un prototipo funcional. Amazon SageMaker ofrece portátiles Jupyter administrados equipados con instancias de GPU, lo que le permite experimentar rápidamente durante esta fase inicial sin necesidad de infraestructura adicional. Hay dos opciones para usar cuadernos en SageMaker. La primera opción es el inicio rápido. ordenadores portátiles disponible a través de SageMaker Studio. En SageMaker Studio, el entorno de desarrollo integrado (IDE) diseñado específicamente para ML, puede iniciar cuadernos que se ejecutan en diferentes tipos de instancias y con diferentes configuraciones, colaborar con colegas y acceder a funciones adicionales diseñadas específicamente para aprendizaje automático (ML). La segunda opción es utilizar un Instancia de cuaderno de SageMaker, que es una instancia informática de aprendizaje automático totalmente administrada que ejecuta la aplicación Jupyter Notebook.
En esta publicación, presentamos una solución RAG que aumenta el conocimiento del modelo con datos adicionales de fuentes de conocimiento externas para proporcionar respuestas más precisas específicas para un dominio personalizado. Usamos una única computadora portátil SageMaker Studio que se ejecuta en un ml.g5.2xlarge
instancia (1 GPU A10G) y Llama 2 7b chat hf, la versión mejorada de Llama 2 7b, que está optimizada para casos de uso de diálogo de Hugging Face Hub. Usamos dos publicaciones del blog de medios y entretenimiento de AWS como datos externos de muestra, que convertimos en incrustaciones con el BAAI/bge-small-es-v1.5 incrustaciones. Guardamos las incrustaciones en piña, una base de datos basada en vectores que ofrece búsqueda de alto rendimiento y coincidencia de similitudes. También analizamos cómo pasar de experimentar en el cuaderno a implementar sus modelos en los puntos finales de SageMaker para realizar inferencias en tiempo real cuando complete su creación de prototipos. Se puede utilizar el mismo enfoque con diferentes modelos y bases de datos vectoriales.
Resumen de la solución
El siguiente diagrama ilustra la arquitectura de la solución.
La implementación de la solución consta de dos pasos de alto nivel: desarrollar la solución utilizando los cuadernos de SageMaker Studio e implementar los modelos para la inferencia.
Desarrolle la solución utilizando los cuadernos de SageMaker Studio
Complete los siguientes pasos para comenzar a desarrollar la solución:
- Cargue el modelo de chat Llama-2 7b de Hugging Face Hub en el cuaderno.
- Crear una plantilla de aviso con LangChain y utilícelo para crear indicaciones para su caso de uso.
- Para 1 o 2 mensajes de ejemplo, agregue texto estático relevante de documentos externos como contexto del mensaje y evalúe si la calidad de las respuestas mejora.
- Suponiendo que la calidad mejora, implemente el flujo de trabajo de respuesta a preguntas de RAG:
- Reúna los documentos externos que puedan ayudar al modelo a responder mejor las preguntas de su caso de uso.
- Cargue el modelo de incrustaciones de BGE y utilícelo para generar incrustaciones de estos documentos.
- Guarde estas incrustaciones en un índice Pinecone.
- Cuando un usuario hace una pregunta, realice una búsqueda de similitud en Pinecone y agregue el contenido de los documentos más similares al contexto del mensaje.
Implemente los modelos en SageMaker para realizar inferencias a escala
Cuando alcance sus objetivos de rendimiento, puede implementar los modelos en SageMaker para que los utilicen aplicaciones de IA generativa:
- Implemente el modelo de chat Llama-2 7b en un punto final en tiempo real de SageMaker.
- Implementar el BAAI/bge-small-es-v1.5 modelo de incrustaciones a un punto final en tiempo real de SageMaker.
- Utilice los modelos implementados en su pregunta para responder aplicaciones de IA generativa.
En las siguientes secciones, lo guiaremos a través de los pasos para implementar esta solución en los cuadernos de SageMaker Studio.
Requisitos previos
Para seguir los pasos de esta publicación, debe tener una cuenta de AWS y una Gestión de identidades y accesos de AWS (IAM) con permisos para crear y acceder a los recursos de la solución. Si es nuevo en AWS, consulte Cree una cuenta de AWS independiente.
Para utilizar los cuadernos de SageMaker Studio en su cuenta de AWS, necesita un Dominio de SageMaker con un perfil de usuario que tenga permisos para iniciar la aplicación SageMaker Studio. Si es nuevo en SageMaker Studio, el Configuración rápida de estudio es la forma más rápida de empezar. Con un solo clic, SageMaker proporciona el dominio de SageMaker con ajustes preestablecidos predeterminados, incluida la configuración del perfil de usuario, la función de IAM, la autenticación de IAM y el acceso público a Internet. El cuaderno de esta publicación asume un ml.g5.2xlarge
tipo de instancia. Para revisar o aumentar su cuota, abra la consola AWS Service Quotas, elija Servicios de AWS en el panel de navegación, elija Amazon SageMakery consulte el valor de las aplicaciones Studio KernelGateway que se ejecutan en ml.g5.2xlarge
instancias.
Después de confirmar su límite de cuota, debe completar las dependencias para usar el chat de Llama 2 7b.
El chat de Llama 2 7b está disponible en licencia llama 2. Para acceder a Llama 2 en Hugging Face, primero debes completar algunos pasos:
- Crea una cuenta de Hugging Face si aún no tienes una.
- Complete el formulario "Solicitar acceso a la próxima versión de Llama" en el Meta página web del NDN Collective .
- Solicitar acceso a Llama 2 7b charla en Cara Abrazadora.
Una vez que se le haya concedido acceso, puede crear un nuevo token de acceso para acceder a los modelos. Para crear un token de acceso, navegue hasta el Ajustes página en el sitio web de Hugging Face.
Es necesario tener una cuenta en Pinecone para utilizarla como base de datos vectorial. Pinecone está disponible en AWS a través de AWS Marketplace. El sitio web de Pinecone también ofrece la opción de crear un cuenta gratis que viene con permisos para crear un índice único, que es suficiente para los propósitos de esta publicación. Para recuperar sus llaves de Pinecone, abra el Consola de piña y elige Claves de la API.
Configurar el cuaderno y el entorno
Para seguir el código de esta publicación, abra SageMaker Studio y clone lo siguiente Repositorio GitHub. A continuación, abra el cuaderno. studio-local-gen-ai/rag/RAG-with-Llama-2-on-Studio.ipynb y elija la imagen optimizada para GPU PyTorch 2.0.0 Python 3.10, el kernel de Python 3 y ml.g5.2xlarge
como tipo de instancia. Si es la primera vez que utiliza los cuadernos de SageMaker Studio, consulte Crear o abrir un cuaderno de Amazon SageMaker Studio.
Para configurar el entorno de desarrollo, debe instalar las bibliotecas de Python necesarias, como se demuestra en el siguiente código:
%%writefile requirements.txt
sagemaker>=2.175.0
transformers==4.33.0
accelerate==0.21.0
datasets==2.13.0
langchain==0.0.297
pypdf>=3.16.3
pinecone-client
sentence_transformers
safetensors>=0.3.3
!pip install -U -r requirements.txt
Cargue el modelo y el tokenizador previamente entrenados
Después de haber importado las bibliotecas necesarias, puede cargar el Llama-2 7b charla modelo junto con sus correspondientes tokenizadores de Hugging Face. Estos artefactos de modelo cargados se almacenan en el directorio local dentro de SageMaker Studio. Esto le permite recargarlos rápidamente en la memoria cada vez que necesite reanudar su trabajo en otro momento.
import torch from transformers import ( AutoTokenizer, LlamaTokenizer, LlamaForCausalLM, GenerationConfig, AutoModelForCausalLM
)
import transformers tg_model_id = "meta-llama/Llama-2-7b-chat-hf" #the model id in Hugging Face
tg_model_path = f"./tg_model/{tg_model_id}" #the local directory where the model will be saved tg_model = AutoModelForCausalLM.from_pretrained(tg_model_id, token=hf_access_token,do_sample=True, use_safetensors=True, device_map="auto", torch_dtype=torch.float16
tg_tokenizer = AutoTokenizer.from_pretrained(tg_model_id, token=hf_access_token) tg_model.save_pretrained(save_directory=tg_model_path, from_pt=True)
tg_tokenizer.save_pretrained(save_directory=tg_model_path, from_pt=True)
Haga una pregunta que requiera información actualizada
Ahora puedes empezar a utilizar el modelo y hacer preguntas. Los modelos de chat de Llama-2 esperan que el mensaje se adhiera al siguiente formato:
<s>[INST] <<SYS>>
system_prompt
<<SYS>>
{{ user_message }} [/INST]
Puede utilizar el Plantilla de aviso de LangChain para crear una receta basada en el formato de mensaje, para que pueda crear mensajes fácilmente en el futuro:
from langchain import PromptTemplate template = """<s>[INST] <<SYS>>nYou are an assistant for question-answering tasks. You are helpful and friendly. Use the following pieces of retrieved context to answer the query. If you don't know the answer, you just say I don't know. Use three sentences maximum and keep the answer concise.
<<SYS>>n
{context}n
{question} [/INST] """
prompt_template = PromptTemplate( template=template, input_variables=['context','question'] )
Hagamos al modelo una pregunta que necesita información reciente de 2023. Puede usar LangChain y específicamente el LLMChain tipo de cadena y pase como parámetros el LLM, la plantilla de solicitud que creó anteriormente y la pregunta:
question = "When can I visit the AWS M&E Customer Experience Center in New York City?" tg_tokenizer.add_special_tokens( {"pad_token": "[PAD]"} )
tg_tokenizer.padding_side = "left" tg_pipe = transformers.pipeline(task='text-generation', model=tg_model, tokenizer=tg_tokenizer, num_return_sequences=1, eos_token_id=tg_tokenizer.eos_token_id, pad_token_id=tg_tokenizer.eos_token_id, max_new_tokens=400, temperature=0.7) from langchain.chains import LLMChain
from langchain.llms import HuggingFacePipeline llm=HuggingFacePipeline(pipeline=tg_pipe, model_kwargs={'temperature':0.7})
llm_chain = LLMChain(llm=llm, prompt=prompt_template)
no_context_response = llm_chain.predict(context="", question=question)
print(no_context_response)
Obtenemos la siguiente respuesta generada:
¡Gracias por comunicarte! El Centro de experiencia del cliente de AWS M&E en la ciudad de Nueva York está actualmente cerrado para visitas debido a la pandemia de COVID-19. Sin embargo, puede consultar su sitio web oficial o sus cuentas de redes sociales para obtener actualizaciones sobre cuándo reabrirá el centro. Mientras tanto, puedes explorar sus recorridos virtuales y recursos disponibles en línea.
Mejore la respuesta agregando contexto al mensaje
La respuesta que generamos no es del todo cierta. Veamos si podemos mejorarlo proporcionando algo de contexto. Puedes agregar un extracto de la publicación. AWS anuncia un nuevo centro de experiencia del cliente de M&E en Nueva York, que incluye actualizaciones sobre el tema a partir de 2023:
context = """Media and entertainment (M&E) customers continue to face challenges in creating more content, more quickly, and distributing it to more endpoints than ever before in their quest to delight viewers globally. Amazon Web Services (AWS), along with AWS Partners, have showcased the rapid evolution of M&E solutions for years at industry events like the National Association of Broadcasters (NAB) Show and the International Broadcast Convention (IBC). Until now, AWS for M&E technology demonstrations were accessible in this way just a few weeks out of the year. Customers are more engaged than ever before; they want to have higher quality conversations regarding user experience and media tooling. These conversations are best supported by having an interconnected solution architecture for reference. Scheduling a visit of the M&E Customer Experience Center will be available starting November 13th, please send an email to AWS-MediaEnt-CXC@amazon.com."""
Utilice LLMChain nuevamente y pase el texto anterior como contexto:
context_response = llm_chain.predict(context=context, question=question)
print(context_response)
La nueva respuesta responde a la pregunta con información actualizada:
Puede visitar el Centro de experiencia del cliente de AWS M&E en la ciudad de Nueva York a partir del 13 de noviembre. Envíe un correo electrónico a AWS-MediaEnt-CXC@amazon.com para programar una visita.
Hemos confirmado que al agregar el contexto correcto, se mejora el rendimiento del modelo. Ahora puede centrar sus esfuerzos en encontrar y agregar el contexto adecuado para la pregunta formulada. En otras palabras, implementar RAG.
Implemente la respuesta a preguntas RAG con incrustaciones BGE y Pinecone
En este momento, debe decidir las fuentes de información para mejorar el conocimiento del modelo. Estas fuentes podrían ser páginas web internas o documentos dentro de su organización, o fuentes de datos disponibles públicamente. Para los fines de esta publicación y en aras de la simplicidad, hemos elegido dos publicaciones del blog de AWS publicadas en 2023:
Estas publicaciones ya están disponibles como documentos PDF en el directorio del proyecto de datos en SageMaker Studio para un acceso rápido. Para dividir los documentos en partes manejables, puede emplear el Divisor de texto de carácter recursivo método de LangChain:
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.document_loaders import PyPDFDirectoryLoader loader = PyPDFDirectoryLoader("./data/") documents = loader.load() text_splitter=RecursiveCharacterTextSplitter( chunk_size=1000, chunk_overlap=5
)
docs = text_splitter.split_documents(documents)
A continuación, utilice el modelo de incrustaciones BGE. bge-small-es creado por la Academia de Inteligencia Artificial de Beijing (BAAI) que está disponible en Hugging Face para generar las incrustaciones de estos fragmentos. Descargue y guarde el modelo en el directorio local de Studio. Usamos fp32 para que pueda ejecutarse en la CPU de la instancia.
em_model_name = "BAAI/bge-small-en"
em_model_path = f"./em-model" from transformers import AutoModel
# Load model from HuggingFace Hub
em_model = AutoModel.from_pretrained(em_model_name,torch_dtype=torch.float32)
em_tokenizer = AutoTokenizer.from_pretrained(em_model_name,device="cuda") # save model to disk
em_tokenizer.save_pretrained(save_directory=f"{em_model_path}/model",from_pt=True)
em_model.save_pretrained(save_directory=f"{em_model_path}/model",from_pt=True)
em_model.eval()
Utilice el siguiente código para crear una función embedding_generator, que toma los fragmentos del documento como entrada y genera las incrustaciones utilizando el modelo BGE:
# Tokenize sentences
def tokenize_text(_input, device): return em_tokenizer( [_input], padding=True, truncation=True, return_tensors='pt' ).to(device) # Run embedding task as a function with model and text sentences as input
def embedding_generator(_input, normalize=True): # Compute token embeddings with torch.no_grad(): embedded_output = em_model( **tokenize_text( _input, em_model.device ) ) sentence_embeddings = embedded_output[0][:, 0] # normalize embeddings if normalize: sentence_embeddings = torch.nn.functional.normalize( sentence_embeddings, p=2, dim=1 ) return sentence_embeddings[0, :].tolist() sample_sentence_embedding = embedding_generator(docs[0].page_content)
print(f"Embedding size of the document --->", len(sample_sentence_embedding))
En esta publicación, demostramos un flujo de trabajo RAG utilizando Pinecone, un software administrado y nativo de la nube. base de datos vectorial que también ofrece una API para búsqueda de similitudes. Eres libre de reescribir el siguiente código para utilizar tu base de datos vectorial preferida.
Inicializamos un Cliente Python Pinecone y cree un nuevo índice de búsqueda de vectores utilizando la longitud de salida del modelo de incrustación. Usamos la clase Pinecone incorporada de LangChain para ingerir las incrustaciones que creamos en el paso anterior. Necesita tres parámetros: los documentos a ingerir, la función del generador de incrustaciones y el nombre del índice Pinecone.
import pinecone
pinecone.init( api_key = os.environ["PINECONE_API_KEY"], environment = os.environ["PINECONE_ENV"]
)
#check if index already exists, if not we create it
index_name = "rag-index"
if index_name not in pinecone.list_indexes(): pinecone.create_index( name=index_name, dimension=len(sample_sentence_embedding), ## 384 for bge-small-en metric='cosine' ) #insert the embeddings
from langchain.vectorstores import Pinecone
vector_store = Pinecone.from_documents( docs, embedding_generator, index_name=index_name
)
Con el modelo de chat Llama-2 7B cargado en la memoria y las incrustaciones integradas en el índice Pinecone, ahora puede combinar estos elementos para mejorar las respuestas de Llama 2 para nuestro caso de uso de preguntas y respuestas. Para lograr esto, puede emplear LangChain RecuperaciónQA, que aumenta el mensaje inicial con los documentos más similares del almacén de vectores. Configurando return_source_documents=True
, obtiene visibilidad de los documentos exactos utilizados para generar la respuesta como parte de la respuesta, lo que le permite verificar la exactitud de la respuesta.
from langchain.chains import RetrievalQA
import textwrap #helper method to improve the readability of the response
def print_response(llm_response): temp = [textwrap.fill(line, width=100) for line in llm_response['result'].split('n')] response = 'n'.join(temp) print(f"{llm_response['query']}n n{response}'n n Source Documents:") for source in llm_response["source_documents"]: print(source.metadata) llm_qa_chain = RetrievalQA.from_chain_type( llm=llm, #the Llama-2 7b chat model chain_type='stuff', retriever=vector_store.as_retriever(search_kwargs={"k": 2}), # perform similarity search in Pinecone return_source_documents=True, #show the documents that were used to answer the question chain_type_kwargs={"prompt": prompt_template}
)
print_response(llm_qa_chain(question))
Obtenemos la siguiente respuesta:
P: ¿Cuándo puedo visitar el Centro de experiencia del cliente de AWS M&E en la ciudad de Nueva York?
R: ¡Estoy feliz de poder ayudar! Según el contexto, el Centro de experiencia del cliente de AWS M&E en la ciudad de Nueva York estará disponible para visitas a partir del 13 de noviembre. Puede enviar un correo electrónico a AWS-MediaEnt-CXC@amazon.com para programar una visita.'
Documentos fuente:
{'page': 4.0, 'source': 'data/AWS anuncia un nuevo Centro de experiencia del cliente de M&E en la ciudad de Nueva York _ AWS for M&E Blog.pdf'}
{'page': 2.0, 'source': 'data/AWS anuncia un nuevo Centro de experiencia del cliente de M&E en la ciudad de Nueva York _ AWS for M&E Blog.pdf'}
Intentemos una pregunta diferente:
question2=" How many awards have AWS Media Services won in 2023?"
print_response(llm_qa_chain(question2))
Obtenemos la siguiente respuesta:
P: ¿Cuántos premios ha ganado AWS Media Services en 2023?
R: Según la publicación del blog, AWS Media Services ganó cinco premios de la industria en 2023.
Documentos fuente:
{'page': 0.0, 'source': 'data/AWS Media Services recibió elogios de la industria _ AWS for M&E Blog.pdf'}
{'page': 1.0, 'source': 'data/AWS Media Services recibió elogios de la industria _ AWS for M&E Blog.pdf'}
Una vez que haya establecido un nivel suficiente de confianza, puede implementar los modelos para Puntos finales de SageMaker para inferencia en tiempo real. Estos puntos finales están completamente administrados y ofrecen soporte para escalado automático.
SageMaker ofrece inferencia de modelos grandes utilizando contenedores de inferencia de modelos grandes (LMI), que podemos utilizar para implementar nuestros modelos. Estos contenedores vienen equipados con bibliotecas de código abierto preinstaladas como DeepSpeed, lo que facilita la implementación de técnicas de mejora del rendimiento, como el paralelismo tensorial durante la inferencia. Además, utilizan DJLServing como un servidor de modelo integrado prediseñado. DJLSirviendo es una solución de servicio de modelos universal y de alto rendimiento que ofrece soporte para procesamiento por lotes dinámico y escalado automático de trabajadores, aumentando así el rendimiento.
En nuestro enfoque, utilizamos SageMaker LMI con DJLServing y DeepSpeed Inference para implementar los modelos Llama-2-chat 7b y BGE en los puntos finales de SageMaker que se ejecutan en ml.g5.2xlarge
instancias, permitiendo inferencias en tiempo real. Si desea seguir estos pasos usted mismo, consulte el documento adjunto. cuaderno para obtener instrucciones detalladas.
Necesitarás dos ml.g5.2xlarge
instancias para su implementación. Para revisar o aumentar su cuota, abra la consola AWS Service Quotas, elija Servicios de AWS en el panel de navegación, elija Amazon SageMaker, y consulte el valor de ml.g5.2xlarge
para el uso de terminales.
Los siguientes pasos describen el proceso de implementación de modelos personalizados para el flujo de trabajo RAG en un terminal de SageMaker:
- Implementar el Llama-2 7b modelo de chat a un punto final en tiempo real de SageMaker que se ejecuta en un
ml.g5.2xlarge
ejemplo para la generación rápida de texto. - Implementar el BAAI/bge-small-es-v1.5 modelo de incrustaciones en un punto final en tiempo real de SageMaker que se ejecuta en un
ml.g5.2xlarge
instancia. Alternativamente, puede implementar su propio modelo de incorporación. - Haga una pregunta y utilice LangChain RecuperaciónQA para aumentar el mensaje con los documentos más similares de Pinecone, esta vez usando el modelo implementado en el punto final en tiempo real de SageMaker:
# convert your local LLM into SageMaker endpoint LLM
llm_sm_ep = SagemakerEndpoint( endpoint_name=tg_sm_model.endpoint_name, # <--- Your text-gen model endpoint name region_name=region, model_kwargs={ "temperature": 0.05, "max_new_tokens": 512 }, content_handler=content_handler,
) llm_qa_smep_chain = RetrievalQA.from_chain_type( llm=llm_sm_ep, # <--- This uses SageMaker Endpoint model for inference chain_type='stuff', retriever=vector_store.as_retriever(search_kwargs={"k": 2}), return_source_documents=True, chain_type_kwargs={"prompt": prompt_template}
)
- Utilice LangChain para verificar que el punto final de SageMaker con el modelo de incrustación funcione como se esperaba para que pueda usarse para la ingesta futura de documentos:
response_model = smr_client.invoke_endpoint( EndpointName=em_sm_model.endpoint_name, <--- Your embedding model endpoint name Body=json.dumps({ "text": "This is a sample text" }), ContentType="application/json",
) outputs = json.loads(response_model["Body"].read().decode("utf8"))['outputs']
Limpiar
Complete los siguientes pasos para limpiar sus recursos:
- Cuando haya terminado de trabajar en su computadora portátil SageMaker Studio, asegúrese de apagar el
ml.g5.2xlarge
Por ejemplo, para evitar cargos eligiendo el icono de detener. También puedes configurar scripts de configuración del ciclo de vida para cerrar automáticamente los recursos cuando no se utilizan.
- Si implementó los modelos en los puntos finales de SageMaker, ejecute el siguiente código al final del cuaderno para eliminar los puntos finales:
#delete your text generation endpoint
sm_client.delete_endpoint( EndpointName=tg_sm_model.endpoint_name
)
# delete your text embedding endpoint
sm_client.delete_endpoint( EndpointName=em_sm_model.endpoint_name
)
- Finalmente, ejecute la siguiente línea para eliminar el índice Pinecone:
pinecone.delete_index(index_name)
Conclusión
Los cuadernos de SageMaker proporcionan una forma sencilla de iniciar su viaje con Retrieval Augmented Generation. Le permiten experimentar de forma interactiva con varios modelos, configuraciones y preguntas sin necesidad de infraestructura adicional. En esta publicación, mostramos cómo mejorar el rendimiento del chat Llama 2 7b en un caso de uso de respuesta a preguntas utilizando LangChain, el modelo de incorporación BGE y Pinecone. Para comenzar, inicie SageMaker Studio y ejecute el cuaderno disponible en el siguiente Repositorio GitHub. ¡Comparte tus pensamientos en la sección de comentarios!
Sobre los autores
Anastasia Tzeveleka es un arquitecto de soluciones especializado en inteligencia artificial y aprendizaje automático en AWS. Trabaja con clientes en EMEA y los ayuda a diseñar soluciones de aprendizaje automático a escala utilizando los servicios de AWS. Ha trabajado en proyectos en diferentes dominios, incluidas las herramientas de procesamiento de lenguaje natural (NLP), MLOps y Low Code No Code.
Pranav Murthy es un arquitecto de soluciones especializado en IA/ML en AWS. Se enfoca en ayudar a los clientes a crear, entrenar, implementar y migrar cargas de trabajo de aprendizaje automático (ML) a SageMaker. Anteriormente trabajó en la industria de los semiconductores desarrollando grandes modelos de visión por computadora (CV) y procesamiento del lenguaje natural (NLP) para mejorar los procesos de semiconductores. En su tiempo libre, le gusta jugar al ajedrez y viajar.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- PlatoSalud. Inteligencia en Biotecnología y Ensayos Clínicos. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/use-amazon-sagemaker-studio-to-build-a-rag-question-answering-solution-with-llama-2-langchain-and-pinecone-for-fast-experimentation/
- :posee
- :es
- :no
- :dónde
- $ UP
- 1
- 10
- 100
- 13
- 16
- 2023
- 33
- 500
- 7
- a
- AC
- Academia
- de la máquina
- Acceso a los datos
- accesible
- Conforme
- Mi Cuenta
- Cuentas
- la exactitud
- preciso
- Lograr
- add
- la adición de
- Adicionales
- Adicionalmente
- adherirse
- de nuevo
- AI
- AI / ML
- permitir
- Permitir
- permite
- a lo largo de
- ya haya utilizado
- también
- Amazon
- Amazon SageMaker
- Estudio Amazon SageMaker
- Amazon Web Services
- Servicios Web de Amazon (AWS)
- an
- y
- Anuncia
- https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be
- respuestas
- cualquier
- API
- applicación
- aplicaciones
- enfoque
- aplicaciones
- arquitectura
- somos
- artificial
- inteligencia artificial
- AS
- contacta
- evaluar
- Legal
- Asociación
- asume
- At
- aumentar
- aumentado
- Augments
- Autenticación
- auto
- automáticamente
- Hoy Disponibles
- evitar
- otorgado
- premios
- AWS
- basado
- BE
- esto
- antes
- MEJOR
- mejores
- Blog
- Entradas De Blog
- cuerpo
- transmisión
- build
- incorporado
- by
- PUEDEN
- case
- cases
- Reubicación
- cadena
- cadenas
- retos
- cargos
- comprobar
- Ajedrez
- Elige
- la elección de
- elegido
- Ciudad
- clase
- limpia
- clic
- cerrado
- código
- colaboran
- personal
- COM
- combinar
- combina
- cómo
- proviene
- comentarios
- completar
- Calcular
- computadora
- Visión por computador
- conciso
- confianza
- Configuración
- Confirmado
- consiste
- Consola
- Contenedores
- contenido
- contexto
- continue
- Convención
- conversaciones
- convertir
- Correspondiente
- podría
- COVID-19
- la pandemia de COVID-19
- Para crear
- creado
- Creamos
- En la actualidad
- personalizado
- cliente
- experiencia del cliente
- Clientes
- datos
- Base de datos
- bases de datos
- decidir
- Predeterminado
- deleitar
- demostrar
- demostrado
- dependencias
- desplegar
- desplegado
- Desplegando
- despliegue
- detallado
- el desarrollo
- Desarrollo
- dispositivo
- diálogo
- una experiencia diferente
- discutir
- distribuido
- dividir
- documento
- documentos
- dominio
- dominios
- don
- No
- DE INSCRIPCIÓN
- descargar
- dos
- durante
- lugar de trabajo dinámico
- e
- Más temprano
- pasan fácilmente
- esfuerzos
- elementos
- incrustación
- EMEA
- permite
- permitiendo
- final
- Punto final
- comprometido
- mejorar
- Entretenimiento
- enteramente
- Entorno
- equipado
- se establece
- Eventos
- NUNCA
- evolución
- ejemplo
- existe
- esperar
- esperado
- experience
- experimento
- explorar
- externo
- extraerlos
- Cara
- facilitando
- RÁPIDO
- más rápido
- Caracteristicas
- pocos
- final
- la búsqueda de
- Nombre
- primer vez
- Digital XNUMXk
- Focus
- se centra
- seguir
- siguiendo
- formulario
- formato
- adelante
- Gratuito
- amigable
- Desde
- completamente
- función
- funcional
- futuras
- Obtén
- generar
- generado
- genera
- generación de AHSS
- generativo
- IA generativa
- generador
- obtener
- En todo el mundo
- Goals
- va
- GPU
- concedido
- Ahorrar
- Tienen
- es
- he
- ayuda
- serviciales
- ayudando
- ayuda
- de alto nivel
- Alto rendimiento
- más alto
- su
- Golpear
- Cómo
- Como Hacer
- Sin embargo
- HTML
- HTTPS
- Bujes
- AbrazandoCara
- i
- IBC
- ICON
- ID
- Identidad
- if
- ilustra
- imagen
- implementar
- implementación
- implementación
- importar
- mejorar
- mejorado
- mejora
- in
- En otra
- incluye
- Incluye
- aumente
- creciente
- índice
- energético
- Eventos de la Industria
- información
- EN LA MINA
- inicial
- Las opciones de entrada
- instalar
- ejemplo
- Instrucciones
- COMPLETAMENTE
- Intelligence
- interconectado
- interno
- Internacional
- Internet
- Acceso a Internet
- dentro
- IT
- SUS
- jpg
- json
- solo
- Guardar
- claves
- Saber
- especialistas
- idioma
- large
- lanzamiento
- aprendizaje
- izquierda
- Longitud Mínima
- Nivel
- bibliotecas
- como
- LIMITE LAS
- línea
- Llama
- LLM
- carga
- cargador
- local
- Baja
- máquina
- máquina de aprendizaje
- para lograr
- manejable
- gestionado
- muchos
- pareo
- máximas
- mientras tanto
- Medios
- Salud Cerebral
- Meta
- metadatos
- Método
- migrado
- ML
- MLOps
- modelo
- modelos
- más,
- MEJOR DE TU
- debe
- NAB
- nombre
- Nacional
- Natural
- Procesamiento natural del lenguaje
- Navegar
- Navegación
- necesario
- ¿ Necesita ayuda
- Nuevo
- Nuevo acceso
- New York
- Ciudad de Nueva York
- Next
- nlp
- no
- cuaderno
- Noviembre
- ahora
- of
- LANZAMIENTO
- Ofertas
- oficial
- Página web oficial
- on
- ONE
- en línea
- habiertos
- de código abierto
- optimizado
- Optión
- Opciones
- or
- organización
- OS
- Otro
- nuestros
- salir
- contorno
- salida
- salidas
- EL DESARROLLADOR
- almohadilla
- página
- pandemia
- cristal
- parámetros
- parte
- socios
- pass
- (PDF)
- Realizar
- actuación
- permisos
- fase
- piezas
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- jugando
- Por favor
- Publicación
- Artículos
- preferido
- presente
- anterior
- previamente
- en costes
- tratamiento
- Mi Perfil
- proyecto
- proyecta
- prototipo
- prototipado
- proporcionar
- proporcionando
- público
- en público
- publicado
- fines
- Python
- piñón
- calidad
- búsqueda
- pregunta
- Preguntas
- Búsqueda
- con rapidez
- rápido
- rápidamente
- alcanzando
- en tiempo real
- reciente
- recetas
- remitir
- referencia
- con respecto a
- reabrir
- exigir
- Requisitos
- Requisitos
- requiere
- Recursos
- respuesta
- respuestas
- resultado
- currículum
- volvemos
- una estrategia SEO para aparecer en las búsquedas de Google.
- Derecho
- Función
- Ejecutar
- correr
- sabio
- sake
- mismo
- Guardar
- salvado
- dices
- Escala
- la ampliación
- programa
- programación
- Buscar
- Búsquedas
- Segundo
- (secciones)
- ver
- semiconductor
- envío
- expedido
- servidor
- de coches
- Servicios
- set
- pólipo
- Compartir
- ella
- Mostrar
- exhibido
- mostró
- cerrar
- cerrar
- similares
- sencillez
- soltero
- Tamaño
- So
- Social
- redes sociales
- a medida
- Soluciones
- algo
- Fuente
- Fuentes
- especialista
- soluciones y
- específicamente
- independiente
- comienzo
- fundó
- Comience a
- estático
- paso
- pasos
- Detener
- tienda
- almacenados
- tiendas
- sencillo
- estudio
- tal
- suficiente
- SOPORTE
- Soportado
- seguro
- rápidamente
- toma
- Tarea
- tareas
- técnicas
- Tecnología
- plantilla
- texto
- que
- esa
- La
- su
- Les
- Ahí.
- de este modo
- Estas
- ellos
- así
- Tres
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- rendimiento
- equipo
- a
- ficha
- tokenize
- tema
- antorcha
- torres
- Entrenar
- transformers
- transición
- Viajar
- verdadero
- try
- dos
- tipo
- tipos
- principiante
- típicamente
- bajo
- Universal
- hasta
- hasta a la fecha
- Actualizaciones
- Uso
- utilizan el
- caso de uso
- usado
- Usuario
- experiencia como usuario
- usos
- usando
- utilizar
- propuesta de
- diversos
- Verificación
- verificar
- versión
- vía
- espectadores
- Virtual
- visitas virtuales
- la visibilidad
- visión
- Visite
- Visitas
- caminar
- quieres
- Camino..
- we
- web
- servicios web
- Página web
- Semanas
- tuvieron
- cuando
- cuando
- que
- mientras
- seguirá
- dentro de
- sin
- Won
- palabras
- Actividades:
- trabajado
- obrero
- flujo de trabajo
- trabajando
- funciona
- año
- años
- york
- Usted
- tú
- a ti mismo
- zephyrnet