当前位置:科学 > 正文

languagemodels:512MB内存运行大模型,可以用来做开发测试用

2023-06-23 11:51:53  来源:安逸远山滔哥

望着各种大的要死的模型,终于有大神给做了一个低配置可以跑的模型。

模型效果就不用指望了,但是可以作为开发测试,或者玩玩。



(资料图)


languagemodels

https://github.com/jncraton/languagemodels

Python的构建模块为您提供了在任何配置有512MB RAM的计算机上探索大型语言模型的机会。

目标受众

这个包的设计尽可能简单,便于学习者和教育者探索大型语言模型如何与现代软件开发交汇。此包的接口都是使用标准类型的简单函数。大型语言模型的复杂性被隐藏起来,同时提供免费的本地推理,使用轻量级、开源模型。所有包含的模型都可免费用于教育用途,不需要API密钥,所有的推理默认都在本地进行。

安装和开始

使用以下命令可以安装此包:

pip install languagemodels

安装完成后,您应该能够像下面这样在Python中与包进行交互:

```python

>>> import languagemodels as lm

>>> lm.do("What color is the sky?")

"The color of the sky is blue."

```

这将在首次运行时需要下载大量数据(约250MB)。模型会被缓存以供后续使用,后续调用应会快很多。

示例用法

这里有一些作为Python REPL会话的使用示例。这应该能在REPL,notebook,或传统的脚本和应用中工作。

文本补全:

```python

>>> import languagemodels as lm

>>> lm.complete("She hid in her room until")

"she was sure she was safe"

```

跟随指令:

```python

>>> import languagemodels as lm

>>> lm.do("Translate to English: Hola, mundo!")

"Hello, world!"

>>> lm.do("What is the capital of France?")

"Paris."

```

聊天:

```python

>>> lm.chat("""

... System: Respond as a helpful assistant.

... User: What time is it?

... Assistant:

... """)

"I"m sorry, but as an AI language model, I don"t have access to real-time information. Please provide me with the specific time you are asking for so that I can assist you better."

```

提供从外部源检索文本的辅助函数,可用于增强提示上下文。

```python

>>> import languagemodels as lm

>>> lm.get_wiki("Chemistry")

"Chemistry is the scientific study...

>>> lm.get_weather(41.8, -87.6)

"Partly cloudy with a chance of rain...

>>> lm.get_date()

"Friday, May 12, 2023 at 09:27AM"

```

语义搜索:

```python

>>> import languagemodels as lm

>>> lm.store_doc("Mars is a planet")

>>> lm.store_doc("The sun is hot")

>>> lm.load_doc("What is Mars?")

"Mars is a planet"

```

性能:

性能: 本包使用的模型比今天使用的最大模型小1000倍。它们是学习工具,但如果您期望获得与ChatGPT或类似的性能,您可能会非常失望。

该基本模型应在有512MB内存的任何系统上运行,但这个内存限制可以增加。设置这个值更高将需要更多的内存并产生结果更慢,但结果应该更好。例如:

>>> import languagemodels as lm

>>> lm.do("If I have 7 apples then eat 5, how many apples do I have?")

"You have 8 apples."

>>> lm.set_max_ram("4gb")

4.0

>>> lm.do("If I have 7 apples then eat 5, how many apples do I have?")

"I have 2 apples left."


项目想法

这个包可以用来做许多学习项目的重要部分:

CLI聊天机器人(见examples/chat.py)Streamlit聊天机器人(见examples/streamlitchat.py)有信息检索功能的聊天机器人能获取实时信息的聊天机器人工具使用文本分类提取式问题回答在文档上进行语义搜索文档问题回答

在examples目录下包含了一些示例程序和notebook。

关键词:

推荐阅读

域名抢注是是什么意思?投资角度来看什么域名好?

域名抢注是是什么意思域名抢注是通过抢先注册的方式获得互联网删除的域名的使用权。域名是由点分隔的一串数字,用于标记一台计算机或一组计 【详细】

捷达保养费用是多少?捷达是哪个国家的品牌?

捷达保养费用是多少?全新捷达的保修期为2年或6万公里,以先到者为准,新车可享受一次免费保养,首次免费保养在5000-7500km或1年内进行。如 【详细】

天然气泄露会造成爆炸吗?天然气泄漏怎么办?

天然气泄露会造成爆炸吗?家里用的天然气如果泄露是会发生爆炸的。当空气中含有混合天然气时,在与火源接触的一系列爆炸危险中,就会发生爆 【详细】

四部门明确App收集个人信息范围 个人信息保护范围判断标准

四部门明确App收集个人信息范围近日,国家互联网信息办公室、工业和信息化部、公安部、国家市场监督管理总局联合印发《常见类型移动互联网 【详细】

丰田致炫介绍 致炫威驰对比汇总

丰田致炫介绍参考价格: 6 88ー10 28W,基本参数: 1 3升 1 5升 5mt,5 3升 100公里。YARiS L致炫是YARiS L的替代传统车型,也是我们中国 【详细】

关于我们  |  联系方式  |  免责条款  |  招聘信息  |  广告服务  |  帮助中心

联系我们:85 572 98@qq.com备案号:粤ICP备18023326号-40

科技资讯网 版权所有