- 2024-11-18大模型实战(二):langchain+Ollama调用本地大模型实现RAG(保姆级)
文章目录一、任务描述1.环境2.功能二、代码拆解1.导入包2.配置本地模型3.实例化embedding模型4.导入向量化知识库5.加入提示词6.定义查询方法7.问答三、总体代码一、任务描述由于显卡仍然较为昂贵,个人笔记本的硬件条件很难带动大模型,因此我们可以调用一
- 2024-11-16django 数据库ORM通用的公共函数
通用查询1、公共函数:defgeneric_query(model,filter_kwargs=None,order_by=None,limit=None,aggregate=None,annotate=None):"""通用的DjangoORM查询函数。:parammodel:Django模型类:paramfilter_kwargs:过滤条件字典:paramorder_by:
- 2024-11-13python中利用/和*控制位置参数和关键字参数
python中利用/和*控制位置参数和关键字参数内容是的,在Python中,/和*都可以用在函数参数定义中,用来控制参数的传递方式。具体来说:/:表示位置参数(positional-onlyparameters),即只能按位置传递的参数。*:表示关键字参数(keyword-onlyparameters),即只能按关键字传递的参数。
- 2024-11-03ossfs 禁用cache配置说明
ossfs基于osssdk实现了与ossfs类似的能了,但是默认是有cache的,尤其我们的longrunning任务可能会影响,造成获取的数据是不是最新的,解决方法就是直接禁用cache参考处理#通过临时调整cache有效期解决fromossfsimportOSSFileSystemfs=ossfs.OSSFileSystem(li
- 2024-10-29Python中的*args和**kwargs
在Python编程中,函数的参数处理是一个非常重要的特性,它让代码更加灵活和强大。特别是在处理不确定数量的参数时,Python提供了两个非常有用的工具:*args和**kwargs。这两个特殊的参数使得函数能够接收任意数量的位置参数或关键字参数,从而极大地增加了函数的通用性和灵活性。*args用于
- 2024-10-27Python装饰器 - 具体讲解
Python装饰器是一种非常有用的功能,它允许我们以不修改原有函数代码的方式,扩展或增强函数的行为。装饰器本质上是一个函数,它接收一个函数作为参数并返回一个新的函数。下面我将详细讲解Python装饰器的概念、用法和实现。1.装饰器的基本概念装饰器的基本语法如下:defdecor
- 2024-10-10用Python类实现装饰器
用Python类实现装饰器为什么使用类实现装饰器?类装饰器的实现增加状态的类装饰器带参数的类装饰器为什么使用类实现装饰器?在某些情况下,我们可能希望装饰器保存状态、初始化一些参数,或者通过对象的方法操作。这时,用类实现装饰器会显得更为灵活和合理。类装饰器允许我们
- 2024-10-01DRF请求的生命周期:三年程序员的实战感悟
前言:作为工作一个3年左右的码农,在各种框架的摸爬滚打中,我也接触了不少前端后端的技术栈,其中DjangoRESTFramework(DRF)算是我后端日常工作中的用得最多的框架。今天就简单聊聊DRF请求的生命周期。从请求的发起,到数据的处理,再到最终的响应返回,每一步都有着很多的细节和挑战,由于篇幅
- 2024-09-30Python函数进阶:让你的代码更优雅的秘密武器
引言你是否曾在编写Python代码时感到困惑,尤其是在处理函数时?你并不孤单!根据一项调查,超过70%的开发者在学习Python时都曾遇到过函数的各种难题。想象一下,如果你能掌握一些高级用法,像装饰器、匿名函数、可变参数和关键字参数等,你的代码将会变得多么优雅和高效!在这篇文章中,我们将
- 2024-09-12如何查看python文档
调用help函数,可以看到一个函数或者方法的字符串文档。In [1]: import requestsIn [2]: help(requests.get)Help on function get in module requests.api:get(url, params=None, **kwargs) Sends a GET request. :param url: URL fo
- 2024-09-05python中*args和**kwargs的理解
python中*args和**kwargs的理解打包(pack):*args是把多个位置参数打包成元组,**kwargs是把多个关键字参数打包成字典。拆分(unpack):*args是把打包了的参数拆成单个的,依次赋值给函数的形参,**kwargs是把字典的键值拆成单个的,依次赋值给函数的形参。#*args,*作用,有两个:打包参数和拆分
- 2024-08-15gym序列化、EzPickle类
EzPickle是一个用于强化学习环境的类,它重写了__getstate__和__setstate__方法,以便通过构造函数参数(*args,**kwargs)进行序列化和反序列化。这个设计允许那些无法直接用pickle库处理的对象,如数据库连接和网络套接字,也能在保存和恢复时保持其状态。"""Classforpicklingandun
- 2024-07-31解决python自动化操作异常处理的问题
在python自动化领域,往往要用到pyautogui,pywin32等模块实现自动化操作。然而,这种自动化操作,本身具有一定的局限性,其中最主要的一个问题就是,一旦执行结果不按照脚本预设的来执行,往往会抛出异常,导致程序中断。解决这个问题,主要有这么几种思路:第一,每一次操作后分情况讨论。这种方
- 2024-07-31Python - Decorators
Adecoratorisacallablethattakesacallableasinputandreturnsacallable.Thisisthegeneraldefinitionofadecorator.Thecallableinthisdefinitioncanbeafunctionoraclass.Inourinitialdiscussion,wewilltalkaboutdecoratorfunctions
- 2024-07-29函数 动态参数
#固定参数+动态位置参数defmy_function(a,b,*args):print(a)print(b)print(args)my_function(1,'c',1,2,3,4,5,6)#输出#1#固定位第一个占位符#c#固定位第二个占位符#(1,2,3,4,5,6)#剩下的部分#可变关键词参数defmy_funciton2(a,b,
- 2024-07-27Python 可变长参数的魔法:灵活函数设计的秘密
哈喽,大家好,我是木头左!什么是可变长参数?在Python中,可变长参数允许你向函数传入任意数量的参数,而无需预先定义它们的个数。这为编写更加灵活和通用的函数提供了可能。可变长参数主要有两种形式:*args用于非关键字参数,**kwargs用于关键字参数。*args:非关键字可变长参数当你
- 2024-07-27Django模型中的save方法 精讲
两种方法定义在Django模型中的save方法有不同的参数处理方式。第一种方法:defsave(self,*args,**kwargs):super().save(*args,**kwargs) 特点:使用*args和**kwargs来捕获所有位置参数和关键字参数。这样的方法可以灵活地接收任何传递给save方法的参数,并将它
- 2024-07-24How do I increase max_new_tokens
题意:怎样增加 max_new_tokens 的值问题背景:I'mfacingthiserrorwhilerunningmycode: 运行代码时遇到如下错误:ValueError:Inputlengthofinput_idsis1495,but max_length issetto20.Thiscanleadtounexpectedbehavior.Youshouldcons
- 2024-07-19llamafactory/model/loader.py [源码解析]
classTokenizerModule(TypedDict):tokenizer:"PreTrainedTokenizer"processor:Optional["ProcessorMixin"]def_get_init_kwargs(model_args:"ModelArguments")->Dict[str,Any]:r"""Getsargu
- 2024-07-10从零学习大模型——使用GLM-4-9B-Chat + BGE-M3 + langchain + chroma建立的本地RAG应用(二)——将GLM-4-9B-Chat接入langchain
第一篇介绍了如何配置最基本的环境并下载了GLM-4-9B-Chat到本地,接下来我们试着将GLM-4-9B-Chat接入LangChain。LangChain 是一个基于大型语言模型(LLM)开发应用程序的框架。LangChain简化了LLM应用程序生命周期的每个阶段:开发:使用LangChain的开源构建模块和组件构建应用程序
- 2024-07-05关于BGE-M3接入LangChain时遇到的问题与解决方法
本文基于https://github.com/datawhalechina/self-llm/blob/master/GLM-4/02-GLM-4-9B-chat%20langchain%20%E6%8E%A5%E5%85%A5.md提供的教程。由于使用本地部署的大模型,在继承LangChain中的LLM类时需要重写几个函数。但是在具体测试的时候出现了以下的错误/root/miniconda3/lib
- 2024-06-21super().__init__(**kwargs)
最近补充一下python知识,关于super().init(**kwargs)属于在class中常用的调用父类方法:`classChild(father_class):name:str="Stitch"profile:str="TutorialAssistant"goal:str="Generatetutorialdocuments"constraints:str="Strictlyfollo
- 2024-06-06利用智普AI大模型进行基于 RAG 的表格数据问答
前言最近一直在探索RAG相关的技术,刚好尝试了一些国产的大模型,发现智普的大模型用着还挺不错的,因此就尝试用它对表格数据进行问答。遇到的问题智普的SDK更新到了2.0的版本,这也就导致原来Langchain的版本无法适配了,需要重新自己写一些代码才可以。另外,Langchain提供的cr
- 2024-06-05【DRF-13】rest-framework之视图三部曲
一.mixin类编写视图1.视图classAuthorModelSerializer(serializers.ModelSerializer):classMeta:model=models.Authorfields='__all__'fromrest_frameworkimportmixins,genericsclassAuthors(mixins.ListModelMixin,mixins.CreateMod
- 2024-06-04线程池 + 回调 (进程赤用法类似)
importosimportthreadingimporttimefromconcurrent.futuresimportThreadPoolExecutorfromfunctoolsimportwrapsThreadPool=ThreadPoolExecutor(max_workers=10)defthread_executor(a):print("Iamslave.Iamworking.Iamgoingtosleep3