microllama
1.0.0
尽可能最小的 LLM API。在几分钟内为您自己的内容构建一个问答界面。通过 Langchain 使用 OpenAI 嵌入、gpt-3.5 和 Faiss。
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
。
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
:“源.json”MAX_RELATED_DOCUMENTS
:“5”EXTRA_CONTEXT
:“回答不超过三句话。如果答案未包含在上下文中,请说‘抱歉,我的资料来源中没有对此的答案。’”UVICORN_HOST
:“0.0.0.0”UVICORN_PORT
:“8080” 使用microllama make-dockerfile
创建 Dockerfile 。然后:
注册 Fly.io 帐户并安装 Flyctl。然后:
fly launch # answer no to Postgres, Redis and deploying now
fly secrets set OPENAI_API_KEY=sk-etc
fly deploy
gcloud run deploy --source . --set-env-vars= " OPENAI_API_KEY=sk-etc "
对于 Cloud Run 和其他无服务器平台,您应该在容器构建时生成 FAISS 索引,以减少启动时间。请参阅Dockerfile
中的两行注释。
您还可以使用microllama deploy
生成这些命令。
SpacyTextSplitter(chunk_size=700, chunk_overlap=200, separator=" ")