Llama Index und Prem AI bündeln ihre Kräfte | von Jerry Liu | LlamaIndex-Blog | Juni 2023

0
24


Co-Autoren: Simone Giacomelli (Mitbegründerin von Prem), Jerry Liu (Mitbegründer/CEO von LlamaIndex)

Wir freuen uns, die erfolgreiche Integration von Prem App und Llama Index bekannt zu geben, einer Vereinigung, die ein neues Maß an Datenschutz in die KI-Entwicklung bringt. Die selbsthostenden KI-Modelle von Prem und das vielseitige Daten-Framework von Llama verbessern die Fähigkeit, KI-Anwendungen auf anpassbare und versatile Weise zu erstellen.

Integrationsdetails

Durch die Kombination der selbsthostenden KI-Modelle von Prem mit dem Datenframework von Llama Index können Entwickler jetzt problemlos benutzerdefinierte Datenquellen mit großen Sprachmodellen verbinden. Dies vereinfacht den Prozess der Datenaufnahme, -indizierung und -abfrage und rationalisiert den gesamten KI-Entwicklungszyklus.

Einstieg

Um diese Integration zu nutzen, laden Sie einfach die Prem-App herunter und verbinden Sie Ihre Datenquellen über die Llama Index-Plattform. Dadurch können Sie Ihre KI-Modelle mit der Prem App selbst hosten und die Funktionen von Llama Index nutzen, um Ihre Daten effizient zu verwalten. Diese Integration beschleunigt daher die Entwicklung von KI-Anwendungen erheblich und gibt Entwicklern mehr Kontrolle und Flexibilität über ihre Projekte.

Installieren Sie Prem

Sie können Prem auf zwei verschiedene Arten ausführen:

  • MacOS: gehen Sie zu https://premai.io und laden Sie die Prem-App herunter.
  • Server: Führen Sie das Installationsskript aus: wget -q <https://get.prem.ninja/set up.sh> -O set up.sh; sudo bash ./set up.sh

Führen Sie die Dienste in der GUI aus

Wenn die Benutzeroberfläche betriebsbereit ist, können Sie alle verfügbaren Dienste sehen. Mit nur einem Klick können Sie den Dienst herunterladen, der Sie interessiert. Im Hintergrund wird das mit dem Dienst verknüpfte Docker-Picture entsprechend Ihren Hardwareanforderungen heruntergeladen.

Während Sie auf den Abschluss des Downloads warten, können Sie in der Detailansicht mehr über den Dienst lesen. Klicken Sie einfach auf die Karte und Sie werden zur Serviceseite weitergeleitet. Jede Serviceseite enthält einige allgemeine Informationen sowie eine vollständige Dokumentation mit weiteren Particulars zum bereitgestellten Modell. Wenn der Obtain abgeschlossen ist, klicken Sie einfach auf Öffnen und der Dienst wird gestartet. Sie können über den Spielplatz oder über APIs mit dem Dienst interagieren.

Sie können den Port, auf dem der Dienst ausgeführt wird, in der Dienstdetailansicht überprüfen.

In diesem kurzen Tutorial erfahren Sie, wie Sie mithilfe von Prem-Landingpage-Inhalten einen einfachen „Speak to your Knowledge“-Anwendungsfall erstellen.

Um dies zu erreichen, müssen wir drei Dienste ausführen:

  • Redis: Wir werden Redis als Vektorspeicher zum Speichern der Einbettungen verwenden.
  • Vicuna 7B F4: Wir werden Vicuna verwenden, um eine angemessene Antwort für den Benutzer basierend auf dem ähnlichsten Dokument zu generieren, das wir mithilfe der Redis-Ähnlichkeitssuche erhalten
  • Alle MiniLM L6 V2: Wir werden Satztransformatoren verwenden, um die Einbettungen aus unseren Dokumenten zu generieren.

Wenn alle erforderlichen Dienste ausgeführt werden, sehen Sie eine ähnliche Oberfläche wie die dahinterstehende.

Sie können jetzt mit der Integration der Dienste mithilfe der Llama Index-Bibliothek beginnen. In den folgenden Codeausschnitten zeigen wir Ihnen, wie Sie mit Prem und Llama Index einen einfachen Speak zu Ihrem Datenanwendungsfall erstellen können.

  1. Importieren Sie alle erforderlichen Abhängigkeiten und weisen Sie ihnen eine zufällige Zeichenfolge zu OPENAI_API_KEY Umgebungsvariable.
import os

from llama_index.vector_stores import RedisVectorStore
from llama_index.storage.storage_context import StorageContext
from llama_index import ListIndex, LLMPredictor, Doc

from langchain.chat_models import ChatOpenAI
from langchain.embeddings.openai import OpenAIEmbeddings

from llama_index import LangchainEmbedding, ServiceContext

os.environ["OPENAI_API_KEY"] = "random-string"

2. Laden Sie die Daten / erstellen Sie einige Dokumente. In diesem Beispiel verwende ich Prem-Landingpage-Inhalte und erstelle manuell einige Dokumente.

doc1 = Doc(textual content="Prem is a straightforward to make use of open supply AI platform. With Prem you'll be able to shortly construct privateness preserving AI functions.")
doc2 = Doc(textual content="""
Prem App

An intuitive desktop software designed to effortlessly deploy and self-host Open-Supply AI fashions with out exposing delicate information to third-party.

""")
doc3 = Doc(textual content="""
Prem Advantages

Easy Integration
Seamlessly implement machine studying fashions with the user-friendly interface of OpenAI's API.

Prepared for the Actual World
Bypass the complexities of inference optimizations. Prem's acquired you coated.

Fast Iterations, Immediate Outcomes
Develop, take a look at, and deploy your fashions in simply minutes.

Privateness Above All
Your keys, your fashions. We guarantee end-to-end encryption.

Complete Documentation
Dive into our wealthy sources and learn to profit from Prem.

Protect Your Anonymity
Make funds with Bitcoin and Cryptocurrency. It is a permissionless infrastructure, designed for you.
""")

3. Instanziieren Sie die LLMs, die eine Verbindung zu den laufenden Diensten herstellen.

# Instantiate a llm predictor utilizing Langchain pointing to vicuna-7b-q4 service
llm_predictor = LLMPredictor(llm=ChatOpenAI(openai_api_base="http://localhost:8111/api/v1", max_tokens=128))

# Instantiate the embeddings object utilizing Langchain pointing to all-MiniLM-L6-v2 service
embeddings = OpenAIEmbeddings(openai_api_base="http://localhost:8444/api/v1")
embed_model = LangchainEmbedding(embeddings)

# outline a service context utilizing the embeddings and llm outlined above.
service_context = ServiceContext.from_defaults(embed_model=embed_model, llm_predictor=llm_predictor)

4. Konfigurieren Sie den Vector Retailer

# instantiate the vectorstore connecting to Redis service
vector_store = RedisVectorStore(
index_name="prem_landing",
index_prefix="llama",
redis_url="redis://localhost:6379",
overwrite=True
)
storage_context = StorageContext.from_defaults(vector_store=vector_store)

5. Indizieren Sie die Dokumente

index = ListIndex.from_documents([doc1, doc2, doc3], storage_context=storage_context)

6. Führen Sie eine Beispielabfrage durch

query_engine = index.as_query_engine(
retriever_mode="embedding",
verbose=True,
service_context=service_context
)
response = query_engine.question("What are Prem advantages?")
print(response)
The advantages of utilizing Prem embody: Easy Integration, Prepared for the Actual World, Fast Iterations, Immediate Outcomes, Privateness Above All, Complete Documentation, Protect Your Anonymity, and an intuitive desktop software designed to effortlessly deploy and self-host Open-Supply AI fashions with out exposing delicate information to third-party.

Und fertig 🎉 Sie verwenden jetzt Prem mit Llama Index.

Schauen Sie sich unsere Dokumentation an unter: https://github.com/premai-io/prem-app

Schauen Sie sich einen einfachen Dialog mit Ihrem Datennotizbuch mit Llama Index an: https://github.com/premAI-io/prem-daemon/blob/main/resources/notebooks/llama_index.ipynb

Schauen Sie sich unsere YouTube-Tutorials an

Unsere Partnerschaft basiert auf dem gemeinsamen Verständnis, dass die Zukunft der KI offen, zusammensetzbar und datenschutzorientiert ist.

Begleiten Sie uns auf dieser Reise!



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here