基于LM Studio + LLaMA3 建立本地化的ChatGPT

这篇具有很好参考价值的文章主要介绍了基于LM Studio + LLaMA3 建立本地化的ChatGPT。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

4月19日,Facebook母公司Meta重磅推出了Llama3。即便大家现在对于大厂和巨头频繁迭代AI模型的行为已经见怪不怪,Meta的Llama3仍旧显得与众不同,因为这是迄今最强大的开源AI模型。LLaMA模型通常采用了类似于GPT(由OpenAI开发)的变换器(Transformer)架构。这种架构特别适合处理大量的自然语言数据,并能有效地学习语言的深层结构和上下文。结合LM Studio,我们就可以将LLaMA3部署在本地服务器,广泛的应用客户服务、RAG等领域。下面是一个详细的动手实践操作供大家参考。

LM Studio的下载和安装可参考以下链接:

用LM Studio:2分钟在本地免费部署大语言模型,替代ChatGPT-CSDN博客

一、在LM Studio上下载 LLaMA3 

当启动LM Studio的时候,系统会提示升级,升级完毕后。如下图:

基于LM Studio + LLaMA3 建立本地化的ChatGPT,人工智能,人工智能

主页上可以看到最新支持的LLaMA3的模型,点击下载按钮直接下载 (注意这里要通过魔法才行下载模型)

基于LM Studio + LLaMA3 建立本地化的ChatGPT,人工智能,人工智能

 下载后的模型在My Models这里可以看到

基于LM Studio + LLaMA3 建立本地化的ChatGPT,人工智能,人工智能

 二、启动Local Server

选择LLama3 模型,选择 Start Server 按钮

基于LM Studio + LLaMA3 建立本地化的ChatGPT,人工智能,人工智能

 Local Server启动之后如下图:

基于LM Studio + LLaMA3 建立本地化的ChatGPT,人工智能,人工智能

三、客户端访问和测试Local Server

 1、Python Code简单测试访问

下载Python 3.11 并安装openai Python 包

pip install -r requirements.txt

requirements.txt 内容如下:

 openai==0.28.0

 文章来源地址https://www.toymoban.com/news/detail-859953.html

import openai

# Set the base URL and API key for the OpenAI client
openai.api_base = "http://localhost:1234/v1"
openai.api_key = "not-needed"

# Create a chat completion
completion = openai.ChatCompletion.create(
    model="local-model",  # this field is currently unused
    messages=[
        {"role": "system", "content": "Provide detailed technical explanations."},
        {"role": "user", "content": "Introduce yourself."}
    ],
    temperature=0.7,
)

# Print the chatbot's response
print(completion.choices[0].message.content)

返回结果如下图:

基于LM Studio + LLaMA3 建立本地化的ChatGPT,人工智能,人工智能 

2、填写系统提示词,测试交互式对话

import openai

# Configuration for OpenAI API
openai.api_base = "http://localhost:1234/v1"
openai.api_key = "not-needed"

# Function to create a chat completion with a dynamic user prompt
def create_chat_completion(user_input, system_message):
    return openai.ChatCompletion.create(
        model="local-model",
        messages=[
            {"role": "system", "content": system_message},
            {"role": "user", "content": user_input}
        ],
        temperature=0.7,
    )

def main():
    # 预定义的系统提示词 
    system_message = (
   "你是一位资深的小红书运营人员,你目前负责的内容方向是电子数码,你的任务是生成小红书的内容文案,要求分解长句,减少重复,语气轻松幽默,具有真题可读性。请用中文和用户对话"
)


    # Chat loop
    while True:
        user_input = input("User: ")
        if user_input.lower() in ['exit', 'bye', 'end']:
            print("Exiting the chat.")
            break

        completion = create_chat_completion(user_input, system_message)
        print("Model Response: ", completion.choices[0].message.content)

if __name__ == "__main__":
    main()

 执行Python code 的效果如下,虽然Llama3能够理解中文的输入,但是输出还是英文的。大家可以下载专门的针对汉语训练的LLama3的衍生版本试试看。 

Python 执行效果:

基于LM Studio + LLaMA3 建立本地化的ChatGPT,人工智能,人工智能

 后台Local Server日志:

基于LM Studio + LLaMA3 建立本地化的ChatGPT,人工智能,人工智能

 3、采用OpenAI的Python Code 供参考

import openai

# OpenAI API 配置
class OpenAIConfig:
    def __init__(self):
        self.base_url = "http://localhost:1234/v1"
        self.api_type = "open_ai"
        self.api_key = "not-needed"

# 将系统提示词存放在文本文件中加载进来
def read_file_content(file_path):
    try:
        with open(file_path, "r") as file:
            return file.read().strip()
    except FileNotFoundError:
        print(f"File not found: {file_path}")
        return None

# Function to initiate conversation with the local-model and establishes roles and where the instructions come from.
def initiate_conversation(input_text, system_message):
    response = openai.ChatCompletion.create(
        model="local-model",
        messages=[
            {"role": "system", "content": system_message},
            {"role": "user", "content": input_text}
        ],
        temperature=0.7,
    )
    return response.choices[0].message.content.strip()

