Inhaltsverzeichnis
1. Knowledge-Graph-Erstellung
Schritt I: Einrichtung der Neo4j-Umgebung
Schritt II: Diagrammdatenimport
2. Vor dem Abrufen des Wissensgraphen müssen Entitäten und zugehörige Attribute vektorisiert eingebettet und gespeichert werden In die Neo4j-Datenbank:
Abschließend wird ein großes Sprachmodell (LLM) verwendet, um die endgültige Antwort basierend auf den aus dem Wissensgraphen abgerufenen strukturierten Informationen zu generieren. Im folgenden Code nehmen wir als Beispiel das große Sprachmodell von Tongyi Qianwen Open Source:
from langchain import HuggingFacePipelinefrom transformers import pipeline, AutoTokenizer, AutoModelForCausalLMdef custom_model(model_name, branch_name=None, cache_dir=None, temperature=0, top_p=1, max_new_tokens=512, stream=False):tokenizer = AutoTokenizer.from_pretrained(model_name, revision=branch_name, cache_dir=cache_dir)model = AutoModelForCausalLM.from_pretrained(model_name,device_map='auto',torch_dtype=torch.float16,revision=branch_name,cache_dir=cache_dir)pipe = pipeline("text-generation",model = model,tokenizer = tokenizer,torch_dtype = torch.bfloat16,device_map = 'auto',max_new_tokens = max_new_tokens,do_sample = True)llm = HuggingFacePipeline(pipeline = pipe,model_kwargs = {"temperature":temperature, "top_p":top_p,"tokenizer":tokenizer, "model":model})return llmtongyi_model = "Qwen1.5-7B-Chat"llm_model = custom_model(model_name=tongyi_model)tokenizer = llm_model.model_kwargs['tokenizer']model = llm_model.model_kwargs['model']
Nach dem Login kopieren
" >
from langchain import HuggingFacePipelinefrom transformers import pipeline, AutoTokenizer, AutoModelForCausalLMdef custom_model(model_name, branch_name=None, cache_dir=None, temperature=0, top_p=1, max_new_tokens=512, stream=False):tokenizer = AutoTokenizer.from_pretrained(model_name, revision=branch_name, cache_dir=cache_dir)model = AutoModelForCausalLM.from_pretrained(model_name,device_map='auto',torch_dtype=torch.float16,revision=branch_name,cache_dir=cache_dir)pipe = pipeline("text-generation",model = model,tokenizer = tokenizer,torch_dtype = torch.bfloat16,device_map = 'auto',max_new_tokens = max_new_tokens,do_sample = True)llm = HuggingFacePipeline(pipeline = pipe,model_kwargs = {"temperature":temperature, "top_p":top_p,"tokenizer":tokenizer, "model":model})return llmtongyi_model = "Qwen1.5-7B-Chat"llm_model = custom_model(model_name=tongyi_model)tokenizer = llm_model.model_kwargs['tokenizer']model = llm_model.model_kwargs['model']
Nach dem Login kopieren
Eine Abfragefrage wurde separat getestet. Im Vergleich zu der Situation, in der nur LLM zum Generieren von Antworten ohne RAG verwendet wird, beantwortet das LLM-Modell mit GraphRAG eine größere Menge an Informationen und ist genauer.
Heim Technologie-Peripheriegeräte KI GraphRAG verbessert für den Abruf von Wissensgraphen (implementiert basierend auf Neo4j-Code)

GraphRAG verbessert für den Abruf von Wissensgraphen (implementiert basierend auf Neo4j-Code)

Jun 12, 2024 am 10:32 AM
llm rag GraphRAG

Graph Retrieval Enhanced Generation (Graph RAG) erfreut sich zunehmender Beliebtheit und hat sich zu einer leistungsstarken Ergänzung zu herkömmlichen Vektorsuchmethoden entwickelt. Diese Methode nutzt die strukturellen Merkmale von Graphdatenbanken, um Daten in Form von Knoten und Beziehungen zu organisieren und dadurch die Tiefe und kontextbezogene Relevanz der abgerufenen Informationen zu verbessern. Diagramme haben einen natürlichen Vorteil bei der Darstellung und Speicherung vielfältiger und miteinander verbundener Informationen und können problemlos komplexe Beziehungen und Eigenschaften zwischen verschiedenen Datentypen erfassen. Vektordatenbanken können diese Art von strukturierten Informationen nicht verarbeiten und konzentrieren sich mehr auf die Verarbeitung unstrukturierter Daten, die durch hochdimensionale Vektoren dargestellt werden. In RAG-Anwendungen können wir durch die Kombination strukturierter Diagrammdaten und unstrukturierter Textvektorsuche gleichzeitig die Vorteile beider nutzen, worauf in diesem Artikel eingegangen wird.

