MemFire教程|FastAPI+MemFire Cloud+LangChai

基本介绍
上篇文章我们讲解了使用+ Cloud+进行GPT知识库开发的基本原理和关键路径的代码实现 。目前完整的实现代码已经上传到了,感兴趣的可以自己玩一下:
目前代码主要完成了如下一些基本功能:
本篇文章我们将介绍一下如何部署示例代码 。
准备工作
-- Enable the pgvector extension to work with embedding vectorscreate extension vector;-- Create a table to store your documentscreate table documents (id uuid primary key,content text, -- corresponds to Document.pageContentmetadata jsonb, -- corresponds to Document.metadataembedding vector(1536) -- 1536 works for OpenAI embeddings, change if needed);CREATE FUNCTION match_documents(query_embedding vector(1536), match_count int)RETURNS TABLE(id uuid,content text,metadata jsonb,-- we return matched vectors to enable maximal marginal relevance searchesembedding vector(1536),similarity float)LANGUAGE plpgsqlAS $$# variable_conflict use_columnBEGINRETURN querySELECTid,content,metadata,embedding,1 -(documents.embedding <=> query_embedding) AS similarityFROMdocumentsORDER BYdocuments.embedding <=> query_embeddingLIMIT match_count;END;$$;
如何运行 linux 下运行
1.安装依赖
pip install -r app/requirements.txt
2.设置参数
/分别对应应用URL和密钥 。注意秘钥具有比较高的数据库操作权限,只能用于服务端配置,不要泄漏 。
export DOCS_PATH=./docsexport SUPABASE_URL="your-api-url"export SUPABASE_KEY="your-service-role-key"export OPENAI_API_KEY="your-openai-api-key"
3.运行
uvicorn main:app --reload --host 0.0.0.0
运行
docker build -t memfirecloud-qa:v1 .docker run -p 8000:80 \-e SUPABASE_URL="your-api-url" \-e SUPABASE_KEY="your-service-role-key" \-e OPENAI_API_KEY="your-openai-api-key" \-v ./docs:/docs \memfirecloud-qa:v1

MemFire教程|FastAPI+MemFire Cloud+LangChai

文章插图
下运行(没测试)
与linux类似,设置相关环境变量,然后运行:
uvicorn main:app --reload --host 0.0.0.0
如何访问
用浏览器访问: :8000/可以显示一个简单的问答页面
支持的参数配置
# 本地文档路径export DOCS_PATH=./docs# memfire cloud 应用的API URL和Service role keyexport SUPABASE_URL="your-api-url"export SUPABASE_KEY="your-service-role-key"# 使用openai / baidu 的大模型export QA_BACKEND="openai" # 默认值# openai 相关配置(QA_BACKEND=openai是需要)export OPENAI_ORGANIZATION="your-openai-organization"export OPENAI_API_KEY="your-openai-api-key"export OPENAI_MODEL="gpt-3.5-turbo"# 默认值# 百度相关配置(QA_BACKEND=baidu时需要)export BAIDU_API_KEY="your-baidu-api-key"export BAIDU_API_SECRET="your-baidu-api-secret"export BAIDU_MODEL="ERNIE-Bot-turbo" # 默认值
接下来可以做的事情
【MemFire教程|FastAPI+MemFire Cloud+LangChai】感兴趣的可以提交pr,一起完善功能 。