У меня есть 2 варианта: запуск webui на runpod или запуск шаблона вывода HuggingFace Text Generation на runpod
Вариант 1. RunPod WebUI
Я могу успешно загрузить модель в текстовом редакторе WebUI в RunPod на вкладке «Чат». Теперь я хочу получить к нему доступ через свой код Python и выполнить вывод. Идеальным вариантом было бы, если бы я интегрировал его в LangChain и создал объект LLM LangChain.
- Я включил openai и API на RunPod webui на вкладке «Настройки».
- Сейчас у меня включены порты 7860, 5001 и 5000.
Я нашел этот код Python, использующий AutoMemGPT для доступа к конечной точке WebUI:
Код: Выделить всё
import os
import autogen
import memgpt.autogen.memgpt_agent as memgpt_autogen
import memgpt.autogen.interface as autogen_interface
import memgpt.agent as agent
import memgpt.system as system
import memgpt.utils as utils
import memgpt.presets as presets
import memgpt.constants as constants
import memgpt.personas.personas as personas
import memgpt.humans.humans as humans
from memgpt.persistence_manager import InMemoryStateManager, InMemoryStateManagerWithPreloadedArchivalMemory, InMemoryStateManagerWithEmbeddings, InMemoryStateManagerWithFaiss
import openai
config_list = [
{
"api_type": "open_ai",
"api_base": "https://0ciol64iqvewdn-5001.proxy.runpod.net/v1",
"api_key": "NULL",
},
]
llm_config = {"config_list": config_list, "seed": 42}
# If USE_MEMGPT is False, then this example will be the same as the official AutoGen repo
# (https://github.com/microsoft/autogen/blob/main/notebook/agentchat_groupchat.ipynb)
# If USE_MEMGPT is True, then we swap out the "coder" agent with a MemGPT agent
USE_MEMGPT = True
## api keys for the memGPT
openai.api_base="https://0ciol64iqvewdn-5001.proxy.runpod.net/v1"
openai.api_key="NULL"
# The user agent
user_proxy = autogen.UserProxyAgent(
name="User_proxy",
system_message="A human admin.",
code_execution_config={"last_n_messages": 2, "work_dir": "groupchat"},
human_input_mode="TERMINATE", # needed?
default_auto_reply="You are going to figure all out by your own. "
"Work by yourself, the user won't reply until you output `TERMINATE` to end the conversation.",
)
interface = autogen_interface.AutoGenInterface()
persistence_manager=InMemoryStateManager()
persona = "I am a 10x engineer, trained in Python. I was the first engineer at Uber."
human = "Im a team manager at this company"
memgpt_agent=presets.use_preset(presets.DEFAULT_PRESET, model='gpt-4', persona=persona, human=human, interface=interface, persistence_manager=persistence_manager, agent_config=llm_config)
if not USE_MEMGPT:
# In the AutoGen example, we create an AssistantAgent to play the role of the coder
coder = autogen.AssistantAgent(
name="Coder",
llm_config=llm_config,
system_message=f"I am a 10x engineer, trained in Python. I was the first engineer at Uber",
human_input_mode="TERMINATE",
)
else:
# In our example, we swap this AutoGen agent with a MemGPT agent
# This MemGPT agent will have all the benefits of MemGPT, ie persistent memory, etc.
print("\nMemGPT Agent at work\n")
coder = memgpt_autogen.MemGPTAgent(
name="MemGPT_coder",
agent=memgpt_agent,
)
# Begin the group chat with a message from the user
user_proxy.initiate_chat(
coder,
message="Write a Function to print Numbers 1 to 10"
)
Обратная трассировка ModuleNotFoundError (самая последняя вызов
последний) Ячейка In[2], строка 10
8 импортировать memgpt.presets как предустановки
9 импортировать memgpt.constants как константы
---> 10 импорт memgpt.personas.personas как персоны
11 импортировать memgpt.humans.humans как людей
12 из memgpt.persistence_manager import InMemoryStateManager, InMemoryStateManagerWithPreloadedArchivalMemory,
InMemoryStateManagerWithEmbeddings, InMemoryStateManagerWithFaiss
ModuleNotFoundError: нет модуля с именем «memgpt.personas.personas»
Как я пытался устранить эту ошибку
- -- ошибка не меняется
Код: Выделить всё
pip install --upgrade pymemgpt
- -- Я получаю конфликты версий OpenAI
Код: Выделить всё
pip install pymemgpt==0.1.3
- после клонирования репозитория MemGPT – еще одна ошибка
Код: Выделить всё
pip install -e .
< ul>
[*]Я всегда сталкиваюсь с конфликтами версий между openai, llama-index, pymemgpt, pyautogpt, numpy, так что, возможно, подходящая версия для запуска этого кода была бы хороша, в противном случае любой совет?
Вариант 2. Использование интерфейса генерации текста HuggingFace
Так вместо загрузка шаблона TheBloke LLM, который запускает webui на RunPod. Я нашел руководство по использованию шаблона TextGenerationInference
Текущий код
Код: Выделить всё
gpu_count = 1
pod = runpod.create_pod(
name="Llama-7b-chat",
image_name="ghcr.io/huggingface/text-generation-inference:0.9.4",
gpu_type_id="NVIDIA RTX A4500",
data_center_id="EU-RO-1",
cloud_type="SECURE",
docker_args="--model-id TheBloke/Llama-2-7b-chat-fp16",
gpu_count=gpu_count,
volume_in_gb=50,
container_disk_in_gb=5,
ports="80/http,29500/http",
volume_mount_path="/data",
)
pod
from langchain.llms import HuggingFaceTextGenInference
inference_server_url = f'https://{pod["id"]}-80.proxy.runpod.net'
llm = HuggingFaceTextGenInference(
inference_server_url=inference_server_url,
max_new_tokens=1000,
top_k=10,
top_p=0.95,
typical_p=0.95,
temperature=0.1,
repetition_penalty=1.03,
)
Что мне нужно
- Способ запуска этого кода в любом LLM путем программной установки параметров модели, настроек и т. д. вместо этого через веб-интерфейс RunPod
Подробнее здесь: https://stackoverflow.com/questions/777 ... automemgpt