jupyter ai 结合local llm 实现思路

参考链接:

jupyter ai develop 开发文档

https://jupyter-ai.readthedocs.io/en/latest/developers/index.html

langchain custom LLM 开发文档

https://python.langchain.com/v0.1/docs/modules/model_io/llms/custom_llm/

stackoverflow :intergrate Local LLM with jupyter ai question

https://stackoverflow.com/questions/78989389/jupyterai-local-llm-integration/78989646#78989646

作者krassowski blog ,关于jupyter lab 有117个post

https://stackoverflow.com/users/6646912/krassowski

====================================

思路

1。Briefly, define the CustomLLM with something like:

python 复制代码
from typing import Any, Dict, Iterator, List, Mapping, Optional

from langchain_core.callbacks.manager import CallbackManagerForLLMRun
from langchain_core.language_models.llms import LLM
from langchain_core.outputs import GenerationChunk


class CustomLLM(LLM):

    def _call(
        self,
        prompt: str,
        stop: Optional[List[str]] = None,
        run_manager: Optional[CallbackManagerForLLMRun] = None,
        **kwargs: Any,
    ) -> str:
        payload = ... # TODO: pass `prompt` to payload here
        # TODO: define `headers`
        response = requests.request(method="POST", url="10.1xx.1xx.50:8084/generate", headers=headers, data=payload)
        return response.text  # TODO: change it accordingly

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

2。 create MyProvider

python 复制代码
# my_package/my_provider.py
from jupyter_ai_magics import BaseProvider


class MyProvider(BaseProvider, CustomLLM):
    id = "my_provider"
    name = "My Provider"
    model_id_key = "model"
    models = [
        "your_model"
    ]
    def __init__(self, **kwargs):
        model_id = kwargs.get("model_id")
        # you can use `model_id` in `CustomLLM` to change models within provider
        super().__init__(**kwargs)

3。define an entrypoint 程序入口,配置pyproject.toml

python 复制代码
# my_package/pyproject.toml
[project]
name = "my_package"
version = "0.0.1"

[project.entry-points."jupyter_ai.model_providers"]
my-provider = "my_provider:MyProvider"

=================================

部署

bash 复制代码
cd mypackage/
pip install -e .
相关推荐
九.九4 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
春日见4 小时前
拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新
大数据·人工智能·深度学习·elasticsearch·搜索引擎
恋猫de小郭4 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
deephub4 小时前
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
人工智能·microsoft·langchain·大语言模型·agent·强化学习
大模型RAG和Agent技术实践4 小时前
从零构建本地AI合同审查系统:架构设计与流式交互实战(完整源代码)
人工智能·交互·智能合同审核
老邋遢4 小时前
第三章-AI知识扫盲看这一篇就够了
人工智能
互联网江湖4 小时前
Seedance2.0炸场:长短视频们“修坝”十年,不如AI放水一天?
人工智能
PythonPioneer4 小时前
在AI技术迅猛发展的今天,传统职业该如何“踏浪前行”?
人工智能
冬奇Lab5 小时前
一天一个开源项目(第20篇):NanoBot - 轻量级AI Agent框架,极简高效的智能体构建工具
人工智能·开源·agent
阿里巴巴淘系技术团队官网博客5 小时前
设计模式Trustworthy Generation:提升RAG信赖度
人工智能·设计模式