马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
使用自定义大模型来部署Wren AI(开源的文本生成SQL方案)
关于
- 初次发表日期:2024-07-15
- Wren AI官方文档: https://docs.getwren.ai/overview/introduction
- Wren AI Github仓库: https://github.com/Canner/WrenAI
关于Wren AI
Wren AI 是一个开源的文本生成SQL办理方案。
前提准备
由于之后会使用docker来启动服务,以是首先确保docker已经安装好了,而且网络没问题。
先克隆仓库:
- git clone https://github.com/Canner/WrenAI.git
复制代码 关于在Wren AI中使用自定义大模型和Embedding模型
Wren AI目前是支持自定义LLM和Embedding模型的,其官方文档 https://docs.getwren.ai/installation/custom_llm 中有提及,须要创建自己的provider类。
其中Wren AI自己已经支持和OPEN AI兼容的大模型了;但是自定义的Embedding模型方面,大概会报错,具体来说是wren-ai-service/src/providers/embedder/openai.py中的以下代码
- if self.dimensions is not None:
- response = await self.client.embeddings.create(
- model=self.model, dimensions=self.dimensions, input=text_to_embed
- )
- else:
- response = await self.client.embeddings.create(
- model=self.model, input=text_to_embed
- )
复制代码 其中if self.dimensions is not None这个条件分支是会报错的(默认会运行这个分支),以是我的临时办理方案是注释掉它。
具体而言是在wren-ai-service/src/providers/embedder文件夹中创建一个openai_like.py文件,表现定义一个和open ai类似的embedding provider,取个名字叫做openai_like_embedder,具体的完整代码见本文附录。
设置docker环境变量等并启动服务
首先,进入docker文件夹,拷贝.env.example并重命名为.env.local。
然后拷贝.env.ai.example并重命名为.env.ai,修改其中的LLM和Embedding的设置,干系部分如下:
- LLM_PROVIDER=openai_llm
- LLM_OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxx
- LLM_OPENAI_API_BASE=http://api.siliconflow.cn/v1
- GENERATION_MODEL=meta-llama/Meta-Llama-3-70B
- # GENERATION_MODEL_KWARGS={"temperature": 0, "n": 1, "max_tokens": 32768, "response_format": {"type": "json_object"}}
- EMBEDDER_PROVIDER=openai_like_embedder
- EMBEDDING_MODEL=bge-m3
- EMBEDDING_MODEL_DIMENSION=1024
- EMBEDDER_OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxx
- EMBEDDER_OPENAI_API_BASE=https://xxxxxxxxxxxxxxxx/v1
复制代码 由于我们创建
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |