开源模型破局OpenAI服务限制,15分钟灵活搭建RAG和Agent应用

简介: 今天,我们做了两个实验,目标在15分钟内,完成下载社区的开源模型,部署成API,替换LlamaIndex中RAG和LangChain中OpenAI接口Agent的最佳实践,并取得符合预期的结果。

实验一

实验目标:Qwen2+Ollama+LlamaIndex实现RAG应用

实验时长:15分钟

运行设备:Mac,CPU,GPU均可

环境安装:

pip install llama-index llama_index.llms.ollama llama-index-embeddings-huggingface modelscope

复制模型路径,创建名为“ModelFile”的meta文件,内容如下:

FROM /mnt/workspace/qwen2-7b-instruct-q5_k_m.gguf
# set the temperature to 0.7 [higher is more creative, lower is more coherent]
PARAMETER temperature 0.7
PARAMETER top_p 0.8
PARAMETER repeat_penalty 1.05
TEMPLATE """{{ if and .First .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
{{ .Response }}"""
# set the system message
SYSTEM """
You are a helpful assistant.
"""

使用ollama create命令创建自定义模型并运行

ollama create myqwen2 --file ./ModelFile
ollama run myqwen2

然后运行如下RAG代码:

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.core.embeddings import resolve_embed_model
from llama_index.llms.ollama import Ollama
import sys
# load doc qwen2 readme
documents = SimpleDirectoryReader("/mnt/workspace/content").load_data()
# bge embedding model
Settings.embed_model = resolve_embed_model("local:/mnt/workspace/bge-base-en-v1.5")
# ollama
Settings.llm = Ollama(model="myqwen2", request_timeout=30.0)
# create index
index = VectorStoreIndex.from_documents(documents)
# Either way we can now query the index
query_engine = index.as_query_engine()
response = query_engine.query("What is the maximum context length supported by Qwen2?")
print(response)

Output

实验二

实验目标:Qwen2+Ollama+Langchain实现Agent应用

实验时长:15分钟

运行设备:Mac,CPU,GPU均可

环境安装:

pip install langchain_openai langchain langchain_experimental

模型下载:

使用modelscope-cli下载qwen2模型:


modelscope download --model=qwen/Qwen2-7B-Instruct-GGUF --local_dir . qwen2-7b-instruct-q5_k_m.gguf

运行Qwen2(本地文件,也可以直接用ollama hub)

复制模型路径,创建名为“ModelFile”的meta文件,内容如下:


from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
from langchain_openai import ChatOpenAI
import pandas as pd
# 下载csv文件
df = pd.read_csv(
    "https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv"
)
agent = create_pandas_dataframe_agent(
    ChatOpenAI(api_key='ollama', # ollama 不需要使用真实的API key
        base_url = 'http://127.0.0.1:11434/v1',
        model="myqwen2"),
    df,
    verbose=True,
    allow_dangerous_code=True
)
agent.invoke("how many rows are there?")

使用ollama create命令创建自定义模型并运行

ollama create myqwen2 --file ./ModelFile
ollama run myqwen2

运行如下function call 代码(代码解释器):

from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
from langchain_openai import ChatOpenAI
import pandas as pd
# 下载csv文件
df = pd.read_csv(
    "https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv"
)
agent = create_pandas_dataframe_agent(
    ChatOpenAI(api_key='ollama', # ollama 不需要使用真实的API key
        base_url = 'http://127.0.0.1:11434/v1',
        model="myqwen2"),
    df,
    verbose=True,
    allow_dangerous_code=True
)
agent.invoke("how many rows are there?")

Output

相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
OpenAI发布全新AI视频模型Sora:引领视频创作新纪元
OpenAI发布全新AI视频模型Sora:引领视频创作新纪元
|
3天前
|
SQL 人工智能 API
openai停止中国的api服务,但是性能相当的阿里云免费提供迁移
OpenAI暂停中国API服务,阿里云百炼响应迅速,提供免费tokens(2200万)与迁移服务给受影响开发者。Qwen2-72B与GPT-4同列全球第四(HELM MMLU榜)。Qwen-plus调用成本仅GPT-4的1/50。阿里云百炼以开放性著称,兼容LlamaIndex等,支持多种数据源及自定义组件,加速AI应用集成。官网有丰富资源,助力快速上手大模型开发。
|
9天前
|
人工智能 自然语言处理 监控
AI大模型智能体工作流涉及使用Ollama和FastGPT这两个工具
AI大模型智能体工作流涉及使用Ollama和FastGPT这两个工具
51 4
|
11天前
|
人工智能 安全 机器人
Claude3发布成为大模型之王,Openai是否真的跌落神坛,附试用链接
Claude3发布成为大模型之王,Openai是否真的跌落神坛,附试用链接
21 3
|
1天前
|
人工智能 搜索推荐 机器人
AppFlow无代码轻松搭建模型Agent
使用钉钉,现在每个人都能轻松创建自己的AI助手。通过结合各种插件,如天气、机票查询和地图,你可以定制个性化的工作助手。利用AppFlow,即使没有编程经验也能搭建AI Agent。步骤包括:1) 在钉钉开放平台创建应用,获取凭证;2) 在钉钉卡片平台创建AI卡片实例;3) 在AppFlow配置连接流,添加所需插件;4) 创建钉钉机器人,设置HTTP消息接收并关联AppFlow的Webhook。完成这些步骤后,你就可以在钉钉群中与你的AI助手互动了。
|
11天前
|
人工智能 自然语言处理 监控
搭建本地私有AI大模型智能体
搭建本地私有AI大模型智能体
64 0
|
11天前
|
机器学习/深度学习 人工智能 算法
Agent AI智能体:塑造未来社会的智慧力量
Agent AI智能体:塑造未来社会的智慧力量
37 0
|
15天前
|
人工智能 自然语言处理 API
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
114 0
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
|
11天前
|
人工智能 自然语言处理 数据安全/隐私保护
扣子(Coze)搭建一个AI智能体
扣子(Coze)搭建一个AI智能体
93 2
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
智能化未来:Agent AI智能体的崛起与全球挑战
智能化未来:Agent AI智能体的崛起与全球挑战
57 1