mirror of
https://github.com/hwchase17/langchain
synced 2024-10-29 17:07:25 +00:00
125 lines
3.8 KiB
Plaintext
125 lines
3.8 KiB
Plaintext
|
{
|
|||
|
"cells": [
|
|||
|
{
|
|||
|
"attachments": {},
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"# Baidu Qianfan\n",
|
|||
|
"\n",
|
|||
|
"Baidu AI Cloud Qianfan Platform is a one-stop large model development and service operation platform for enterprise developers. Qianfan not only provides including the model of Wenxin Yiyan (ERNIE-Bot) and the third-party open source models, but also provides various AI development tools and the whole set of development environment, which facilitates customers to use and develop large model applications easily.\n",
|
|||
|
"\n",
|
|||
|
"Basically, those model are split into the following type:\n",
|
|||
|
"\n",
|
|||
|
"- Embedding\n",
|
|||
|
"- Chat\n",
|
|||
|
"- Completion\n",
|
|||
|
"\n",
|
|||
|
"In this notebook, we will introduce how to use langchain with [Qianfan](https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html) mainly in `Embedding` corresponding\n",
|
|||
|
" to the package `langchain/embeddings` in langchain:\n",
|
|||
|
"\n",
|
|||
|
"\n",
|
|||
|
"\n",
|
|||
|
"## API Initialization\n",
|
|||
|
"\n",
|
|||
|
"To use the LLM services based on Baidu Qianfan, you have to initialize these parameters:\n",
|
|||
|
"\n",
|
|||
|
"You could either choose to init the AK,SK in enviroment variables or init params:\n",
|
|||
|
"\n",
|
|||
|
"```base\n",
|
|||
|
"export QIANFAN_AK=XXX\n",
|
|||
|
"export QIANFAN_SK=XXX\n",
|
|||
|
"```\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"\"\"\"For basic init and call\"\"\"\n",
|
|||
|
"from langchain.embeddings.baidu_qianfan_endpoint import QianfanEmbeddingsEndpoint \n",
|
|||
|
"\n",
|
|||
|
"import os\n",
|
|||
|
"os.environ[\"QIANFAN_AK\"] = \"xx\"\n",
|
|||
|
"os.environ[\"QIANFAN_SK\"] = \"xx\"\n",
|
|||
|
"\n",
|
|||
|
"embed = QianfanEmbeddingsEndpoint(qianfan_ak='xxx', \n",
|
|||
|
" qianfan_sk='xxx')\n",
|
|||
|
"res = embed.embed_documents([\"hi\", \"world\"])\n",
|
|||
|
"\n",
|
|||
|
"import asyncio\n",
|
|||
|
"\n",
|
|||
|
"async def aioEmbed():\n",
|
|||
|
" res = await embed.aembed_query(\"qianfan\")\n",
|
|||
|
" print(res)\n",
|
|||
|
"await aioEmbed()\n",
|
|||
|
"\n",
|
|||
|
"import asyncio\n",
|
|||
|
"async def aioEmbedDocs():\n",
|
|||
|
" res = await embed.aembed_documents([\"hi\", \"world\"])\n",
|
|||
|
" for r in res:\n",
|
|||
|
" print(\"\", r[:8])\n",
|
|||
|
"await aioEmbedDocs()\n",
|
|||
|
"\n",
|
|||
|
"\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"attachments": {},
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"## Use different models in Qianfan\n",
|
|||
|
"\n",
|
|||
|
"In the case you want to deploy your own model based on Ernie Bot or third-party open sources model, you could follow these steps:\n",
|
|||
|
"\n",
|
|||
|
"- 1. (Optional, if the model are included in the default models, skip it)Deploy your model in Qianfan Console, get your own customized deploy endpoint.\n",
|
|||
|
"- 2. Set up the field called `endpoint` in the initlization:"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"embed = QianfanEmbeddingsEndpoint(qianfan_ak='xxx', \n",
|
|||
|
" qianfan_sk='xxx',\n",
|
|||
|
" model=\"bge_large_zh\",\n",
|
|||
|
" endpoint=\"bge_large_zh\")\n",
|
|||
|
"\n",
|
|||
|
"res = embed.embed_documents([\"hi\", \"world\"])"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"metadata": {
|
|||
|
"kernelspec": {
|
|||
|
"display_name": "base",
|
|||
|
"language": "python",
|
|||
|
"name": "python3"
|
|||
|
},
|
|||
|
"language_info": {
|
|||
|
"codemirror_mode": {
|
|||
|
"name": "ipython",
|
|||
|
"version": 3
|
|||
|
},
|
|||
|
"file_extension": ".py",
|
|||
|
"mimetype": "text/x-python",
|
|||
|
"name": "python",
|
|||
|
"nbconvert_exporter": "python",
|
|||
|
"pygments_lexer": "ipython3",
|
|||
|
"version": "3.11.4"
|
|||
|
},
|
|||
|
"orig_nbformat": 4,
|
|||
|
"vscode": {
|
|||
|
"interpreter": {
|
|||
|
"hash": "6fa70026b407ae751a5c9e6bd7f7d482379da8ad616f98512780b705c84ee157"
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
"nbformat": 4,
|
|||
|
"nbformat_minor": 2
|
|||
|
}
|