首页 >科技周边 >人工智能 >与Gradio和Langchain在本地运行Olmo-2

与Gradio和Langchain在本地运行Olmo-2

William Shakespeare
William Shakespeare原创
2025-03-06 10:55:08946浏览

> olmo 2:功能强大的开源LLM,用于可访问的AI

>自然语言处理领域(NLP)已经取得了迅速的进步,尤其是大型语言模型(LLMS)。尽管专有模型在历史上一直占主导地位,但开源替代方案正在迅速缩小差距。 Olmo 2代表着一个重大的飞跃,提供的性能与封闭式模型相当,同时保持完全透明度和可访问性。本文深入研究Olmo 2,探索其培训,性能和实际应用。

密钥学习点:

    掌握了开源LLM和Olmo 2对AI研究的重要性。
  • >了解Olmo 2的架构,培训方法和基准结果。
  • 区分开放重量,部分打开和完全开放的模型体系结构。
  • 学习使用Gradio和Langchain在本地学习Olmo 2。
  • >使用python代码示例的Olmo 2构建聊天机器人应用程序。
  • (本文是数据科学博客马拉松的一部分。) 目录的
  • 表:

需要开源LLMS

介绍Olmo 2

解构Olmo 2的培训>

探索Olmo 2的功能
  • >使用Olmo 2
  • 构建聊天机器人
  • 结论
  • 常见问题
  • >
  • 开源LLMS
  • 的需求 专有LLM的最初主导地位引起了人们对可及性,透明度和偏见的担忧。 开源LLM通过促进协作并允许进行审查,修改和改进来解决这些问题。 这种开放的方法对于推进该领域并确保公平访问LLM技术至关重要。 艾伦AI研究所(AI2)的Olmo项目举例说明了这一承诺。 Olmo 2不仅仅是简单地释放模型权重。它提供培训数据,代码,培训配方,中间检查点和指导调整的模型。这个全面的版本促进了可重复性和进一步的创新。
  • 理解Olmo 2

Olmo 2在其前身OLMO-0424上显着改善。 它的7B和13B参数模型表明性能可与类似或超过类似的完全开放的模型相当,甚至可以与英语学术基准上的Llama 3.1(如Llama 3.1)相提并论,这是考虑到减少的培训拖船的显着成就。

关键改进包括:

  • 实质性绩效提高: olmo-2(7b和13b)显示出对早期Olmo模型的明显改善,表明建筑,数据或培训方法的进步。> 与MAP-NEO-7B竞争
  • olmo-2,尤其是13B版本,取得的分数可与Map-neo-7b相当,这是完全开放模型的强大基线。

Running OLMo-2 Locally with Gradio and LangChain> olmo 2的训练方法

Olmo 2的架构建立在原始Olmo上,并结合了改进的稳定性和性能。 培训过程包括两个阶段:

基础培训:

利用Olmo-Mix-1124数据集(大约3.9万亿个代币,来自不同的开源来源)来为语言理解建立强大的基础。
    >
  1. 改进和专业化:使用Dolmino-Mix-1124数据集,这是高质量的Web数据和特定领域的数据(学术内容,问答论坛,教学数据,数学工作簿)的精心策划组合,以完善模型的知识和技能。 “模型汤”进一步增强了最终的检查点。
  2. LLMS中的开放度

Running OLMo-2 Locally with Gradio and LangChain

>由于Olmo-2是一个完全开放的模型,因此让我们澄清不同级别的模型开放度之间的区别:

>开放重量模型:

只发布模型权重。
    >
  • >部分打开的模型:>释放一些其他信息以外的其他信息,但不是训练过程的完整图片。
  • >
  • 完全开放的模型:提供完整的透明度,包括权重,培训数据,代码,配方和检查点。 这允许完全可重复性。
  • 总结了关键差异的表格。>
  • 探索和运行Olmo 2本地

    >

    Olmo 2很容易访问。 可以提供有关下载模型和数据以及培训代码和评估指标的说明。 要在本地运行Olmo 2,请使用Ollama。 安装后,只需在命令行中运行ollama run olmo2:7b即可。 可以通过PIP安装必要的库(Langchain和Gradio)

    >

    >使用Olmo 2 构建聊天机器人

    以下Python代码演示了使用Olmo 2,Gradio和Langchain构建聊天机器人:

import gradio as gr
from langchain_core.prompts import ChatPromptTemplate
from langchain_ollama.llms import OllamaLLM

def generate_response(history, question):
    template = """Question: {question}

    Answer: Let's think step by step."""
    prompt = ChatPromptTemplate.from_template(template)
    model = OllamaLLM(model="olmo2")
    chain = prompt | model
    answer = chain.invoke({"question": question})
    history.append({"role": "user", "content": question})
    history.append({"role": "assistant", "content": answer})
    return history

with gr.Blocks() as iface:
    chatbot = gr.Chatbot(type='messages')
    with gr.Row():
        with gr.Column():
            txt = gr.Textbox(show_label=False, placeholder="Type your question here...")
    txt.submit(generate_response, [chatbot, txt], chatbot)

iface.launch()
此代码提供了基本的聊天机器人接口。 可以建立更复杂的应用程序。 原始文章中显示了示例输出和提示。

Running OLMo-2 Locally with Gradio and LangChain Running OLMo-2 Locally with Gradio and LangChain Running OLMo-2 Locally with Gradio and LangChainRunning OLMo-2 Locally with Gradio and LangChain

结论 Olmo 2

代表对开源LLM生态系统的重要贡献。 它的强大性能以及其完整的透明度,使其成为研究人员和开发人员的宝贵工具。 尽管在所有任务中都不是普遍优越,但其开放性质却促进了协作,并加速了可访问且透明的AI领域的进步。

钥匙要点:

    > olmo-2的13B参数模型在各种基准上展示了出色的性能,超过其他开放型号。
  • 完整的模型开放性促进了更有效模型的开发。
  • 聊天机器人示例展示了与Langchain和Gradio的集成的易度性。
  • >常见问题(常见问题解答)
(此处包括原始文章中的常见问题。)

(注意:图像URL保持不变。)

>

以上是与Gradio和Langchain在本地运行Olmo-2的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn