找回密码
 会员注册
查看: 42|回复: 0

AI工具LMStudio部署本地llama3以及python调用openai的API与llama3本地服务器进行问答

[复制链接]

5

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2024-9-3 09:05:33 | 显示全部楼层 |阅读模式
1.下载LMStudiohttps://lmstudio.ai/2.安装后打开主界面3.下载自己感兴趣的大模型由于网络原因,通过IDM手动下载后拷贝到相应文件夹下点击下载后,左下角点击“1downloading”可以查看详情从详情中提取出模型下载地址然后手动下载,比如“https://huggingface.co/TheBloke/phi-2-GGUF/resolve/main/phi-2.Q4_K_S.gguf”下载完毕后,将模型拷贝到 模型文件夹所在目录,新建两级目录,参考下图:以模型下载网址“https://huggingface.co/TheBloke/phi-2-GGUF/resolve/main/phi-2.Q4_K_S.gguf”为例,新建 “TheBloke”文件夹,然后在里面新建“phi-2-GGUF”文件夹,最后把 模型文件“phi-2.Q4_K_S.gguf”拷贝到 “phi-2-GGUF”文件夹。之后就可以打开聊天界面,加载模型后聊天了4.启动本地服务器5.使用 OpenAI 的PythonAPI来与一个智能助手进行终端聊天#在终端中与智能助手聊天fromopenaiimportOpenAI#指向本地服务器client=OpenAI(base_url="http://localhost:1234/v1",api_key="lm-studio")#初始化历史记录列表,其中包含系统和用户的角色和内容history=[{"role":"system","content":"你是一个聪明的助手。你总是提供合理、准确且有帮助的答案。总是用中文简体回答"},{"role":"user","content":"你好,向第一次开启这个程序的人介绍你自己。请简洁明了。请用中文回答"},]#使用while循环不断地接收用户输入并提供回答whileTrue:#创建聊天完成请求,指定模型、历史消息和其他参数completion=client.chat.completions.create(model="zhouzr/Llama3-8B-Chinese-Chat-GGUF",messages=history,temperature=0.7,stream=True,)#初始化新消息字典,用于存储助手的回答new_message={"role":"assistant","content":""}#遍历完成请求的结果,并打印内容forchunkincompletion:ifchunk.choices[0].delta.content:print(chunk.choices[0].delta.content,end="",flush=True)new_message["content"]+=chunk.choices[0].delta.content#将新消息添加到历史记录列表中history.append(new_message)#如果需要查看聊天历史,可以取消注释以下代码#importjson#gray_color="\033[90m"#reset_color="\033[0m"#print(f"{gray_color}\n{'-'*20}Historydump{'-'*20}\n")#print(json.dumps(history,indent=2))#print(f"\n{'-'*55}\n{reset_color}")#打印空行,并将用户的新输入作为消息添加到历史记录列表中print()    history.append({"role": "user", "content": input("> ")})上代码段目的在于演示如何使用 OpenAI 的PythonAPI来与一个智能助手进行终端聊天。代码首先导入了 openai 包,并使用 OpenAI 类指向了一个本地服务器,同时提供了API密钥。接下来定义了一个 history 数组来记录会话历史,这个历史包含系统的自我介绍及用户的第一条信息。在 whileTrue 循环中,使用 client.chat.completions.create 方法来生成聊天回复,并将该回复打印到终端。然后新的用户输入被附加到 history 数组中以用于下一轮会话的生成。最后,有一段注释代码,如果取消注释,它将打印整个会话历史,使用了一些ANSI转义码来给输出文字加上灰色。功能总结:此代码段旨在展示如何通过调用 OpenAI 的API来实现在终端内的智能助手聊天功能。它通过维护会话历史记录来生成连贯的对话,并实时向用户展示聊天助手的回复。代码中的执行流程大致如下:导入模块和设置客户端。定义会话历史记录。通过无限循环等待用户输入。使用 OpenAI API根据历史记录生成回复。打印回复并等待用户的下一条信息。此代码模拟的是一个简单的命令行聊天界面,在终端与用户实时交互。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-13 17:39 , Processed in 1.661042 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表