2024-04-17 06:10:40 UTC |
2024-04-17 |
自从笔记和博客转到micro.blog后,轻松了好多,感觉又找回了“记录”的感觉,
不再受迫与各种分类、框架、层级、标题、目的等压力。
准备写一篇博文记录下这次笔记系统和观念的转变
Blog: versun.me
Tweets存档: versun.me/tweets
Mastodon: versun.me/@versun
2024-04-16 06:25:21 UTC |
2024-04-16 |
要想完全放弃Twitter(X),转战Mastodon(via micro.blog)还是有点难,原因主要有2点:
- 互动性:大部分人还是在X上,发推和发嘟的覆盖面和互动性完全不是一个量级,没有互动也就很难产生新想法
解决方法:尽量发嘟,然后转发到X上。X上只进行转发评论互动,定期归档到micro.blog上 - 虚荣心:X粉丝数涨的快,Micro.blog不显示粉丝数也是这个原因,为了保持真实,注重内容
解决方法:X并没有完全弃用,所以影响不大。
总结:在micro.blog上发post(嘟文),按需转发到X,定期归档X
2024-04-15 22:16:07 UTC |
2024-04-16 |
写作提示:
删除所有使用"……对我来说……"、"在我看来"、"有些人可能不同意"、"我认为 "等词语的地方。
这些词语会让你的文章变得脆弱,缺乏任何说服力,阻碍你去描述你所热爱的事物。
2024-04-15 12:46:03 UTC |
2024-04-15 |
TIL: Linux查看具体进程的内存占用情况
cat /proc/[PID]/status | grep VmRSS
2024-04-13 11:27:24 UTC |
2024-04-13 |
如果你只做能力范围内的事,则永远不会进步
—-功夫熊猫3
2024-04-12 22:52:46 UTC |
2024-04-13 |
我正式搬迁到Micro.blog平台啦