def main():
    # Instantiate configuration
    config = OpenAIConfig()
    openai.api_base = config.base_url
    openai.api_key = config.api_key

    # Read system message from file
    system_message = read_file_content("my_prompt.txt")
    if system_message is None:
        return

    # Conversation loop
    while True:
        user_input = input("User: ")
        if user_input.lower() in ['exit', 'bye', 'end']:
            print("Exiting the conversation.")
            break

        model_response = initiate_conversation(user_input, system_message)
        print("Model Response: ", model_response)

if __name__ == "__main__":
    main()

以上就是结合LM Studio + LLaMA3 大模型在本地部署,提供Chat GPT功能的全过程,大家可以尝试一下。

 

到了这里,关于基于LM Studio + LLaMA3 建立本地化的ChatGPT的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 中文大语言模型 Llama-2 7B(或13B) 本地化部署 (国内云服务器、GPU单卡16GB、中文模型、WEB页面TextUI、简单入门)

            本文目的是让大家先熟悉模型的部署,简单入门;所以只需要很小的算力,单台服务器 单GPU显卡(显存不低于12GB),操作系统需要安装 Ubuntu 18.04。         准备一台服务器 单张英伟达GPU显卡(显存不低于12GB),操作系统需要安装 Ubuntu 18.04 (具体安装过程忽略)

    2024年02月08日
    浏览(48)
  • 基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Windows10

    参考: https://github.com/TabbyML/tabby 已经有好几款类似强劲的代码补全工具,如GitHub Copilot,Codeium等,为什么还要选择Tabby? Tabby除了和其他工具一样支持联网直接使用之外, 还支持本地化部署 。 即对内部代码安全性要求很高时,可以采取Tabby项目模型的本地化部署,不用担心本

    2024年02月02日
    浏览(124)
  • 基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS

    参考: https://github.com/TabbyML/tabby Docker | Tabby Linux Debian上快速安装Docker并运行_Entropy-Go的博客-CSDN博客 Tabby - 本地化AI代码自动补全 - Windows10_Entropy-Go的博客-CSDN博客 已经有好几款类似强劲的代码补全工具,如GitHub Copilot,Codeium等,为什么还要选择Tabby? Tabby除了和其他工具一样支

    2024年02月05日
    浏览(49)
  • Chinese-LangChain:基于ChatGLM-6b+langchain实现本地化知识库检索与智能答案生成

    Chinese-LangChain:中文langchain项目,基于ChatGLM-6b+langchain实现本地化知识库检索与智能答案生成 https://github.com/yanqiangmiffy/Chinese-LangChain 俗称:小必应,Q.Talk,强聊,QiangTalk 🐯 2023/04/19 引入ChuanhuChatGPT皮肤 📱 2023/04/19 增加web search功能,需要确保网络畅通! 📚 2023/04/18 webui增加知

    2024年02月06日
    浏览(58)
  • 【ChatGLM】基于 ChatGLM-6B + langchain 实现本地化知识库检索与智能答案生成: 中文 LangChain 项目的实现开源工作

      目录 【ChatGLM】基于 ChatGLM-6B + langchain 实现本地化知识库检索与智能答案生成: 中文 LangChain 项目的实现开源工作 1.克隆源代码:

    2024年02月11日
    浏览(46)
  • 详解dedecms织梦远程图片本地化https链接图片无法本地化怎么解决

    最近有朋友遇到发布文章时候文章里面带https的站外图片无法本地化,以下是解决办法: 找到  dede//inc/inc_archives_functions.php文件里面GetCurContent($body)这个函数,里面 这一段改为: 第二步: 这一段改为: 搞定,这样发文章就可以把https的远程图片也本地化了 以上就是本文的全

    2024年02月02日
    浏览(43)
  • Remix本地化,加载本地合约文件,本地链接Remix

    智能合约IDE,在线的比较卡,而且切换网络面临文件丢失的风险,选择本地搭建Solidity本地编辑环境,Remix-IDE + Remixd组合,加载本地合约代码。这里用到两个工具: Remix IDE(本地IDE)+ Remixd (链接) Remix IDE 项目源码:https://github.com/ethereum/remix-project 介绍: Remix IDE是一个本地部署运

    2024年02月13日
    浏览(62)
  • Excalidraw本地化部署

    1 - Excalidraw介绍 Excalidraw是一个开源、小巧易用的手写风格的框图画板软件。 ​excalidraw官网地址:https://excalidraw.com/​ 2 - Excalidraw本地化安装(git方式) 2-1安装部署 在terminal中,输入: 安装完成后,在terminal中,进入项目文件 2-2 安装依赖环境 - nodeJS NodeJS下载地址: nodejs下载

    2024年02月14日
    浏览(51)
  • 本地化GPT:LangChain + ChatGLM == 知识本地库

    OpenAI发布的ChatGPT Plugin刚刚杀死了一个创业公司LangChain(刚获得1000万美金种子轮融资) 由于语言模型的输出是通过自回归+采样[可选]完成的,在高精度场景下,即使是超大语言模型,发生错误概率也是指数级的。同时,采样也很容易引入错误。比如地址中的数字门牌号,模型

    2024年02月11日
    浏览(50)
  • Remix 完全本地化部署

    1.简介 Remix 是我们开发 Solidity 智能合约的常用工具,有时候我们会直接访问在线版的 Remix-IDE。 https://remix.ethereum.org/ 但是,如何将在线Remix链接本地文件系统呢,下面则是部署步骤 2、部署 Remixd Remixd 的安装使用步骤如下: 安装 Remixd:  npm install -g @remix-project/remixd 启动 Rem

    2024年02月17日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包