|
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根据历史记录生成回复。打印回复并等待用户的下一条信息。此代码模拟的是一个简单的命令行聊天界面,在终端与用户实时交互。
|
|