TIL-什么是RAG |
2024-03-29 |
RAG是Retrieval Augmented Generation的缩写,中文名为检索增强生成。
它是一种结合了信息检索和文本生成的技术,旨在增强大语言模型处理知识密集型任务的能力。
RAG的基本工作流程如下
- 检索:根据用户的查询,利用检索模型从外部知识库中获取相关的背景信息。通常是将查询向量化,然后在向量数据库中进行相似度搜索,找出最相关的若干条记录。
- 增强:将用户查询和检索到的背景信息一起嵌入到预设的提示模板中,生成增强后的提示。
- 生成:将增强后的提示输入到语言模型中,生成最终的输出文本。
通过融合外部知识,RAG可以让语言模型生成更加准确、符合上下文的回答,减少幻觉和错误信息。同时RAG也比较灵活,可以通过更新知识库来适应知识的变化,而无需重新训练整个语言模型
与微调(fine-tuning)相比,RAG有以下优势
- 更新知识更加高效,只需修改知识库即可,不用重新训练模型
- 更适合知识会随时间变化的动态场景
- 可以利用更大规模的外部知识,不受模型参数规模的限制
Python打包简明教程 |
2024-02-28 |
参考文档:
https://packaging.python.org/en/latest/tutorials/packaging-projects/
https://setuptools.pypa.io/en/latest/userguide/quickstart.html
https://docs.djangoproject.com/zh-hans/5.0/intro/reusable-apps/
准备工作
安装相关工具
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade twine
python3 -m pip install --upgrade setuptools
python3 -m pip install --upgrade build
注册pypi账号
正式环境:https://pypi.org
文件结构
my-project/
└── src/
└── my_package/
├── __init__.py
└── example.py
my_package是你的包名
创建打包的相关文件
按照下方的结构创建对应文件:
my-project/
├── LICENSE
├── pyproject.toml
├── README.md
├── setup.cfg
├── setup.py
├── MANIFEST.in
├── src/
│ └── my_package/
│ ├── __init__.py
│ └── example.py
└── tests/
各文件内容参考如下:
pyproject.toml
[build-system]
requires = ['setuptools>=69.1.0']
build-backend = 'setuptools.build_meta'
setup.cfg
[metadata]
name = django-text-translator
version = 2024.02.28
description = A Django application that supports adding multiple third-party engines for text translation.
long_description_content_type = text/markdown
long_description = file: README.md
url = https://github.com/versun/django-text-translator
author = versun
author_email = [email protected]
license = MIT
classifiers =
Environment :: Web Environment
Framework :: Django
Framework :: Django :: 5.0
Intended Audience :: Developers
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Topic :: Internet :: WWW/HTTP
Topic :: Internet :: WWW/HTTP :: Dynamic Content
Topic :: Software Development :: Libraries :: Application Frameworks
Topic :: Software Development :: Libraries :: Python Modules
[options]
include_package_data = true
packages = find:
python_requires = >=3.10
install_requires =
django >= 5.0
License可参考https://choosealicense.com/
setup.py
from setuptools import setup
setup()
MANIFEST.in
include LICENSE
include README.md
recursive-include docs *
recursive-include django_text_translator/static *
recursive-include django_text_translator/templates *
recursive-include表示循环包含后面的文件夹和子文件夹
打包
使用python自带的打包工具setuptools,如果没有,可使用pip安装它
然后在my-project文件夹下运行:python -m build
或python setup.py sdist
以上命令均会在dist文件夹下生成一个tar.gz源代码文件包
上传
可以先上传到test pypi进行测试。
首先需要在 https://test.pypi.org/manage/account/#api-tokens 创建一个token,将 "范围 "设置为 "整个账户",并保存复制token,该token只显示一次。
运行命令python3 -m twine upload --repository testpypi dist/*
,输入token上传就行了。
如果需要上传到正式环境,则运行python3 -m twine upload dist/*
,并使用正式环境的token即可
测试安装包
python3 -m pip install --index-url [https://test.pypi.org/simple/](https://test.pypi.org/simple/) --no-deps my-package
也可以直接通过git安装
pip install git+https://github.com/versun/django-text-translator
完成
Huey在Django下的使用 |
2024-01-18 |
参考:
Huey
官方文档Django
对于小型的应用,轻量化的Huey非常适合做为Celery的替代品
安装huey
参考:https://huey.readthedocs.io/en/latest/installation.html
pip install huey
由于我直接使用sqlite,所以就不安装redis了
Django配置
参考:https://huey.readthedocs.io/en/latest/django.html#setting-things-up
第一步是添加模块
# settings.py
# ...
INSTALLED_APPS = (
# ...
'huey.contrib.djhuey', # Add this to the list.
# ...
)
第二步添加配置
# settings.py
HUEY = {
'huey_class': 'huey.SqliteHuey',
'filename': DATA_FOLDER / "huey.sqlite3",
'consumer': {
'workers': 1,
'worker_type': 'thread',
},
"immediate": False,
}
filename可自行设置其它路径
第三步添加任务
在需要添加任务的app里创建tasks.py
# my_app/my_app/tasks.py
from huey import crontab
from huey.contrib.djhuey import periodic_task, task
@task()
def count_beans(number):
print('-- counted %s beans --' % number)
return 'Counted %s beans' % number
@periodic_task(crontab(minute='*/5'))
def every_five_mins():
print('Every five minutes this will be printed by the consumer')
第四步运行
python ./manage.py run_huey
笔记_怎么写日记 |
2024-01-15 |
Youtube:https://www.youtube.com/watch?v=E8vwGLMTx5I
Level 1 开始写
方法一:Homework for Life —《Soryworthy by Matthew Dicks》
每天结束后,问自己“今天发生在我身上的,最有故事价值的事情是什么”,然后以这件事为素材,讲一个5分钟的故事。
这种方法可以锻炼自己写故事的能力
方法二:模版
今天学到了什么?
今天见了什么人?
今天有什么惊喜?
方法三:晨间笔记 —《The Artist’s Way by Julia Cameron》
每天早上写,想到写什么,清空大脑,写15-20分钟
Level 2 写感受
方法一:感恩日记
写下感激的三件事情
找到你想感谢的人,然后举出3个这个人的优点,然后写下展现这些优点的事情,最后和TA分享这份感激
Level 3 做什么/怎么做
日记不仅仅是了解你的想法和感受,还可以帮助你弄清楚你该做什么
方法一:Odyssey Plan — 《Designing Your Life by Bill Burnett & Dave Evans》
如果我继续照这这条路走下去,5年后我的生活会是什么样的
如果我走一条完全不同的路,5年后我的生活会是什么样的
如果我走一条完全不同的路,同时我不用担心钱,也不用在乎别人的眼光,5年后我的生活会是什么样的
方法二:The Wheel of Life
把你的生活分成多个不同的组成部分,然后定期给它们打分/评价/幸福度/满意度
参考:职业/商业、财务、健康、家庭/朋友、浪漫、个人成长、娱乐和休闲、物质环境
方法三:12月庆典(The 12 Month Celebration)
从现在起12个月后,在生活的不同方面,我想和朋友庆祝什么?(加薪?创业?坚持健身?)
方法四:恐惧设定练习(Fear Setting Exercise)— Tim Ferriss
一般用户面临选择/害怕选择事
如果我去做了我害怕的事,最糟糕的后果是什么?
我能做些什么来防止那些坏事发生?
如果最坏的情况发生了,我能做什么来修复它?
如果我试过了甚至取得了小小的成功,那我会得到什么好处?
如果我害怕的事一件不做,半年、一年、三年后我的生活会怎么样
方法五:和未来的自己对话
一人饰两角,假装和85岁的自己对话