Der Aufbau eines Wissensgraphen ist oft der schwierigste Schritt, um die Leistungsfähigkeit der grafischen Datendarstellung zu nutzen. Es erfordert das Sammeln und Organisieren von Daten, was ein tiefes Verständnis der Domänenkenntnisse und der Diagrammmodellierung erfordert. Um diesen Prozess zu vereinfachen, können Sie auf bestehende Projekte zurückgreifen oder LLM verwenden, um einen Wissensgraphen zu erstellen, und sich dann auf das Abrufen und Abrufen konzentrieren, um die Generierungsphase von LLM zu verbessern. Lassen Sie uns den entsprechenden Code unten üben.

1. Knowledge-Graph-Erstellung

Um Knowledge-Graph-Daten zu speichern, müssen Sie zunächst eine Neo4j-Instanz erstellen. Der einfachste Weg besteht darin, eine kostenlose Instanz auf Neo4j Aura zu starten, die eine Cloud-Version der Neo4j-Datenbank bereitstellt. Natürlich können Sie es auch lokal über Docker starten und dann die Diagrammdaten in die Neo4j-Datenbank importieren.

Schritt I: Einrichtung der Neo4j-Umgebung

Das Folgende ist ein Beispiel für die lokale Ausführung von Docker:

docker run -d \--restart always \--publish=7474:7474 --publish=7687:7687 \--env NEO4J_AUTH=neo4j/000000 \--volume=/yourdockerVolume/neo4j:/data \neo4j:5.19.0
Nach dem Login kopieren

Schritt II: Diagrammdatenimport

In der Demonstration können wir die Wikipedia-Seite von Elizabeth I. verwenden. Verwenden Sie den LangChain-Loader, um Dokumente von Wikipedia abzurufen und aufzuteilen und sie dann in der Neo4j-Datenbank zu speichern. Um den Effekt auf Chinesisch zu testen, haben wir den medizinischen Wissensgraphen aus diesem Projekt (QASystemOnMedicalKG) auf Github importiert, der fast 35.000 Knoten und 300.000 Tripelsätze enthält. Wir haben ungefähr die folgenden Ergebnisse erhalten:

GraphRAG verbessert für den Abruf von Wissensgraphen (implementiert basierend auf Neo4j-Code)Bilder

Oder verwenden Sie den LangChainLangChain-Loader, um Dokumente aus Wikipedia abzurufen und aufzuteilen, ungefähr wie in den folgenden Schritten gezeigt:

# 读取维基百科文章raw_documents = WikipediaLoader(query="Elizabeth I").load()# 定义分块策略text_splitter = TokenTextSplitter(chunk_size=512, chunk_overlap=24)documents = text_splitter.split_documents(raw_documents[:3])llm=ChatOpenAI(temperature=0, model_name="gpt-4-0125-preview")llm_transformer = LLMGraphTransformer(llm=llm)# 提取图数据graph_documents = llm_transformer.convert_to_graph_documents(documents)# 存储到 neo4jgraph.add_graph_documents(graph_documents, baseEntityLabel=True, include_source=True)
Nach dem Login kopieren

2. Vor dem Abrufen des Wissensgraphen müssen Entitäten und zugehörige Attribute vektorisiert eingebettet und gespeichert werden In die Neo4j-Datenbank:

Entitätsinformationsvektoreinbettung: Nachdem Sie den Entitätsnamen und die Beschreibungsinformationen der Entität zusammengefügt haben, verwenden Sie das Vektordarstellungsmodell, um die Vektoreinbettung durchzuführen (wie in der Methode add_embeddings im Beispielcode unten gezeigt).
  • Struktureller Abruf des Diagramms: Der strukturierte Abruf des Diagramms ist in vier Schritte unterteilt: Schritt 1: Abrufen der mit der Abfrage verknüpften Entitäten aus dem Diagramm; Schritt 2: Abrufen der Tags der Entitäten aus dem globalen Index; Fragen Sie den Pfad des Nachbarknotens im entsprechenden Knoten basierend auf den Entitäts-Tags ab. Schritt 4: Filtern Sie die Beziehung, um die Diversität aufrechtzuerhalten (der gesamte Abrufprozess wird in der Methode „structured_retriever“ im folgenden Beispielcode gezeigt).
class GraphRag(object):def __init__(self):"""Any embedding function implementing `langchain.embeddings.base.Embeddings` interface."""self._database = 'neo4j'self.label = 'Med'self._driver = neo4j.GraphDatabase.driver(uri=os.environ["NEO4J_URI"],auth=(os.environ["NEO4J_USERNAME"],os.environ["NEO4J_PASSWORD"]))self.embeddings_zh = HuggingFaceEmbeddings(model_name=os.environ["EMBEDDING_MODEL"])self.vectstore = Neo4jVector(embedding=self.embeddings_zh, username=os.environ["NEO4J_USERNAME"], password=os.environ["NEO4J_PASSWORD"], url=os.environ["NEO4J_URI"], node_label=self.label, index_name="vector" )def query(self, query: str, params: dict = {}) -> List[Dict[str, Any]]:"""Query Neo4j database."""from neo4j.exceptions import CypherSyntaxErrorwith self._driver.session(database=self._database) as session:try:data = session.run(query, params)return [r.data() for r in data]except CypherSyntaxError as e:raise ValueError(f"Generated Cypher Statement is not valid\n{e}")def add_embeddings(self):"""Add embeddings to Neo4j database."""# 查询图中所有节点,并且根据节点的描述和名字生成embedding,添加到该节点上query = """MATCH (n) WHERE not (n:{}) RETURN ID(n) AS id, labels(n) as labels, n""".format(self.label)print("qurey node...")data = self.query(query)ids, texts, embeddings, metas = [], [], [], []for row in tqdm(data,desc="parsing node"):ids.append(row['id'])text = row['n'].get('name','') + row['n'].get('desc','')texts.append(text)metas.append({"label": row['labels'], "context": text})self.embeddings_zh.multi_process = Falseprint("node embeddings...")embeddings = self.embeddings_zh.embed_documents(texts)print("adding node embeddings...")ids_ret = self.vectstore.add_embeddings(ids=ids,texts=texts,embeddings=embeddings,metadatas=metas)return ids_ret# Fulltext index querydef structured_retriever(self, query, limit=3, simlarity=0.9) -> str:"""Collects the neighborhood of entities mentioned in the question"""# step1 从图谱中检索与查询相关的实体。docs_with_score = self.vectstore.similarity_search_with_score(query, k=topk)entities = [item[0].page_content for item in data if item[1] > simlarity] # scoreself.vectstore.query("CREATE FULLTEXT INDEX entity IF NOT EXISTS FOR (e:Med) ON EACH [e.context]")result = ""for entity in entities:qry = entity# step2 从全局索引中查出entity label,query1 =f"""CALL db.index.fulltext.queryNodes('entity', '{qry}') YIELD node, score return node.label as label,node.context as context, node.id as id, score LIMIT {limit}"""data1 = self.vectstore.query(query1)# step3 根据label在相应的节点中查询邻居节点路径for item in data1:node_type = item['label']node_type = item['label'] if type(node_type) == str else node_type[0]node_id = item['id']query2 = f"""match (node:{node_type})-[r]-(neighbor) where ID(node) = {node_id} RETURN type(r) as rel, node.name+' - '+type(r)+' - '+neighbor.name as output limit 50"""data2 = self.vectstore.query(query2)# step4 为了保持多样性,对关系进行筛选rel_dict = defaultdict(list)if len(data2) > 3*limit:for item1 in data2:rel_dict[item1['rel']].append(item1['output'])if rel_dict:rel_dict = {k:random.sample(v, 3) if len(v)>3 else v for k,v in rel_dict.items()}result += "\n".join(['\n'.join(el) for el in rel_dict.values()]) +'\n'else:result += "\n".join([el['output'] for el in data2]) +'\n'return result
Nach dem Login kopieren
3. Kombiniert mit der LLM-Generierung

Abschließend wird ein großes Sprachmodell (LLM) verwendet, um die endgültige Antwort basierend auf den aus dem Wissensgraphen abgerufenen strukturierten Informationen zu generieren. Im folgenden Code nehmen wir als Beispiel das große Sprachmodell von Tongyi Qianwen Open Source:

Schritt I: Laden Sie das LLM-Modell

from langchain import HuggingFacePipelinefrom transformers import pipeline, AutoTokenizer, AutoModelForCausalLMdef custom_model(model_name, branch_name=None, cache_dir=None, temperature=0, top_p=1, max_new_tokens=512, stream=False):tokenizer = AutoTokenizer.from_pretrained(model_name, revision=branch_name, cache_dir=cache_dir)model = AutoModelForCausalLM.from_pretrained(model_name,device_map='auto',torch_dtype=torch.float16,revision=branch_name,cache_dir=cache_dir)pipe = pipeline("text-generation",model = model,tokenizer = tokenizer,torch_dtype = torch.bfloat16,device_map = 'auto',max_new_tokens = max_new_tokens,do_sample = True)llm = HuggingFacePipeline(pipeline = pipe,model_kwargs = {"temperature":temperature, "top_p":top_p,"tokenizer":tokenizer, "model":model})return llmtongyi_model = "Qwen1.5-7B-Chat"llm_model = custom_model(model_name=tongyi_model)tokenizer = llm_model.model_kwargs['tokenizer']model = llm_model.model_kwargs['model']
Nach dem Login kopieren

Schritt II: Geben Sie die Abrufdaten ein, um eine Antwort zu generieren

final_data = self.get_retrieval_data(query)prompt = ("请结合以下信息,简洁和专业的来回答用户的问题,若信息与问题关联紧密,请尽量参考已知信息。\n""已知相关信息:\n{context} 请回答以下问题:{question}".format(cnotallow=final_data, questinotallow=query))messages = [{"role": "system", "content": "你是**开发的智能助手。"},{"role": "user", "content": prompt}]text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(self.device)generated_ids = model.generate(model_inputs.input_ids,max_new_tokens=512)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)
Nach dem Login kopieren

4 Fazit

Eine Abfragefrage wurde separat getestet. Im Vergleich zu der Situation, in der nur LLM zum Generieren von Antworten ohne RAG verwendet wird, beantwortet das LLM-Modell mit GraphRAG eine größere Menge an Informationen und ist genauer.

