去年,大量人工智能工具的出现让用户的生活变得更加轻松,无论是图像生成还是聊天机器人,甚至扩展到执行庞大且专业的工具流程。
我一直在研究、学习和测试许多这些工具,从chatgpt、gemini到dall-e或midjourney,它们都工作得很好,但是当我想用这些工具扩展我的应用程序时,我发现它们没有免费或开放替代源。
这让我的研究更进一步,我遇到了稳定的扩散ui(图像生成,https://github.com/AUTOMATIC1111/stable-diffusion-webui)和* ollama *(Chatbot,https://ollama.com/),两者都是开源工具,允许您将服务作为 API 运行,以便从我们的任何应用程序中使用它,我已经到了我进一步使用开源替代方案,但为了使其发挥作用,我必须保持这些工具运行以供我们的应用程序使用。
要了解如何将其引入我们的应用程序,了解这些工具的工作原理非常重要,基本上它们的作用是使用带有“safetensors”扩展名的 LLM 或大型语言模型文件,这些模型经过训练可以执行根据训练者的需求提供不同的功能(例如:图像生成、翻译、代码开发、聊天机器人等)。
通过了解一些 LLM 模型和“safetensors”文件,我们得到以下问题:如何在我的应用程序中使用这些文件,这就是 HugginFace 的用武之地,它是一个开源人工智能网站/数据库模型,他们为 python 创建了自己的库,其中包含 2 个非常有用的组件,可满足我们的需求“Transformers”和“Diffusers”。
*Transformers *(https://huggingface.co/docs/transformers/index) 是允许我们使用任何专用文本模型的组件,例如将音频转换为文本,反之亦然,聊天框作为元火焰等。
导入变压器
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?")
Diffusers (https://huggingface.co/docs/diffusers/index) 是允许我们使用任何专门用于图像生成的模型的组件,例如稳定扩散。
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]
此过程称为 LLM 模型推理,从这里基于此信息,您可以开始使用 Python 在不同的应用程序中应用人工智能。
需要注意的是,我也尝试过使用另一种语言(例如nodejs)进行模型推理,事实是它的效果不如python,但重要的是要提到LLM需要强大的硬件模型推理,以便您可以通过使用 ChatGPT 或 Gemini API 节省购买合适硬件的费用。
这是我的第一篇文章,我希望我在软件开发中使用LLM模型的路径可以帮助您跳过这条路径上的步骤。
以上是在开发中使用开源人工智能模型的详细内容。更多信息请关注PHP中文网其他相关文章!