Llama3实操增强的三种方式:RAG/Agent/Function Calling!!! 原创

发布于 2024-5-22 10:17
浏览
0收藏

1、Llama 3 的 RAG 增强

以下 Github 链接展示了从头开始使用 LangGraph 和 Llama3-8B 构建可靠的智能体。它将3种先进 RAG 技术(自适应 RAG、纠正性 RAG和自我 RAG)的思想结合起来,形成 LangGraph 中的单一控制流程。

https://github.com/langchain-ai/langgraph/blob/main/examples/rag/langgraph_rag_agent_llama3_local.ipynb

Llama3实操增强的三种方式:RAG/Agent/Function Calling!!! -AI.x社区

方式一:自适应 RAG 路由,将问题路由到不同的检索方法。

方式二:纠正性 RAG 后备方案,如果文档与查询不相关,则回退到网页搜索 Web Browser。

方式三:自我 RAG 进行自我纠错,修正包含幻觉或未回答问题的答案。

2、Llama 3 的微调增强

众所周知,LLaMA-Factory 微调,已经支持 Llama 3,如下所示:

Llama3实操增强的三种方式:RAG/Agent/Function Calling!!! -AI.x社区

Github 地址:https://github.com/hiyouga/LLaMA-Factory

另外 Colab 笔记本中将 Llama-3 微调速度提高 2倍以上,链接如下所示:

https://colab.research.google.com/drive/135ced7oHytdxu3N2DNe1Z0kqjyYIkDXp?usp=sharing

3、Llama 3 的 Function Calling 增强

目前官方的答复是 Llama 3 暂时不支持 Function Calling 的功能,也就表面看起来不支持 Agent 智能体功能,如下图所示:

Llama3实操增强的三种方式:RAG/Agent/Function Calling!!! -AI.x社区

不过,经过我们实践摸索,变形支持 Function Calling 函数调用的方法,也就是采用 Function Calling 数据微调后的 Llama 3,Prompt 提示词模板如下图所示:

<|begin_of_text|><|start_header_id|>function_metadata<|end_header_id|>


You have access to the following functions. Use them if required:
[
    {
        "type": "function",
        "function": {
            "name": "get_stock_price",
            "description": "Get the stock price of an array of stocks",
            "parameters": {
                "type": "object",
                "properties": {
                    "names": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An array of stocks"
                    }
                },
                "required": [
                    "names"
                ]
            }
        }
    },
    {
        "type": "function",
        "function": {
            "name": "get_big_stocks",
            "description": "Get the names of the largest N stocks by market cap",
            "parameters": {
                "type": "object",
                "properties": {
                    "number": {
                        "type": "integer",
                        "description": "The number of largest stocks to get the names of, e.g. 25"
                    },
                    "region": {
                        "type": "string",
                        "description": "The region to consider, can be \"US\" or \"World\"."
                    }
                },
                "required": [
                    "number"
                ]
            }
        }
    }
]<|eot_id|><|start_header_id|>user<|end_header_id|>


Get the names of the five largest stocks by market cap<|eot_id|><|start_header_id|>assistant<|end_header_id|>


Generated Response:
{
    "name": "get_big_stocks",
    "arguments": {
        "number": 5,
        "region": "US"
    }
}<|eot_id|>

4、Llama 3 实操技术选型

AI 大模型参数大小的技术选型可以参考如下实践原则:

第一、归纳分类任务,大模型参数推荐 3B;

第二、翻译任务,大模型参数推荐 7B;

第三、意图识别任务,大模型参数推荐 13B;

第四、Function Calling Action 任务,大模型参数推荐 70B。

以上这些推荐都是针对顶尖的通用大模型而言,没有经过 Fine-tuning 等微调,微调后的或者 RAG  后的 大模型 AGI 能力会增强,相应参数会变化。

Llama3实操增强的三种方式:RAG/Agent/Function Calling!!! -AI.x社区



本文转载自公众号玄姐聊AGI  作者:玄姐

原文链接:​​https://mp.weixin.qq.com/s/HQZXuGNJ5d2oNHjBOhI3Iw​

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
收藏
回复
举报
回复
相关推荐