ModelScope有一个奇怪的现象,模型库里面Llama2-7b-chat-ms的推理可以跑通,有chat函数,但modelscope-agent访问llama报错说没有chat方法。
from dotenv import load_dotenv
import os
from modelscope.utils.config import Config
from langchain.embeddings import ModelScopeEmbeddings, DashScopeEmbeddings
from langchain.vectorstores import FAISS
from modelscope_agent.retrieve import ToolRetrieval
from modelscope_agent.llm import LLMFactory
from modelscope.hub.api import HubApi
from modelscope_agent.prompt import MSPromptGenerator
from modelscope_agent.agent import AgentExecutor
os.environ['TOOL_CONFIG_FILE'] ='./config/cfg_tool_template.json'
os.environ['OUTPUT_FILE_DIRECTORY'] = './output'
os.environ['MODELSCOPE_API_TOKEN'] =''
os.environ['DASHSCOPE_API_KEY'] =''
tool_cfg_file = os.getenv('TOOL_CONFIG_FILE')
print(tool_cfg_file)
tool_cfg = Config.from_file(tool_cfg_file)
embeddings = DashScopeEmbeddings(model="text-embedding-v1")
tool_retrieval = ToolRetrieval(embeddings, FAISS)
model_name = 'Llama-2-agent-7b'
model_cfg = {
'Llama-2-agent-7b':{
'type': 'modelscope',
'model_id': 'modelscope/Llama-2-7b-chat-ms',
'model_revision': 'v1.0.5',
'use_raw_generation_config': True,
'custom_chat': True
}
}
prompt_generator = MSPromptGenerator(system_template="你是达摩院的ModelScopeGPT(魔搭助手),你是个大语言模型, 是2023年达摩院的工程师训练得到的。\
你有多种能力,可以通过插件集成魔搭社区的模型api来回复用户的问题,还能解答用户使用模型遇到的问题和模型知识相关问答。")
llm = LLMFactory.build_llm(model_name, model_cfg)
agent = AgentExecutor(llm, tool_cfg, tool_retrieval=tool_retrieval, prompt_generator=prompt_generator)
print('Agent lodes success!!! lets start a case!!')
'''available_tool_list = [
'modelscope_text-translation-zh2en',
'modelscope_video-generation'
]
agent.set_available_tools(available_tool_list)'''
agent.reset()
agent.run('写一个20字左右简短的小故事')
您先按照模型卡片上的configuration.json改一下type跑一下试试。
您参考一下这个意见:本地接口的话,需要你实现一下,参考这个https://github.com/modelscope/modelscope-agent/blob/master/demo/demo_register_new_tool.ipynb
目前支持的tool在 https://github.com/modelscope/modelscope-agent/tree/master/modelscope_agent/tools 下面。
同时https://github.com/modelscope/modelscope-agent/blob/master/modelscope_agent/tools/plugin_tool.py 这个文件支持langchain tool的接入,可以参考,此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”