赞
踩
llama.cpp https://download.csdn.net/download/klam2020/89122425
您是否对 OpenAI 模型的功能着迷,并想尝试创建一个虚假的 OpenAI 服务器用于测试或教育目的? 在本指南中,我们将引导您完成使用 llama.cpp 设置模拟 OpenAI 服务器的过程,并提供演示代码片段来帮助您入门。
首先,您需要从 GitHub 克隆 llama.cpp 存储库。 您可以这样做:
git clone https://github.com/ggerganov/llama.cpp
对于 Mac 用户:
导航到 llama.cpp 目录并运行以下命令:
cd llama.cpp && make
对于 Windows 用户:
下载 w64devkit 的最新 Fortran 版本。
在您的 PC 上解压 w64devkit 并运行 w64devkit.exe。
使用 cd 命令导航到 llama.cpp 文件夹。
运行以下命令:
make
安装所需的包
设置 llama.cpp 后,您需要安装必要的 Python 包。 运行以下命令:
pip install openai 'llama-cpp-python[server]' pydantic instructor streamlit
启动服务器
现在您已经安装了所需的组件,您可以使用不同的模型和配置启动假 OpenAI 服务器。 这里有些例子:
单一模特聊天 Single Model Chat:
python -m llama_cpp.server --model models/mistral-7b-instruct-v0.1.Q4_0.gguf
具有 GPU 卸载功能的单模型聊天 Single Model Chat with GPU Offload:
python -m llama_cpp.server --model models/mistral-7b-instruct-v0.1.Q4_0.gguf --n_gpu -1
使用 GPU 卸载的单模型函数调用 Single Model Function Calling with GPU Offload:
python -m llama_cpp.server --model models/mistral-7b-instruct-v0.1.Q4_0.gguf --n_gpu -1 --chat functionary
带配置的多模型加载 Multiple Model Load with Config:
python -m llama_cpp.server --config_file config.json
多模式模型 Multi Modal Models:
python -m llama_cpp.server --model models/llava-v1.5-7b-Q4_K.gguf --clip_model_path models/llava-v1.5-7b-mmproj-Q4_0.gguf --n_gpu -1 --chat llava-1-5
使用型号
以下是您可以尝试的一些模型:
Mistral: TheBloke/Mistral-7B-Instruct-v0.1-GGUF
Mixtral: TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF
LLaVa: jartine/llava-v1.5-7B-GGUF
通过遵循这些步骤并利用提供的演示代码,您可以使用 llama.cpp 创建模拟 OpenAI 服务器以用于实验和学习目的。 在受控环境中探索这些模型的功能,享受乐趣!
Fakeserver
1. openaitest.py
- from openai import OpenAI
- from colorama import init
- from colorama import Fore, Back, Style
- import time
-
-
- init()
-
- client = OpenAI(
- base_url="http://localhost:8000/v1",
- api_key="123",
- )
-
- time.sleep(5)
-
- prompts = [
- "what is ROI in the context of finance, provide a worked example?",
- "define the efficient frontier in the context of finance",
- "what is glass stegal?",
- "how does derivative pricing work?",
- ]
-
-
- for prompt in prompts:
- print(Fore.LIGHTMAGENTA_EX + prompt, end="\n")
- response = client.chat.completions.create(
- model="llama.cpp/models/mixtral-8x7b-instruct-v0.1.Q2_K.gguf",
- messages=[
- {
- "role": "user",
- "content": prompt,
- }
- ],
- stream=True,
- max_tokens=20,
- )
- for chunk in response:
- if chunk.choices[0].delta.content is not None:
- print(
- Fore.LIGHTBLUE_EX + chunk.choices[0].delta.content,
- end="",
- flush=True,
- )
- print("\n")
2. main.py
- from openai import OpenAI
- import streamlit as st
-
- client = OpenAI(
- base_url="http://localhost:8000/v1",
- api_key="123",
- )
-
- if "messages" not in st.session_state:
- st.session_state["messages"] = [
- {
- "role": "system",
- "content": """You are a helpful assistant. If you do not know the answer, reply I don't know
- don't make things up.""",
- }
- ]
-
- st.title("声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/637343推荐阅读
相关标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。