Das obige ist der detaillierte Inhalt vonGraphRAG verbessert für den Abruf von Wissensgraphen (implementiert basierend auf Neo4j-Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1675
14
PHP-Tutorial
1278
29
C#-Tutorial
1257
24
Caltech-Chinesen nutzen KI, um mathematische Beweise zu untergraben! Beschleunigen Sie 5-mal schockiert Tao Zhexuan, 80 % der mathematischen Schritte sind vollständig automatisiert Caltech-Chinesen nutzen KI, um mathematische Beweise zu untergraben! Beschleunigen Sie 5-mal schockiert Tao Zhexuan, 80 % der mathematischen Schritte sind vollständig automatisiert Apr 23, 2024 pm 03:01 PM

LeanCopilot, dieses formale Mathematikwerkzeug, das von vielen Mathematikern wie Terence Tao gelobt wurde, hat sich erneut weiterentwickelt? Soeben gab Caltech-Professorin Anima Anandkumar bekannt, dass das Team eine erweiterte Version des LeanCopilot-Papiers veröffentlicht und die Codebasis aktualisiert hat. Adresse des Bildpapiers: https://arxiv.org/pdf/2404.12534.pdf Die neuesten Experimente zeigen, dass dieses Copilot-Tool mehr als 80 % der mathematischen Beweisschritte automatisieren kann! Dieser Rekord ist 2,3-mal besser als der vorherige Basiswert von Aesop. Und wie zuvor ist es Open Source unter der MIT-Lizenz. Auf dem Bild ist er Song Peiyang, ein chinesischer Junge

Wie wirkt sich LLM von „Mensch + RPA' bis „Mensch + generative KI + RPA' auf die RPA-Mensch-Computer-Interaktion aus? Wie wirkt sich LLM von „Mensch + RPA' bis „Mensch + generative KI + RPA' auf die RPA-Mensch-Computer-Interaktion aus? Jun 05, 2023 pm 12:30 PM

Bildquelle@visualchinesewen|Wang Jiwei Wie wirkt sich LLM von „Mensch + RPA“ auf „Mensch + generative KI + RPA“ auf die RPA-Mensch-Computer-Interaktion aus? Wie wirkt sich LLM aus einer anderen Perspektive auf RPA aus der Perspektive der Mensch-Computer-Interaktion aus? Wird RPA, das die Mensch-Computer-Interaktion in der Programmentwicklung und Prozessautomatisierung betrifft, nun auch durch LLM verändert? Wie wirkt sich LLM auf die Mensch-Computer-Interaktion aus? Wie verändert generative KI die RPA-Mensch-Computer-Interaktion? Erfahren Sie mehr darüber in einem Artikel: Die Ära der großen Modelle steht vor der Tür und die auf LLM basierende generative KI verändert die RPA-Mensch-Computer-Interaktion rasant. Die generative KI definiert die Mensch-Computer-Interaktion neu und LLM beeinflusst die Veränderungen in der RPA-Softwarearchitektur. Wenn man fragt, welchen Beitrag RPA zur Programmentwicklung und -automatisierung leistet, lautet eine der Antworten, dass es die Mensch-Computer-Interaktion (HCI, h

Schritt-für-Schritt-Anleitung zur lokalen Verwendung von Groq Llama 3 70B Schritt-für-Schritt-Anleitung zur lokalen Verwendung von Groq Llama 3 70B Jun 10, 2024 am 09:16 AM

Übersetzer |. Bugatti Review |. Chonglou Dieser Artikel beschreibt, wie man die GroqLPU-Inferenz-Engine verwendet, um ultraschnelle Antworten in JanAI und VSCode zu generieren. Alle arbeiten daran, bessere große Sprachmodelle (LLMs) zu entwickeln, beispielsweise Groq, der sich auf die Infrastrukturseite der KI konzentriert. Die schnelle Reaktion dieser großen Modelle ist der Schlüssel, um sicherzustellen, dass diese großen Modelle schneller reagieren. In diesem Tutorial wird die GroqLPU-Parsing-Engine vorgestellt und erläutert, wie Sie mithilfe der API und JanAI lokal auf Ihrem Laptop darauf zugreifen können. In diesem Artikel wird es auch in VSCode integriert, um uns dabei zu helfen, Code zu generieren, Code umzugestalten, Dokumentation einzugeben und Testeinheiten zu generieren. In diesem Artikel erstellen wir kostenlos unseren eigenen Programmierassistenten für künstliche Intelligenz. Einführung in die GroqLPU-Inferenz-Engine Groq

Kontexterweiterter KI-Codierungsassistent mit Rag und Sem-Rag Kontexterweiterter KI-Codierungsassistent mit Rag und Sem-Rag Jun 10, 2024 am 11:08 AM

Verbessern Sie die Produktivität, Effizienz und Genauigkeit der Entwickler, indem Sie eine abrufgestützte Generierung und ein semantisches Gedächtnis in KI-Codierungsassistenten integrieren. Übersetzt aus EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG, Autor JanakiramMSV. Obwohl grundlegende KI-Programmierassistenten natürlich hilfreich sind, können sie oft nicht die relevantesten und korrektesten Codevorschläge liefern, da sie auf einem allgemeinen Verständnis der Softwaresprache und den gängigsten Mustern beim Schreiben von Software basieren. Der von diesen Coding-Assistenten generierte Code eignet sich zur Lösung der von ihnen zu lösenden Probleme, entspricht jedoch häufig nicht den Coding-Standards, -Konventionen und -Stilen der einzelnen Teams. Dabei entstehen häufig Vorschläge, die geändert oder verfeinert werden müssen, damit der Code in die Anwendung übernommen wird

Plaud bringt den tragbaren NotePin AI-Recorder für 169 US-Dollar auf den Markt Plaud bringt den tragbaren NotePin AI-Recorder für 169 US-Dollar auf den Markt Aug 29, 2024 pm 02:37 PM

Plaud, das Unternehmen hinter dem Plaud Note AI Voice Recorder (erhältlich bei Amazon für 159 US-Dollar), hat ein neues Produkt angekündigt. Das als NotePin bezeichnete Gerät wird als KI-Speicherkapsel beschrieben und ist wie der Humane AI Pin tragbar. Der NotePin ist

GraphRAG verbessert für den Abruf von Wissensgraphen (implementiert basierend auf Neo4j-Code) GraphRAG verbessert für den Abruf von Wissensgraphen (implementiert basierend auf Neo4j-Code) Jun 12, 2024 am 10:32 AM

Graph Retrieval Enhanced Generation (GraphRAG) erfreut sich zunehmender Beliebtheit und hat sich zu einer leistungsstarken Ergänzung zu herkömmlichen Vektorsuchmethoden entwickelt. Diese Methode nutzt die strukturellen Merkmale von Graphdatenbanken, um Daten in Form von Knoten und Beziehungen zu organisieren und dadurch die Tiefe und kontextbezogene Relevanz der abgerufenen Informationen zu verbessern. Diagramme haben einen natürlichen Vorteil bei der Darstellung und Speicherung vielfältiger und miteinander verbundener Informationen und können problemlos komplexe Beziehungen und Eigenschaften zwischen verschiedenen Datentypen erfassen. Vektordatenbanken können diese Art von strukturierten Informationen nicht verarbeiten und konzentrieren sich mehr auf die Verarbeitung unstrukturierter Daten, die durch hochdimensionale Vektoren dargestellt werden. In RAG-Anwendungen können wir durch die Kombination strukturierter Diagrammdaten und unstrukturierter Textvektorsuche gleichzeitig die Vorteile beider nutzen, worauf in diesem Artikel eingegangen wird. Struktur

Sieben coole technische Interviewfragen für GenAI und LLM Sieben coole technische Interviewfragen für GenAI und LLM Jun 07, 2024 am 10:06 AM

Um mehr über AIGC zu erfahren, besuchen Sie bitte: 51CTOAI.x Community https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou unterscheidet sich von der traditionellen Fragendatenbank, die überall im Internet zu sehen ist erfordert einen Blick über den Tellerrand hinaus. Large Language Models (LLMs) gewinnen in den Bereichen Datenwissenschaft, generative künstliche Intelligenz (GenAI) und künstliche Intelligenz zunehmend an Bedeutung. Diese komplexen Algorithmen verbessern die menschlichen Fähigkeiten, treiben Effizienz und Innovation in vielen Branchen voran und werden zum Schlüssel für Unternehmen, um wettbewerbsfähig zu bleiben. LLM hat ein breites Anwendungsspektrum und kann in Bereichen wie der Verarbeitung natürlicher Sprache, der Textgenerierung, der Spracherkennung und Empfehlungssystemen eingesetzt werden. Durch das Lernen aus großen Datenmengen ist LLM in der Lage, Text zu generieren

Visualisieren Sie den FAISS-Vektorraum und passen Sie die RAG-Parameter an, um die Ergebnisgenauigkeit zu verbessern Visualisieren Sie den FAISS-Vektorraum und passen Sie die RAG-Parameter an, um die Ergebnisgenauigkeit zu verbessern Mar 01, 2024 pm 09:16 PM

Da sich die Leistung groß angelegter Open-Source-Sprachmodelle weiter verbessert, hat sich auch die Leistung beim Schreiben und Analysieren von Code, Empfehlungen, Textzusammenfassungen und Frage-Antwort-Paaren (QA) verbessert. Aber wenn es um die Qualitätssicherung geht, mangelt es LLM oft an Problemen im Zusammenhang mit ungeschulten Daten, und viele interne Dokumente werden im Unternehmen aufbewahrt, um Compliance, Geschäftsgeheimnisse oder Datenschutz zu gewährleisten. Wenn diese Dokumente abgefragt werden, kann LLM Halluzinationen hervorrufen und irrelevante, erfundene oder inkonsistente Inhalte produzieren. Eine mögliche Technik zur Bewältigung dieser Herausforderung ist Retrieval Augmented Generation (RAG). Dabei geht es darum, die Antworten durch Verweise auf maßgebliche Wissensdatenbanken über die Trainingsdatenquelle hinaus zu verbessern, um die Qualität und Genauigkeit der Generierung zu verbessern. Das RAG-System umfasst ein Retrieval-System zum Abrufen relevanter Dokumentfragmente aus dem Korpus

See all articles