Retrieval Augmented Generation (RAG) vam omogoča, da zagotovite velik jezikovni model (LLM) z dostopom do podatkov iz zunanjih virov znanja, kot so repozitoriji, baze podatkov in API-ji, ne da bi jih bilo treba natančno prilagoditi. Pri uporabi generativne umetne inteligence za odgovarjanje na vprašanja RAG omogoča LLM-ju, da odgovori na vprašanja z najbolj ustreznimi, najnovejšimi informacijami in po želji navede svoje vire podatkov za preverjanje.
Tipična rešitev RAG za pridobivanje znanja iz dokumentov uporablja model vdelav za pretvorbo podatkov iz podatkovnih virov v vdelave in shrani te vdelave v vektorsko bazo podatkov. Ko uporabnik zastavi vprašanje, preišče vektorsko bazo podatkov in pridobi dokumente, ki so najbolj podobni uporabnikovi poizvedbi. Nato združi pridobljene dokumente in uporabnikovo poizvedbo v razširjenem pozivu, ki se pošlje LLM za generiranje besedila. V tej izvedbi sta dva modela: model vdelave in LLM, ki ustvari končni odgovor.
V tej objavi prikazujemo, kako uporabljati Amazon SageMaker Studio za izdelavo rešitve za odgovore na vprašanja RAG.
Uporaba zvezkov za odgovarjanje na vprašanja na osnovi RAG
Implementacija RAG običajno vključuje eksperimentiranje z različnimi modeli vdelave, vektorskimi bazami podatkov, modeli za generiranje besedila in pozivi, hkrati pa odpravljate napake v vaši kodi, dokler ne dosežete funkcionalnega prototipa. Amazon SageMaker ponuja upravljane prenosne računalnike Jupyter, opremljene z instancami GPE, kar vam omogoča hitro eksperimentiranje v tej začetni fazi brez ustvarjanja dodatne infrastrukture. V SageMakerju sta na voljo dve možnosti za uporabo zvezkov. Prva možnost je hiter zagon zvezki na voljo prek SageMaker Studio. V SageMaker Studio, integriranem razvojnem okolju (IDE), namensko izdelanem za ML, lahko zaženete prenosne računalnike, ki se izvajajo na različnih vrstah primerkov in z različnimi konfiguracijami, sodelujete s sodelavci in dostopate do dodatnih namensko izdelanih funkcij za strojno učenje (ML). Druga možnost je uporaba a Primer zvezka SageMaker, ki je popolnoma upravljana računalniška instanca ML, ki izvaja aplikacijo Jupyter Notebook.
V tej objavi predstavljamo rešitev RAG, ki dopolnjuje znanje modela z dodatnimi podatki iz zunanjih virov znanja, da zagotovi natančnejše odzive, specifične za domeno po meri. Uporabljamo en sam prenosnik SageMaker Studio, ki deluje na ml.g5.2xlarge
primerek (1 GPU A10G) in Llama 2 7b klepet hf, natančno prilagojena različica Llama 2 7b, ki je optimizirana za primere uporabe pogovornih oken iz Hugging Face Hub. Kot vzorčna zunanja podatka uporabljamo dve objavi v spletnem dnevniku AWS Media & Entertainment, ki ju pretvorimo v vdelave z BAAI/bge-small-en-v1.5 vdelave. Vgradnje hranimo v Pincone, vektorska zbirka podatkov, ki ponuja visoko zmogljivo iskanje in ujemanje podobnosti. Razpravljamo tudi o tem, kako preiti z eksperimentiranja v prenosnem računalniku na uvajanje vaših modelov v končne točke SageMaker za sklepanje v realnem času, ko dokončate izdelavo prototipa. Enak pristop je mogoče uporabiti z različnimi modeli in vektorskimi bazami podatkov.
Pregled rešitev
Naslednji diagram prikazuje arhitekturo rešitev.
Implementacija rešitve je sestavljena iz dveh korakov na visoki ravni: razvoj rešitve z uporabo prenosnih računalnikov SageMaker Studio in uvajanje modelov za sklepanje.
Razvijte rešitev z uporabo prenosnikov SageMaker Studio
Izvedite naslednje korake, da začnete razvijati rešitev:
- Naložite model klepeta Llama-2 7b iz Hugging Face Hub v zvezek.
- Ustvarite PromptTemplate z LangChain in ga uporabite za ustvarjanje pozivov za vaš primer uporabe.
- Za 1–2 primera pozivov dodajte ustrezno statično besedilo iz zunanjih dokumentov kot kontekst poziva in ocenite, ali se kakovost odgovorov izboljša.
- Ob predpostavki, da se kakovost izboljša, implementirajte potek dela za odgovarjanje na vprašanja RAG:
- Zberite zunanje dokumente, ki lahko pomagajo modelu bolje odgovoriti na vprašanja v vašem primeru uporabe.
- Naložite model vdelav BGE in ga uporabite za ustvarjanje vdelav teh dokumentov.
- Shranite te vdelave v indeks Pinecone.
- Ko uporabnik postavi vprašanje, izvedite iskanje po podobnosti v Pinecone in dodajte vsebino iz najbolj podobnih dokumentov v kontekst poziva.
Razmestite modele v SageMaker za sklepanje v velikem obsegu
Ko dosežete svoje cilje glede zmogljivosti, lahko namestite modele v SageMaker, ki jih bodo uporabljale generativne aplikacije AI:
- Namestite model klepeta Llama-2 7b na končno točko SageMaker v realnem času.
- Uvedite BAAI/bge-small-en-v1.5 model vdelave v končno točko SageMaker v realnem času.
- Uporabite razporejene modele v vprašanju, ki odgovarja na generativne aplikacije AI.
V naslednjih razdelkih vas vodimo skozi korake implementacije te rešitve v prenosnike SageMaker Studio.
Predpogoji
Če želite slediti korakom v tej objavi, morate imeti račun AWS in račun AWS upravljanje identitete in dostopa (IAM) z dovoljenji za ustvarjanje virov rešitve in dostop do njih. Če ste novi v AWS, glejte Ustvarite samostojni račun AWS.
Če želite uporabljati prenosnike SageMaker Studio v svojem računu AWS, potrebujete a Domena SageMaker z uporabniškim profilom, ki ima dovoljenja za zagon aplikacije SageMaker Studio. Če ste novi v SageMaker Studio, Hitra namestitev studia je najhitrejši način za začetek. Z enim samim klikom SageMaker določi domeno SageMaker s privzetimi prednastavitvami, vključno z nastavitvijo uporabniškega profila, vloge IAM, avtentikacije IAM in dostopa do javnega interneta. Beležnica za to objavo predvideva ml.g5.2xlarge
vrsta primerka. Če želite pregledati ali povečati svojo kvoto, odprite konzolo AWS Service Quotas, izberite Storitve AWS v podoknu za krmarjenje izberite Amazon SageMakerin si oglejte vrednost za aplikacije Studio KernelGateway, ki se izvajajo ml.g5.2xlarge
primerov.
Ko potrdite svojo omejitev kvote, morate dokončati odvisnosti za uporabo klepeta Llama 2 7b.
Klepet Llama 2 7b je na voljo pod Llama 2 licenca. Za dostop do Llame 2 na Hugging Face morate najprej opraviti nekaj korakov:
- Ustvarite račun Hugging Face, če ga še nimate.
- Izpolnite obrazec »Zahtevaj dostop do naslednje različice Llame« na Meti spletna stran.
- Zahtevaj dostop do Llama 2 7b klepet na Hugging Face.
Ko vam je bil odobren dostop, lahko ustvarite nov dostopni žeton za dostop do modelov. Če želite ustvariti žeton za dostop, se pomaknite do Nastavitve strani na spletni strani Hugging Face.
Če ga želite uporabljati kot vektorsko bazo podatkov, morate imeti račun pri Pinecone. Pinecone je na voljo na AWS prek AWS Marketplace. Spletno mesto Pinecone ponuja tudi možnost ustvarjanja a brezplačen račun ki ima dovoljenja za ustvarjanje enega samega indeksa, kar zadostuje za namene te objave. Če želite pridobiti svoje ključe Pinecone, odprite Borova konzola In izberite Tipke API.
Nastavite prenosni računalnik in okolje
Če želite slediti kodi v tej objavi, odprite SageMaker Studio in klonirajte naslednje GitHub repozitorij. Nato odprite zvezek studio-local-gen-ai/rag/RAG-with-Llama-2-on-Studio.ipynb in izberite sliko PyTorch 2.0.0 Python 3.10 GPU Optimized, jedro Python 3 in ml.g5.2xlarge
kot vrsto primerka. Če prvič uporabljate prenosnike SageMaker Studio, glejte Ustvarite ali odprite beležnico Amazon SageMaker Studio.
Če želite nastaviti razvojno okolje, morate namestiti potrebne knjižnice Python, kot je prikazano v naslednji kodi:
%%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
Naložite predhodno usposobljeni model in tokenizer
Ko uvozite zahtevane knjižnice, lahko naložite Klepet Llama-2 7b model skupaj z ustreznimi tokenizerji iz Hugging Face. Ti naloženi artefakti modela so shranjeni v lokalnem imeniku znotraj SageMaker Studio. To vam omogoča, da jih hitro znova naložite v pomnilnik, kadar koli želite nadaljevati z delom ob drugem času.
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)
Postavite vprašanje, ki zahteva posodobljene informacije
Zdaj lahko začnete uporabljati model in postavljate vprašanja. Modeli klepeta Llama-2 pričakujejo, da bo poziv v naslednji obliki:
<s>[INST] <<SYS>>
system_prompt
<<SYS>>
{{ user_message }} [/INST]
Lahko uporabite PromptTemplate iz LangChaina, da ustvarite recept, ki temelji na obliki poziva, tako da lahko preprosto ustvarite pozive naprej:
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'] )
Postavimo modelu vprašanje, ki potrebuje najnovejše informacije iz leta 2023. Uporabite lahko LangChain in posebej LLMChain vrsto verige in kot parametre posredujte LLM, predlogo poziva, ki ste jo ustvarili prej, in vprašanje:
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)
Dobimo naslednji generirani odgovor:
Hvala, ker ste se obrnili! Center za uporabniške izkušnje AWS M&E v New Yorku je trenutno zaprt za obiske zaradi pandemije COVID-19. Vendar pa lahko preverite njihovo uradno spletno mesto ali račune v družabnih omrežjih za kakršne koli posodobitve o tem, kdaj se bo center znova odprl. Medtem lahko raziščete njihove virtualne oglede in vire, ki so na voljo na spletu.
Izboljšajte odgovor tako, da pozivu dodate kontekst
Odgovor, ki smo ga ustvarili, ni povsem resničen. Poglejmo, ali ga lahko izboljšamo z zagotavljanjem konteksta. Dodate lahko izvleček iz objave AWS napoveduje nov M&E center za uporabniške izkušnje v New Yorku, ki vključuje posodobitve na temo iz leta 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."""
Ponovno uporabite LLMChain in predajte prejšnje besedilo kot kontekst:
context_response = llm_chain.predict(context=context, question=question)
print(context_response)
Nov odgovor odgovarja na vprašanje s posodobljenimi informacijami:
Center za uporabniško izkušnjo AWS M&E v New Yorku lahko obiščete od 13. novembra. Za načrtovanje obiska pošljite e-pošto na naslov AWS-MediaEnt-CXC@amazon.com.
Potrdili smo, da se z dodajanjem pravega konteksta učinkovitost modela izboljša. Zdaj se lahko osredotočite na iskanje in dodajanje pravega konteksta za postavljeno vprašanje. Z drugimi besedami, implementirajte RAG.
Izvedite odgovarjanje na vprašanja RAG z vdelavami BGE in Pinecone
Na tej točki se morate odločiti za vire informacij, da izboljšate znanje modela. Ti viri so lahko notranje spletne strani ali dokumenti v vaši organizaciji ali javno dostopni viri podatkov. Za namene te objave in zaradi enostavnosti smo izbrali dve objavi v spletnem dnevniku AWS, objavljeni leta 2023:
Te objave so že na voljo kot dokumenti PDF v imeniku podatkovnega projekta v SageMaker Studio za hiter dostop. Če želite dokumente razdeliti na obvladljive dele, lahko uporabite RecursiveCharacterTextSplitter metoda iz LangChaina:
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)
Nato uporabite model vdelav BGE bge-small-en ustvarjena z Pekinška akademija za umetno inteligenco (BAAI) ki je na voljo na Hugging Face za ustvarjanje vdelav teh kosov. Prenesite in shranite model v lokalni imenik v Studiu. Uporabljamo fp32, da se lahko izvaja v CPE instance.
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()
Uporabite naslednjo kodo za ustvarjanje funkcije embedding_generator, ki vzame dele dokumenta kot vhod in generira vdelave z uporabo modela 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))
V tej objavi prikazujemo potek dela RAG z uporabo Pinecone, upravljanega, izvornega v oblaku vektorska baza podatkov ki ponuja tudi API za iskanje podobnosti. Naslednjo kodo lahko prepišete za uporabo želene vektorske baze podatkov.
Inicializiramo a Odjemalec Pinecone python in ustvarite nov vektorski iskalni indeks z uporabo izhodne dolžine vdelanega modela. Za vnos vdelav, ki smo jih ustvarili v prejšnjem koraku, uporabljamo vgrajen razred Pinecone podjetja LangChain. Potrebuje tri parametre: dokumente za vnos, funkcijo generatorja vdelav in ime indeksa 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
)
Z modelom klepeta Llama-2 7B, naloženim v pomnilnik, in vdelavami, integriranimi v indeks Pinecone, lahko zdaj združite te elemente, da izboljšate odgovore Llame 2 za naš primer uporabe odgovorov na vprašanja. Če želite to doseči, lahko uporabite LangChain RetrievalQA, ki dopolni začetni poziv z najbolj podobnimi dokumenti iz vektorske shrambe. Z nastavitvijo return_source_documents=True
, dobite vpogled v natančne dokumente, uporabljene za ustvarjanje odgovora kot del odgovora, kar vam omogoča, da preverite točnost odgovora.
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))
Dobimo naslednji odgovor:
V: Kdaj lahko obiščem center za uporabniške izkušnje AWS M&E v New Yorku?
O: Z veseljem vam pomagam! Glede na kontekst bo center za uporabniške izkušnje AWS M&E v New Yorku na voljo za obiske od 13. novembra. Za načrtovanje obiska lahko pošljete e-pošto na naslov AWS-MediaEnt-CXC@amazon.com.'
Izvorni dokumenti:
{'page': 4.0, 'source': 'data/AWS napoveduje nov M&E Center za uporabniško izkušnjo v New Yorku _ AWS za M&E Blog.pdf'}
{'page': 2.0, 'source': 'data/AWS napoveduje nov M&E Center za uporabniško izkušnjo v New Yorku _ AWS za M&E Blog.pdf'}
Poskusimo z drugim vprašanjem:
question2=" How many awards have AWS Media Services won in 2023?"
print_response(llm_qa_chain(question2))
Dobimo naslednji odgovor:
V: Koliko nagrad so medijske storitve AWS prejele v letu 2023?
O: Glede na objavo v spletnem dnevniku so medijske storitve AWS leta 2023 prejele pet industrijskih nagrad.'
Izvorni dokumenti:
{'page': 0.0, 'source': 'data/AWS Media Services prejela industrijska priznanja _ AWS za M&E Blog.pdf'}
{'page': 1.0, 'source': 'data/AWS Media Services prejela industrijska priznanja _ AWS za M&E Blog.pdf'}
Ko ste vzpostavili zadostno stopnjo zaupanja, lahko modele uvedete v Končne točke SageMaker za sklepanje v realnem času. Te končne točke so v celoti upravljane in ponujajo podporo za samodejno skaliranje.
SageMaker ponuja sklepanje velikih modelov z uporabo vsebnikov Large Model Inference (LMI), ki jih lahko uporabimo za uvajanje naših modelov. Ti vsebniki so opremljeni z vnaprej nameščenimi odprtokodnimi knjižnicami, kot je DeepSpeed, ki olajšajo izvajanje tehnik za izboljšanje zmogljivosti, kot je tenzorski paralelizem med sklepanjem. Poleg tega uporabljajo DJLServing kot vnaprej zgrajen integrirani model strežnika. DJLServing je visoko zmogljiva, univerzalna rešitev za streženje modelov, ki ponuja podporo za dinamično šaržiranje in samodejno skaliranje delavca, s čimer poveča prepustnost.
V našem pristopu uporabljamo SageMaker LMI z DJLServing in DeepSpeed Inference za uvajanje modelov Llama-2-chat 7b in BGE v končne točke SageMaker, ki se izvajajo na ml.g5.2xlarge
primerki, kar omogoča sklepanje v realnem času. Če želite sami slediti tem korakom, si oglejte priloženo prenosnik za podrobnejša navodila.
Potrebovali boste dva ml.g5.2xlarge
primerke za uvajanje. Če želite pregledati ali povečati svojo kvoto, odprite konzolo AWS Service Quotas, izberite Storitve AWS v podoknu za krmarjenje izberite Amazon SageMaker, in se obrnite na vrednost za ml.g5.2xlarge
za uporabo končne točke.
Naslednji koraki opisujejo postopek uvajanja modelov po meri za potek dela RAG na končni točki SageMaker:
- Uvedite Lama-2 7b model klepeta v končno točko SageMaker v realnem času, ki se izvaja na
ml.g5.2xlarge
primerek za hitro ustvarjanje besedila. - Uvedite BAAI/bge-small-en-v1.5 model vdelave v realnočasovno končno točko SageMaker, ki se izvaja na
ml.g5.2xlarge
primerek. Druga možnost je, da uvedete svoj model vdelave. - Postavite vprašanje in uporabite LangChain RetrievalQA da razširite poziv z najbolj podobnimi dokumenti iz Pinecone, tokrat z uporabo modela, ki je nameščen v končni točki SageMaker v realnem času:
# 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}
)
- Uporabite LangChain, da preverite, ali končna točka SageMaker z modelom vdelave deluje po pričakovanjih, tako da jo je mogoče uporabiti za prihodnji vnos dokumentov:
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']
Čiščenje
Izvedite naslednje korake za čiščenje virov:
- Ko končate z delom v prenosnem računalniku SageMaker Studio, se prepričajte, da ste izklopili
ml.g5.2xlarge
primeru, da se izognete kakršnim koli stroškom, tako da izberete ikono za ustavitev. Lahko tudi nastavite konfiguracijske skripte življenjskega cikla za samodejno zaustavitev virov, ko niso v uporabi.
- Če ste modele razmestili na končne točke SageMaker, zaženite to kodo na koncu zvezka, da izbrišete končne točke:
#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
)
- Na koncu zaženite naslednjo vrstico, da izbrišete indeks Pinecone:
pinecone.delete_index(index_name)
zaključek
Prenosni računalniki SageMaker zagotavljajo enostaven način za hitri začetek vašega potovanja z Retrieval Augmented Generation. Omogočajo vam interaktivno eksperimentiranje z različnimi modeli, konfiguracijami in vprašanji brez vrtenja dodatne infrastrukture. V tej objavi smo pokazali, kako izboljšati zmogljivost klepeta Llama 2 7b v primeru uporabe odgovorov na vprašanja z uporabo LangChain, modela vdelav BGE in Pinecone. Za začetek zaženite SageMaker Studio in zaženite prenosnik na voljo v naslednjem GitHub repo. Delite svoje misli v oddelku za komentarje!
O avtorjih
Anastazija Tzeveleka je specialist za strojno učenje in AI arhitekt pri AWS. Sodeluje s strankami v EMEA in jim pomaga pri načrtovanju rešitev strojnega učenja v velikem obsegu z uporabo storitev AWS. Delala je na projektih na različnih področjih, vključno z obdelavo naravnega jezika (NLP), MLOps in orodji Low Code No Code.
Pranav Murthy je specialist za rešitve AI/ML pri AWS. Osredotoča se na pomoč strankam pri gradnji, usposabljanju, uvajanju in selitvi delovnih obremenitev strojnega učenja (ML) v SageMaker. Pred tem je delal v industriji polprevodnikov, razvijal modele velikega računalniškega vida (CV) in obdelave naravnega jezika (NLP) za izboljšanje polprevodniških procesov. V prostem času rad igra šah in potuje.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- vir: 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/
- :ima
- : je
- :ne
- :kje
- $GOR
- 1
- 10
- 100
- 13
- 16
- 2023
- 33
- 500
- 7
- a
- AC
- Akademija
- dostop
- Dostop do podatkov
- dostopen
- Po
- Račun
- računi
- natančnost
- natančna
- Doseči
- dodajte
- dodajanje
- Dodatne
- Poleg tega
- držijo
- spet
- AI
- AI / ML
- omogočajo
- Dovoli
- omogoča
- skupaj
- že
- Prav tako
- Amazon
- Amazon SageMaker
- Amazon SageMaker Studio
- Amazon Web Services
- Amazonske spletne storitve (AWS)
- an
- in
- Igro
- odgovor
- odgovori
- kaj
- API-ji
- aplikacija
- aplikacije
- pristop
- aplikacije
- Arhitektura
- SE
- umetni
- Umetna inteligenca
- AS
- vprašati
- oceniti
- Pomočnik
- Združenje
- predpostavlja
- At
- povečanje
- Povečana
- razširitve
- Preverjanje pristnosti
- avto
- samodejno
- Na voljo
- izogniti
- oddano
- Nagrade
- AWS
- temeljijo
- BE
- bilo
- pred
- BEST
- Boljše
- Blog
- Blog Prispevkov
- telo
- oddaja
- izgradnjo
- vgrajeno
- by
- CAN
- primeru
- primeri
- center
- verige
- verige
- izzivi
- Stroški
- preveriti
- Šah
- Izberite
- izbiri
- izbran
- mesto
- razred
- čiščenje
- klik
- zaprto
- Koda
- sodelovati
- sodelavci
- COM
- združujejo
- združuje
- kako
- prihaja
- komentarji
- dokončanje
- Izračunajte
- računalnik
- Računalniška vizija
- zgoščeno
- zaupanje
- konfiguracija
- POTRJENO
- vsebuje
- Konzole
- Zabojniki
- vsebina
- ozadje
- naprej
- Konvencija
- pogovorov
- pretvorbo
- Ustrezno
- bi
- Covid-19
- Pandemija COVID-19
- ustvarjajo
- ustvaril
- Ustvarjanje
- Trenutno
- po meri
- stranka
- Izkušnje s strankami
- Stranke, ki so
- datum
- Baze podatkov
- baze podatkov
- odloča
- privzeto
- Očarala
- izkazati
- Dokazano
- odvisnosti
- razporedi
- razporejeni
- uvajanja
- uvajanje
- podrobno
- razvoju
- Razvoj
- naprava
- Dialog
- drugačen
- razpravlja
- distribucijo
- razdeli
- dokument
- Dokumenti
- domena
- domen
- don
- dont
- navzdol
- prenesi
- 2
- med
- dinamično
- e
- prej
- enostavno
- prizadevanja
- elementi
- E-naslov
- vdelava
- EMEA
- omogoča
- omogočanje
- konec
- Končna točka
- , ki se ukvarjajo
- okrepi
- Zabava
- popolnoma
- okolje
- opremljena
- ustanovljena
- dogodki
- VEDNO
- evolucija
- Primer
- obstaja
- pričakovati
- Pričakuje
- izkušnje
- poskus
- raziskuje
- zunanja
- ekstrakt
- Obraz
- olajšanje
- FAST
- Najhitreje
- Lastnosti
- Nekaj
- končna
- iskanje
- prva
- prvič
- pet
- Osredotočite
- Osredotoča
- sledi
- po
- za
- obrazec
- format
- Naprej
- brezplačno
- Prijazno
- iz
- v celoti
- funkcija
- funkcionalno
- Prihodnost
- Gain
- ustvarjajo
- ustvarila
- ustvarja
- generacija
- generativno
- Generativna AI
- generator
- dobili
- Globalno
- Cilji
- dogaja
- GPU
- odobreno
- srečna
- Imajo
- ob
- he
- pomoč
- pomoč
- pomoč
- Pomaga
- na visoki ravni
- visokozmogljivo
- več
- njegov
- hit
- Kako
- Kako
- Vendar
- HTML
- HTTPS
- Hub
- HuggingFace
- i
- IBC
- ICON
- ID
- identiteta
- if
- ponazarja
- slika
- izvajati
- Izvajanje
- izvajanja
- uvoz
- izboljšanje
- izboljšalo
- izboljšuje
- in
- V drugi
- vključuje
- Vključno
- Povečajte
- narašča
- Indeks
- Industrija
- industrija Dogodki
- Podatki
- Infrastruktura
- začetna
- vhod
- namestitev
- primer
- Navodila
- integrirana
- Intelligence
- medsebojno povezani
- notranji
- Facebook Global
- Internet
- dostop do interneta
- v
- IT
- ITS
- Potovanje
- jpg
- json
- samo
- Imejte
- tipke
- Vedite
- znanje
- jezik
- velika
- kosilo
- učenje
- levo
- dolžina
- Stopnja
- knjižnice
- kot
- LIMIT
- vrstica
- Llama
- LLM
- obremenitev
- nakladač
- lokalna
- nizka
- stroj
- strojno učenje
- Znamka
- obvladljiv
- upravlja
- več
- ujemanje
- največja
- medtem
- mediji
- Spomin
- Meta
- metapodatki
- Metoda
- selitev
- ML
- MLOps
- Model
- modeli
- več
- Najbolj
- morajo
- NAB
- Ime
- nacionalni
- naravna
- Obdelava Natural Language
- Krmarjenje
- ostalo
- potrebno
- Nimate
- potrebe
- Novo
- Nov dostop
- NY
- New York City
- Naslednja
- nlp
- št
- prenosnik
- november
- zdaj
- of
- ponudba
- Ponudbe
- Uradni
- Uradna spletna stran
- on
- ONE
- na spletu
- odprite
- open source
- optimizirana
- Možnost
- možnosti
- or
- Organizacija
- OS
- Ostalo
- naši
- ven
- oris
- izhod
- izhodi
- lastne
- pad
- Stran
- Pandemija
- podokno
- parametri
- del
- partnerji
- mimo
- Izvedite
- performance
- Dovoljenja
- faza
- kosov
- platon
- Platonova podatkovna inteligenca
- PlatoData
- igranje
- prosim
- Prispevek
- Prispevkov
- prednostno
- predstaviti
- prejšnja
- prej
- Postopek
- Procesi
- obravnavati
- profil
- Projekt
- projekti
- Prototip
- prototipov
- zagotavljajo
- zagotavljanje
- javnega
- javno
- objavljeno
- namene
- Python
- pitorha
- kakovost
- iskanje
- vprašanje
- vprašanja
- Hitri
- hitro
- hitro
- hitro
- dosegli
- v realnem času
- nedavno
- Recept
- glejte
- reference
- o
- pomembno
- ponovno odpre
- zahteva
- obvezna
- Zahteve
- zahteva
- viri
- Odgovor
- odgovorov
- povzroči
- Nadaljuj
- vrnitev
- pregleda
- Pravica
- vloga
- Run
- tek
- sagemaker
- sake
- Enako
- Shrani
- shranjena
- pravijo,
- Lestvica
- skaliranje
- urnik
- razporejanje
- Iskalnik
- iskanja
- drugi
- oddelki
- glej
- polprevodnik
- pošljite
- poslan
- strežnik
- Storitev
- Storitve
- nastavite
- nastavitev
- Delite s prijatelji, znanci, družino in partnerji :-)
- je
- Prikaži
- predstavljeni
- je pokazala,
- Zapri
- Zaustavite
- Podoben
- preprostost
- sam
- Velikosti
- So
- socialna
- družbeni mediji
- Rešitev
- rešitve
- nekaj
- vir
- Viri
- specialist
- specifična
- posebej
- samostojna
- Začetek
- začel
- Začetek
- statična
- Korak
- Koraki
- stop
- trgovina
- shranjeni
- trgovine
- naravnost
- studio
- taka
- dovolj
- podpora
- Podprti
- Preverite
- hitro
- meni
- Naloga
- Naloge
- tehnike
- Tehnologija
- Predloga
- besedilo
- kot
- da
- O
- njihove
- Njih
- Tukaj.
- s tem
- te
- jih
- ta
- 3
- skozi
- pretočnost
- čas
- do
- žeton
- tokenizirati
- orodja
- temo
- baklo
- ogledi
- Vlak
- transformatorji
- Prehod
- Potovanje
- Res
- poskusite
- dva
- tip
- Vrste
- tipičen
- tipično
- pod
- Universal
- dokler
- up-to-date
- posodobitve
- Uporaba
- uporaba
- primeru uporabe
- Rabljeni
- uporabnik
- Uporabniška izkušnja
- uporablja
- uporabo
- uporabiti
- vrednost
- različnih
- Preverjanje
- preverjanje
- različica
- preko
- gledalcev
- Virtual
- virtualne oglede
- vidljivost
- Vizija
- obisk
- Obiskov
- sprehod
- želeli
- način..
- we
- web
- spletne storitve
- Spletna stran
- Weeks
- so bili
- kdaj
- kadar koli
- ki
- medtem
- bo
- z
- v
- brez
- Zmagali
- besede
- delo
- delal
- delavec
- potek dela
- deluje
- deluje
- leto
- let
- york
- Vi
- Vaša rutina za
- sami
- zefirnet