Im letzten Jahr sind zahlreiche Tools mit künstlicher Intelligenz aufgetaucht, die das Leben der Benutzer einfacher machen sollen, von der Bildgenerierung über Chatbots bis hin zu Tools, die gigantisch und professionell arbeiten Prozesse.
Ich habe viele dieser Tools erforscht, gelernt und getestet, von ChatGPT über Gemini bis hin zu Dall-E oder Midjourney. Sie funktionieren alle sehr gut, aber wenn ich meine Anwendungen mit diesen Tools skalieren möchte, stelle ich fest, dass sie keins haben kostenlose oder offene alternative Quelle.
Das hat mich dazu gebracht, meine Forschung einen Schritt weiter voranzutreiben, und ich bin auf stabile Diffusions-UI (Bildgenerierung, https://github.com/AUTOMATIC1111/stable-diffusion-webui) gestoßen und mit * ollama *(Chatbot, https://ollama.com/), beides sind Open-Source-Tools, mit denen Sie einen Dienst als API ausführen können, um ihn von jeder unserer Anwendungen aus zu nutzen. Damit bin ich angekommen Manchmal gehe ich mit Open-Source-Alternativen weiter, aber damit dies funktioniert, muss ich diese Tools laufen lassen, damit sie von unseren Anwendungen genutzt werden können.
Um zu verstehen, wie wir dies in unsere Anwendungen integrieren können, ist es wichtig zu verstehen, wie diese Tools funktionieren. Im Wesentlichen verwenden sie Dateien mit der Erweiterung „Safetensors“, bei denen es sich um LLM- oder große Sprachmodelle handelt, wobei diese Modelle auf ihre Leistung trainiert werden verschiedene Funktionen entsprechend den Bedürfnissen der Person, die es trainiert (Beispiel: Bildgenerierung, Übersetzung, Codeentwicklung, Chatbot usw.).
Wenn wir ein wenig über die LLM-Modelle und die „Safetensors“-Dateien wissen, stellen wir uns die folgende Frage: Wie verwende ich diese Dateien in meinen Anwendungen? Und hier kommt HugginFace ins Spiel, eine Website/Datenbank für Open-Source-künstliche Intelligenz Modelle, und sie haben ihre eigene Bibliothek für Python mit zwei äußerst nützlichen Komponenten für das erstellt, was wir wollen: „Transformer“ und „Diffusoren“.
*Transformers *(https://huggingface.co/docs/transformers/index) ist die Komponente, die es uns ermöglicht, jedes spezielle Textmodell zu nutzen, zum Beispiel die Konvertierung von Audio in Text oder umgekehrt, Chatbox als Meta-Flamme, unter anderem.
Transformatoren importieren
import torch model_id = "meta-llama/Llama-3.1-8B" pipeline = transformers.pipeline( "text-generation", model=model_id, model_kwargs={"torch_dtype": torch.bfloat16}, device_map="auto" ) pipeline("Hey how are you doing today?")
Diffusoren (https://huggingface.co/docs/diffusers/index) ist die Komponente, die es uns ermöglicht, jedes auf die Bilderzeugung spezialisierte Modell zu nutzen, wie z. B. stabile Diffusion.
from diffusers import AutoPipelineForText2Image import torch pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float16, variant="fp16") pipe.to("cuda") prompt = "A cinematic shot of a baby racoon wearing an intricate italian priest robe." image = pipe(prompt=prompt, num_inference_steps=1, guidance_scale=0.0).images[0]
Dieser Prozess ist als LLM-Modellinferenz bekannt, und von hier aus können Sie auf der Grundlage dieser Informationen beginnen, künstliche Intelligenz in Ihren verschiedenen Anwendungen mit Python anzuwenden.
Es sollte beachtet werden, dass ich auch versucht habe, Modellinferenz mit einer anderen Sprache wie NodeJS zu verwenden, und die Wahrheit ist, dass es nicht so gut funktioniert wie mit Python, aber es ist wichtig zu erwähnen, dass für LLM leistungsstarke Hardware erforderlich ist Modellinferenz, sodass Sie das, was Sie durch die Verwendung der ChatGPT- oder Gemini-APIs sparen können, für den Kauf geeigneter Hardware ausgeben können.
Dies ist mein erster Artikel. Ich hoffe, dass mein Weg zur Verwendung von LLM-Modellen in der Softwareentwicklung Ihnen hilft, Schritte auf diesem Weg zu überspringen.
Das obige ist der detaillierte Inhalt vonDer Einsatz von Open-Source-KI-Modellen in der Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!