基于Langchain框架,采用Qwen2.5大模型,搭建自己的Agent,ReACT效果比RAG好

最近在做RAG,调研后发现ReACT好像更具有说服力,对最终结果的解释也更加合理。

举个例子,我扔给大模型这样一个问题:15的平方是多少?另外,法国的首都是哪里?

采用ReACT的运行结果如下:

> Entering new AgentExecutor chain...
我需要先计算15的平方,然后搜索法国的首都。
Action: 平方计算器
Action Input: "15"
Observation: 15 的平方等于 225 。
Thought:我需要进行第二次行动以获取法国首都的信息。
Action: 搜索
Action Input: "法国的首都"
Observation: {'query': '法国的首都', 'follow_up_questions': None, 'answer': None, 'images': [], 'results': [{'title': '法国的首都是什么? - 百度知道', 'url': 'https://zhidao.baidu.com/question/1308972163540040099.html', 'content': '法国的首都是巴黎。 巴黎(Paris),是法兰西共和国的首都和最大城市,也是法国的政治、经济、文化和商业中心,世界五个国际大都市之一(其余四个分别为纽约、伦敦、东京、香港),并被GaWC评为Alpha+级世界一线城市。', 'score': 0.9168945, 'raw_content': None}, {'title': '巴黎(法兰西共和国首都)_百度百科', 'url': 'https://baike.baidu.com/item/巴黎/858', 'content': '巴黎(Paris),是法兰西共和国的首都和最大城市,也是法国的政治、经济、文化和商业中心,世界五个国际大都市之一(其余四个分别为纽约、伦敦、东京、香港),并被GaWC评为Alpha+级世界一线城市。巴黎位于法国北部巴黎盆地的中央,横跨塞纳河两岸,城市中心坐标为北纬48°52′、东经2°25′。', 'score': 0.8591094, 'raw_content': None}, {'title': '巴黎 - 维基百科,自由的百科全书', 'url': 'https://zh.wikipedia.org/wiki/巴黎', 'content': '巴黎是法國的首都,也是中央政府的所在地。法國總統的官邸愛麗舍宮位於巴黎第八區,法國總理的官邸馬提尼翁府則位於巴黎第七區。其他政府機構則散佈在市區各處,其中許多機關都位在巴黎第七區,靠近馬提尼翁府。', 'score': 0.85008353, 'raw_content': None}, {'title': '法国(法兰西共和国)_百度百科', 'url': 'https://baike.baidu.com/item/法国/1173384', 'content': '法兰西共和国(法语:La République française),简称法国,首都巴黎,位于欧洲西部,与比利时、卢森堡、德国、瑞士、意大利、摩纳哥、西班牙、安道尔接壤,西北隔英吉利海峡与英国相望,海洋性、大陆性、地中海型和山地气候并存。地势东南高西北低。总面积550000平方千米(不含海外领地', 'score': 0.82795376, 'raw_content': None}, {'title': '巴黎作为法国的首都和最大城市,地理环境和气候有什么特点?', 'url': 'https://www.qulishi.com/article/202102/486805.html', 'content': '巴黎作为法国的首都和最大城市,地理环境和气候有什么特点?-趣历史网 风云人物 历史解密 战史风云 野史秘闻 文史百科 国学文化 老照片 更多_>_ 诗词名句 成语故事 神话故事 传统文化 古文名著 再现历史 推荐 帝王 将相 后宫 文人 野秘 探索 影视 神话 世界之最 更多 首页 /世界史 /首页 /兰波 _/_正文 巴黎作为法国的首都和最大城市,地理环境和气候有什么特点? 2021-02-24 10:14:01 兰波 拉·封丹 诺查丹玛斯 玛戈王后 德日进 巴黎(Paris),是法兰西共和国的首都和最大城市,也是法国的政治、经济、文化和商业中心,世界五个国际大都市之一(其余四个分别为纽约、伦敦、东京、香港),并被GaWC评为Alpha+级世界一线城市。下面趣历史小编就为大家带来详细的介绍,一起来看看吧! 巴黎位于法国北部巴黎盆地的中央,横跨塞纳河两岸,城市中心坐标为北纬48°52′、东经2°25′。广义的巴黎有小巴黎和大巴黎之分。小巴黎指大环城公路以内的巴黎城市内,面积105.4平方公里,人口224万;大巴黎包括城区周围的上塞纳省、瓦勒德马恩省、塞纳-圣但尼省、伊夫林省、瓦勒德瓦兹省、塞纳-马恩省和埃松省七个省,共同组成巴黎大区,这片地区在古代就已经被称作“法兰西岛”(ile-de-france),都会区人口约为1100万,占据全国人口的六分之一。 巴黎建都已有1400多年的历史,它不仅是法国,也是西欧的政治、经济和文化中心。 2017年8月1日,国际奥委会宣布,巴黎成为2024年奥运会主办城市。2018年1月20日,法国总理爱德华·菲利普正式向法国负责世博会申办工作的部际代表帕斯卡尔·拉米提出,出于财政预算方面的考虑,巴黎将退出申办2025年世博会。 人口民族 人口 2016年的数据显示,大巴黎都会区的人口约为1100万,巴黎市区的人口约为225万。 民族 根据2016年法国国家统计与经济研究所的研究显示,居住在巴黎的居民中有20%是外来移民,20岁以下的居民中有41.3%至少有一位双亲是外来移民。在18岁以下的居民中,12.1%是马格里布人、9.9%来自撒哈拉以南非洲、4.0%则有南欧的血统。35%的法兰西岛居民,大约有400万人不是外来移民(17%)就是双亲中至少有一位是外来移民(18%)。 地理环境 位置境域 巴黎地处法国北部,塞纳河两岸,距河口(英吉利海峡)375千米,城市中心坐标为北纬48°52′,东经2°25′。塞纳河蜿蜒穿过城市,形成两座河心岛(Île de la Cité和圣路易)。大巴黎都会区,即法兰西岛,包括分布在巴黎城墙周围、由同巴黎连成一片的市区组成的上塞纳省、瓦勒德马恩省和塞纳-圣但尼省。小巴黎则是巴黎市区。小巴黎面积约为105.4平方千米,大巴黎都会区面积约为12000平方千米。 地形地貌 巴黎南靠中央高原,东至洛林高原,北邻阿登高地,西到阿莫里坎丘陵,巴黎处在巴黎盆地的中央,地势低平,平均海拔约为178米。 气候 城市本身踞巴黎盆地中央,属温和的海洋性气候,夏无酷暑,冬无严寒;1月平均气温3℃,7月平均气温18℃,年平均气温10℃。全年降雨分布均衡,夏秋季稍多,年平均降雨量619毫米。 水文 塞纳河是巴黎主要的河流,该河流全长776.6千米,包括支流在内的流域总面积为78700平方千米,其排水网络的运输量占巴黎境内河航运量的大部分。 地方特产 法国大蜗牛(Escargot):一种可食用蜗牛。该菜一般是用蒜和黄油为佐料。由于蜗牛是带壳的,所以上菜时有专门的叉子用来将肉取出。 法式杂碎(Sweet breads):该菜一般是先把牛肉用原汤用中文火微煮,然后将肉切成片,裹上面粉,然后再微煎。微煎时一般加入柠檬和腌制过的刺山果花蕾。 免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。 大家都在搜 _•_法国大革命时期,其颁布的纲领性文件《人权宣言》有什么内容? _•_法国国王路易十四在位期间有哪些成就?对法国又有什么影响? _•_法国为什么会修建埃菲尔铁塔?时值法国大革命一百周年 _•_法国大革命产生的原因到底是什么?启蒙时代带来了愤恨和渴望 _•_法国二月革命的过程与结果是怎样的?该如何评价法国二月革命 _•_法国大革命是怎么结束的?其彻底地摧毁了专制制度 _•_法国七月革命简介:法国人民为何要推翻复辟的波旁王朝? _•_法国杰出的小说家安德烈·纪德去世 _•_神圣罗马帝国是罗马帝国吗?法国思想家伏尔泰如何评论? _•_梅多克产区简介:法国波尔多地区最显赫最尊贵的葡萄酒产区 陈霸先传位之谜:为何选择侄子陈蒨而非儿子? 历史 2025-01-13 光武帝刘秀:历史上的卓越统治者与军事天才 帝王 2025-01-10 刘备的父爱与刘禅的成长:能力背后的复杂因素 历史 2025-01-09 刘谌:刘禅之子中的铮铮铁骨 帝王 2025-01-08 刘贺被废黜:真相远不止“做尽坏事” 帝王 2025-01-08 #### 王翦与李牧:巅峰对决的最终胜者 1.9万 阅读  #### 袁崇焕:捍卫明朝边疆的英雄,而非破坏者 5.5万 阅读  #### 曹操对高顺与张辽的不同处置:忠诚与能力的考量 7.7万 阅读  #### 关羽与张辽的深厚友情及张辽未投刘备之谜 8.9万 阅读  #### 嘉庆智搜和珅:从“墙里”挖出数亿白银 7.6万 阅读  #### 巴顿将军:为何被誉为“漂亮的汉子” 9.7万 阅读  袁崇焕:捍卫明朝边疆的英雄,而非破坏者 晚清时期的穷人到底是什么样的 和电视剧里的完全不同 晚清时期的穷人到底是什么样的 和电视剧上的完全不是一个级别', 'score': 0.82391036, 'raw_content': None}], 'response_time': 1.74}
Thought:I now know the final answer.
Final Answer: 15的平方是225,法国的首都是巴黎。

> Finished chain.
{'input': '15的平方是多少?另外,法国的首都是哪里?', 'output': '15的平方是225,法国的首都是巴黎。'}

模型接收到问题后会自动拆解问题,调用与之对应的工具函数获取结果,然后生成最终的答案。在这个例子中,我定义了2个工具函数,一个是求解一个整数的平方,一个是网络搜索。废话不多说,上代码。

1. 首先导入需要的包。

import os
import torch
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' # 解决huggingface下载慢

# 基于 langchain
from langchain.agents import initialize_agent, Tool, AgentType
from typing import Any, List, Optional
from langchain_core.callbacks.manager import CallbackManagerForLLMRun
from langchain_core.language_models.llms import LLM
from transformers import AutoModelForCausalLM, AutoTokenizer
from langchain_core.prompts import ChatPromptTemplate
from langchain_community.llms.utils import enforce_stop_tokens

# 工具函数
from tavily import TavilyClient

2. 定义一个langchain中的llm类,继承他的基类,方便试用其基类的函数。

DEVICE = "cuda"
class LLMQwen(LLM):
    max_token: int = 4096 # 输出的最大token数量 Long-context Support up to 128K tokens and can generate up to 8K tokens.
    temperature: float = 0.8
    top_p: float = 0.9 # 累计概率
    tokenizer: object = None
    model: object = None
    history: List[str] = []

    def __init__(self):
        super().__init__()

    @property
    def _llm_type(self) -> str:
        return "LLMQwen"

    def load_model(self, model_path=None):
        # 初始化
        self.model = AutoModelForCausalLM.from_pretrained(
            model_path,
            torch_dtype="auto",
            device_map="auto"
        )
        self.tokenizer = AutoTokenizer.from_pretrained(model_path)

    def _call(
            self,
            prompt: str,
            stop: Optional[List[str]] = None,
            run_manager: Optional[CallbackManagerForLLMRun] = None,
            **kwargs: Any,
    ) -> str:
        # 自定义的函数,用于调用LLM生成结果
        response, _ = llm_chat(self.model,
                              self.tokenizer,
                              prompt,
                              history=self.history,
                              temperature=self.temperature)

        if stop is not None:
            response = enforce_stop_tokens(response, stop)
        self.history = self.history + [[None, response]]
        return response

3. 定义一个工具函数,用于生成文本。

def llm_chat(model, tokenizer, prompt, history=[], temperature=0.7):
    history = [] # 在该场景中 history 需要置空
    if history == []:
        messages = [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": prompt}
        ]
    else:
        messages = history
        messages.append({"role": "user", "content": prompt})

    text = tokenizer.apply_chat_template(
        messages,
        tokenize=False,
        add_generation_prompt=True
    )
    model_inputs = tokenizer([text], return_tensors="pt").to(DEVICE)

    generated_ids = model.generate(
        model_inputs.input_ids,
        max_new_tokens=512,
        temperature=temperature
    )
    generated_ids = [
        output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
    ]

    response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
    #

    messages.append({
        "role": "assistant", "content": response
    })

    history = messages

    return response, history

4. 定义2个需要的工具函数。

# 创建一个使用 Tavily API 的搜索函数
def tavily_search(query: str) -> str:
    try:
        results = tavily_client.search(query)
        # 返回第一个结果的摘要,如果有的话
        if results and len(results) > 0:
            return results
        else:
            return "没有找到结果。"
    except Exception as e:
        return f"执行搜索时出错: {str(e)}"


# 定义一个简单的计算工具函数
def calculate_square(number_str: str) -> str:
    """
    计算一个整数的平方。
    """
    try:
        number = int(number_str)
        return f"{number} 的平方等于 {number ** 2} 。"
    except ValueError:
        return f"错误:'{number_str}' 是一个无效的数字。"

