2024-04-17 22:31:43 UTC |
2024-04-18 |
Google Gemini真的是不想让人用,gemini-pro不支持system_instruction参数(类system message),只有gemini-1.5-pro才支持, 那我还得给这2个模型写2个方法? 无法理解。
只能设置为"only support gemini-1.5-pro-latest"
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