可能最小的LLM API
项目描述
MicroLlama
可能最小的LLM API。只需几分钟即可构建自己的内容问答界面。使用OpenAI嵌入,gpt-3.5和Faiss,通过Langchain。
用法
- 将源文档合并成一个名为
source.json
的JSON文件。它应该看起来像这样
[
{
"source": "Reference to the source of your content. Typically a title.",
"url": "URL for your source. This key is optional.",
"content": "Your content as a single string. If there's a title or summary, put these first, separated by new lines."
},
...
]
见example.source.json
的示例。
- 在虚拟环境中安装MicroLlama
pip install microllama
-
获取OpenAI API密钥并将其添加到环境中,例如
export OPENAI_API_KEY=sk-etc
。请注意,索引和查询需要OpenAI积分,这些积分并非免费。 -
使用
microllama
运行您的服务器。如果不存在向量搜索索引,它将从您的source.json
创建,并存储。 -
在/api/ask?your question处查询您的文档。
-
Microllama包含一个可选的Web前端,该前端通过
microllama make-front-end
生成。该命令创建一个可编辑的index.html
文件。它托管在/。
配置
Microllama通过环境变量进行配置,以下为默认值
OPENAI_API_KEY
: 必需FAISS_INDEX_PATH
: "faiss_index"SOURCE_JSON
: "source.json"MAX_RELATED_DOCUMENTS
: "5"EXTRA_CONTEXT
: "回答不超过三句话。如果答案未包含在上下文中,则说'抱歉,我的源中没有这个问题的答案。'"。UVICORN_HOST
: "0.0.0.0"UVICORN_PORT
: "8080"
部署您的API
使用 microllama make-dockerfile
创建一个 Dockerfile。然后
在 Fly.io 上
fly launch # answer no to Postgres, Redis and deploying now
fly secrets set OPENAI_API_KEY=sk-etc
fly deploy
在 Google Cloud Run 上
gcloud run deploy --source . --set-env-vars="OPENAI_API_KEY=sk-etc"
对于 Cloud Run 和其他无服务器平台,您应该在容器构建时生成 FAISS 索引,以减少启动时间。请参阅 Dockerfile
中的两条注释行。
您还可以使用 microllama deploy
生成这些命令。
基于
- Langchain
- Simon Willison 的 博客文章,datasette-openai 和 datasette-faiss。
- FastAPI
- GPT Index
- Dagster 博客文章
待办事项
- 使用拆分来生成更有意义的片段,例如:text_splitter =
SpacyTextSplitter(chunk_size=700, chunk_overlap=200, separator=" ")
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
microllama-0.4.10.tar.gz (17.1 kB 查看哈希值)
构建分布
microllama-0.4.10-py2.py3-none-any.whl (15.6 kB 查看哈希值)
关闭
microllama-0.4.10.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f1a7edeea78616502209e675533397cf9e75060f4719630b270a35d07db535af |
|
MD5 | cbf181fe946fdf0acb07e8acab507d4d |
|
BLAKE2b-256 | 45fcfe068641c2339536dd033b99e330905691bd4d15b7b45e2c6c82980cdf57 |
关闭
microllama-0.4.10-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7ea8dcb2e5b39aebef09e771be694dcc12803b5ff3cb1860053efb53ae001c4d |
|
MD5 | 39f188f9e5013d7cd4a9f1fdfa693337 |
|
BLAKE2b-256 | d993292ea7c7248030ec2188e2420e0d78116b698fa3ee0bbe175a0457973b9a |