LangChain --- 如何连接硅基流动(SiliconFlow)

最近刚刚着手学习LangChain,学习了部分原理,参考上一篇文章

LangChain 学习记录 (1)

在刚刚准备上手实践就遇到了问题。由于国内限制,在我的本地调用Google和OpenAI的API一直不通。于是想起了硅基流动平台上的诸多模型,但中途一直提示我的token无效,无奈只能参考其他人的博客,终于找到了对应的方法。

 一、硅基流动(SiliconFlow)

官网:硅基流动(SiliconFlow)

siliconflow 集合了顶尖大模型, 致力于为开发者提供更快、更全面、体验更丝滑的模型 API,助力开发者和企业聚焦产品创新,无须担心产品大规模推广所带来的高昂算力成本。

1、关于模型

注册并登录硅基流动后,会有部分赠送金额,可用于体验付费模型。

具体每个模型的计费可在模型广场内点击查看,如图所示

 2、创建API密钥

在左侧点击API密钥,点击新建API密钥

如图所示的密钥描述可随便自定义,该密钥权限拥有账户的完整权限,注意不要泄露。 

创建完成后,点击密钥即可复制;或者点击右侧的复制图标

二、使用LangChain进行连接

1、选择模型

可选择免费的模型进行代码调试,避免浪费调用次数。

打开模型筛选器,选择只看免费,随机挑选一个模型即可

### LangChain流动技术实现及教程 #### 1. 环境配置 在使用LangChain调用流动DeepSeek API时,首先需要确保环境正确配置。通过创建虚拟环境并激活,可以避免依赖冲突问题。例如,在终端中执行以下命令以激活虚拟环境: ```bash conda activate langchain-learn ``` 这一步完成后,终端提示符会变为 `(langchain-learn)`[^1]。 #### 2. API密钥设置 为了能够成功调用流动API,需要正确配置环境变量。以下是设置API密钥和础URL的代码示例: ```python import os os.environ["OPENAI_API_KEY"] = "sk-你的流动Key" os.environ["OPENAI_API_BASE"] = "https://api.siliconflow.cn/v1" ``` 此步骤确保了LangChain能够正确连接流动的服务[^2]。 #### 3. 调用大模型生成内容 通过LangChain结合流动API,可以轻松实现文本生成、图片生成等任务。例如,以下代码展示了如何生成一张未来城市的高清图片: ```python from langchain.llms import DeepSeek from PIL import Image import requests from io import BytesIO # 初始化DeepSeek模型 llm = DeepSeek(model_name="kwai-kolors") # 图片生成提示词 prompt = "a sprawling futuristic city at night, neon lights glowing, towering skyscrapers, flying cars in the sky, cyberpunk style, vibrant colors, highly detailed, ultra realistic" # 调用模型生成图片 response = llm.generate_image(prompt) # 加载生成的图片 image = Image.open(BytesIO(requests.get(response['url']).content)) image.show() ``` 上述代码片段利用了流动提供的Kwai-Kolors大模型,实现了根据描述性文本生成高质量图片的功能[^3]。 #### 4. Reranker重排序模型调用 在某些场景下,可能需要对检索结果进行重排序以提高相关性。流动提供了reranker接口,LangChain可以通过以下方式实现调用: ```python from langchain.prompts import PromptTemplate from langchain.chains import LLMChain from langchain.llms import DeepSeek # 定义重排序提示模板 template = """Given the following retrieved documents, rank them based on relevance to the query: {query}. Documents: {docs}""" prompt = PromptTemplate(template=template, input_variables=["query", "docs"]) # 初始化LLM链 llm = DeepSeek(model_name="reranker") chain = LLMChain(llm=llm, prompt=prompt) # 示例输入 query = "how to use langchain with silicon flow" docs = ["doc1: introduction to langchain", "doc2: integrating langchain with deepseek"] # 执行重排序 result = chain.run({"query": query, "docs": docs}) print(result) ``` 该代码片段展示了如何通过LangChain构建一个流动reranker模型的重排序系统[^4]。 #### 5. 常见问题处理 在实际开发过程中,可能会遇到HTTP状态码为422的情况,这通常意味着请求的内容格式正确但语义有误。解决方法包括检查输入参数是否符合API要求以及确认模型名称是否正确[^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值