5. 将工具函数打包。

# 将 Tavily 搜索工具和计算工具包装成 LangChain 的 Tool
tools = [
    Tool(
        name="搜索",
        func=tavily_search,
        description="当您需要通过搜索网络来回答问题时很有用。"
    ),
    Tool(
        name="平方计算器",
        func=calculate_square,
        description="计算给定数字的平方,输入应该是表示整数的字符串。"
    )
]

6. 初始化Qwen2.5,初始化ReACT

# 初始化 Qwen 模型
qwen_llm = LLMQwen()
MODEL_PATH = "Qwen/Qwen2.5-7B-Instruct"
qwen_llm.load_model(MODEL_PATH)


# 初始化 ReAct
agent = initialize_agent(
    tools,
    qwen_llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True
)

7. 运行结果

# 使用代理处理请求
response = agent.invoke("15的平方是多少?另外,法国的首都是哪里?")
# 输出结果
print(response)

8. response 如下。

> Entering new AgentExecutor chain...
我需要先计算15的平方,然后搜索法国的首都。
Action: 平方计算器
Action Input: "15"
Observation: 15 的平方等于 225 。
Thought:我需要进行第二次行动以获取法国首都的信息。
Action: 搜索
Action Input: "法国的首都"
Observation: {'query': '法国的首都', 'follow_up_questions': None, 'answer': None, 'images': [], 'results': [{'title': '法国的首都是什么? - 百度知道', 'url': 'https://zhidao.baidu.com/question/1308972163540040099.html', 'content': '法国的首都是巴黎。 巴黎(Paris),是法兰西共和国的首都和最大城市,也是法国的政治、经济、文化和商业中心,世界五个国际大都市之一(其余四个分别为纽约、伦敦、东京、香港),并被GaWC评为Alpha+级世界一线城市。', 'score': 0.9168945, 'raw_content': None}, {'title': '巴黎(法兰西共和国首都)_百度百科', 'url': 'https://baike.baidu.com/item/巴黎/858', 'content': '巴黎(Paris),是法兰西共和国的首都和最大城市,也是法国的政治、经济、文化和商业中心,世界五个国际大都市之一(其余四个分别为纽约、伦敦、东京、香港),并被GaWC评为Alpha+级世界一线城市。巴黎位于法国北部巴黎盆地的中央,横跨塞纳河两岸,城市中心坐标为北纬48°52′、东经2°25′。', 'score': 0.8591094, 'raw_content': None}, {'title': '巴黎 - 维基百科,自由的百科全书', 'url': 'https://zh.wikipedia.org/wiki/巴黎', 'content': '巴黎是法國的首都,也是中央政府的所在地。法國總統的官邸愛麗舍宮位於巴黎第八區,法國總理的官邸馬提尼翁府則位於巴黎第七區。其他政府機構則散佈在市區各處,其中許多機關都位在巴黎第七區,靠近馬提尼翁府。', 'score': 0.85008353, 'raw_content': None}, {'title': '法国(法兰西共和国)_百度百科', 'url': 'https://baike.baidu.com/item/法国/1173384', 'content': '法兰西共和国(法语:La République française),简称法国,首都巴黎,位于欧洲西部,与比利时、卢森堡、德国、瑞士、意大利、摩纳哥、西班牙、安道尔接壤,西北隔英吉利海峡与英国相望,海洋性、大陆性、地中海型和山地气候并存。地势东南高西北低。总面积550000平方千米(不含海外领地', 'score': 0.82795376, 'raw_content': None}, {'title': '巴黎作为法国的首都和最大城市,地理环境和气候有什么特点?', 'url': 'https://www.qulishi.com/article/202102/486805.html', 'content': '巴黎作为法国的首都和最大城市,地理环境和气候有什么特点?-趣历史网 风云人物 历史解密 战史风云 野史秘闻 文史百科 国学文化 老照片 更多_>_ 诗词名句 成语故事 神话故事 传统文化 古文名著 再现历史 推荐 帝王 将相 后宫 文人 野秘 探索 影视 神话 世界之最 更多 首页 /世界史 /首页 /兰波 _/_正文 巴黎作为法国的首都和最大城市,地理环境和气候有什么特点? 2021-02-24 10:14:01 兰波 拉·封丹 诺查丹玛斯 玛戈王后 德日进 巴黎(Paris),是法兰西共和国的首都和最大城市,也是法国的政治、经济、文化和商业中心,世界五个国际大都市之一(其余四个分别为纽约、伦敦、东京、香港),并被GaWC评为Alpha+级世界一线城市。下面趣历史小编就为大家带来详细的介绍,一起来看看吧! 巴黎位于法国北部巴黎盆地的中央,横跨塞纳河两岸,城市中心坐标为北纬48°52′、东经2°25′。广义的巴黎有小巴黎和大巴黎之分。小巴黎指大环城公路以内的巴黎城市内,面积105.4平方公里,人口224万;大巴黎包括城区周围的上塞纳省、瓦勒德马恩省、塞纳-圣但尼省、伊夫林省、瓦勒德瓦兹省、塞纳-马恩省和埃松省七个省,共同组成巴黎大区,这片地区在古代就已经被称作“法兰西岛”(ile-de-france),都会区人口约为1100万,占据全国人口的六分之一。 巴黎建都已有1400多年的历史,它不仅是法国,也是西欧的政治、经济和文化中心。 2017年8月1日,国际奥委会宣布,巴黎成为2024年奥运会主办城市。2018年1月20日,法国总理爱德华·菲利普正式向法国负责世博会申办工作的部际代表帕斯卡尔·拉米提出,出于财政预算方面的考虑,巴黎将退出申办2025年世博会。 人口民族 人口 2016年的数据显示,大巴黎都会区的人口约为1100万,巴黎市区的人口约为225万。 民族 根据2016年法国国家统计与经济研究所的研究显示,居住在巴黎的居民中有20%是外来移民,20岁以下的居民中有41.3%至少有一位双亲是外来移民。在18岁以下的居民中,12.1%是马格里布人、9.9%来自撒哈拉以南非洲、4.0%则有南欧的血统。35%的法兰西岛居民,大约有400万人不是外来移民(17%)就是双亲中至少有一位是外来移民(18%)。 地理环境 位置境域 巴黎地处法国北部,塞纳河两岸,距河口(英吉利海峡)375千米,城市中心坐标为北纬48°52′,东经2°25′。塞纳河蜿蜒穿过城市,形成两座河心岛(Île de la Cité和圣路易)。大巴黎都会区,即法兰西岛,包括分布在巴黎城墙周围、由同巴黎连成一片的市区组成的上塞纳省、瓦勒德马恩省和塞纳-圣但尼省。小巴黎则是巴黎市区。小巴黎面积约为105.4平方千米,大巴黎都会区面积约为12000平方千米。 地形地貌 巴黎南靠中央高原,东至洛林高原,北邻阿登高地,西到阿莫里坎丘陵,巴黎处在巴黎盆地的中央,地势低平,平均海拔约为178米。 气候 城市本身踞巴黎盆地中央,属温和的海洋性气候,夏无酷暑,冬无严寒;1月平均气温3℃,7月平均气温18℃,年平均气温10℃。全年降雨分布均衡,夏秋季稍多,年平均降雨量619毫米。 水文 塞纳河是巴黎主要的河流,该河流全长776.6千米,包括支流在内的流域总面积为78700平方千米,其排水网络的运输量占巴黎境内河航运量的大部分。 地方特产 法国大蜗牛(Escargot):一种可食用蜗牛。该菜一般是用蒜和黄油为佐料。由于蜗牛是带壳的,所以上菜时有专门的叉子用来将肉取出。 法式杂碎(Sweet breads):该菜一般是先把牛肉用原汤用中文火微煮,然后将肉切成片,裹上面粉,然后再微煎。微煎时一般加入柠檬和腌制过的刺山果花蕾。 免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。 大家都在搜 _•_法国大革命时期,其颁布的纲领性文件《人权宣言》有什么内容? _•_法国国王路易十四在位期间有哪些成就?对法国又有什么影响? _•_法国为什么会修建埃菲尔铁塔?时值法国大革命一百周年 _•_法国大革命产生的原因到底是什么?启蒙时代带来了愤恨和渴望 _•_法国二月革命的过程与结果是怎样的?该如何评价法国二月革命 _•_法国大革命是怎么结束的?其彻底地摧毁了专制制度 _•_法国七月革命简介:法国人民为何要推翻复辟的波旁王朝? _•_法国杰出的小说家安德烈·纪德去世 _•_神圣罗马帝国是罗马帝国吗?法国思想家伏尔泰如何评论? _•_梅多克产区简介:法国波尔多地区最显赫最尊贵的葡萄酒产区 陈霸先传位之谜:为何选择侄子陈蒨而非儿子? 历史 2025-01-13 光武帝刘秀:历史上的卓越统治者与军事天才 帝王 2025-01-10 刘备的父爱与刘禅的成长:能力背后的复杂因素 历史 2025-01-09 刘谌:刘禅之子中的铮铮铁骨 帝王 2025-01-08 刘贺被废黜:真相远不止“做尽坏事” 帝王 2025-01-08 #### 王翦与李牧:巅峰对决的最终胜者 1.9万 阅读  #### 袁崇焕:捍卫明朝边疆的英雄,而非破坏者 5.5万 阅读  #### 曹操对高顺与张辽的不同处置:忠诚与能力的考量 7.7万 阅读  #### 关羽与张辽的深厚友情及张辽未投刘备之谜 8.9万 阅读  #### 嘉庆智搜和珅:从“墙里”挖出数亿白银 7.6万 阅读  #### 巴顿将军:为何被誉为“漂亮的汉子” 9.7万 阅读  袁崇焕:捍卫明朝边疆的英雄,而非破坏者 晚清时期的穷人到底是什么样的 和电视剧里的完全不同 晚清时期的穷人到底是什么样的 和电视剧上的完全不是一个级别', 'score': 0.82391036, 'raw_content': None}], 'response_time': 1.74}
Thought:I now know the final answer.
Final Answer: 15的平方是225,法国的首都是巴黎。

> Finished chain.
{'input': '15的平方是多少?另外,法国的首都是哪里?', 'output': '15的平方是225,法国的首都是巴黎。'}
### Qwen2.5 RAG 搭建部署教程 #### 一、环境准备 为了成功搭建和部署Qwen2.5 RAG(Retrieval-Augmented Generation),需先准备好相应的软硬件环境。这包括但不限于满足特定性能指标的服务器设备,以及安装必要的操作系统和支持库。 对于具体的软件配置流程,可以从GitHub克隆Qwen 2.5-Coder仓库来获取最新的源码文件[^2]: ```bash git clone https://github.com/your-repo/Qwen-2.5-Coder.git cd Qwen-2.5-Coder ``` #### 二、依赖项安装 进入项目目录后,按照官方文档指示设置虚拟环境并安装Python包管理工具pip所必需的各种依赖项。通常情况下,这些操作可以通过执行`requirements.txt`中的命令完成。 #### 三、数据集预处理 RAG模型特别强调检索模块的重要性,在此之前要对用于训练的数据集做充分清洗与转换工作,使其能够被有效地索引和查询。这部分可能涉及到文本分词、去除停用词等一系列自然语言处理技术的应用。 #### 四、构建向量数据库 针对已处理好的语料库建立高效的向量存储结构,以便后续快速定位相似度最高的上下文片段作为生成过程中的辅助输入。可以考虑采用开源框架如Faiss或Annoy实现这一功能。 #### 五、微调Qwen2.5-Coder 基于上述准备工作之上,利用迁移学习方法进一步优化基础版本的大规模预训练模型参数,使之更好地适应具体应用场景下的任务需求。这里推荐使用Hugging Face Transformers库提供的API接口简化该环节的操作难度。 #### 六、集成Ollama服务端口 最后一步则是将调整完毕后的Qwen2.5-Coder实例同Ollama平台对接起来,从而允许外部应用程序通过RESTful API等方式访问内部资源和服务。有关于此部分的具体实践指南可参见相关文献说明[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值