【AI】Langchain框架学习12~14


Langchain框架学习12

了解one-api平台,为各llm接口进行了转发,可以实现不同的功能调用不同的llm

  • 在one-api前端平台新建一个api key,之后可以配置可调用的模型
  • 在代码中使用ChatOpenAI调用即可。

Langchain框架学习13

了解fastgpt的配置文件,可配套使用的工具和配置(one-api,ollama等)


Langchain框架学习14

了解langserver和gradio
一个是(主要)用来构建服务端的,一个是用来构建前端页面的。

  • langserver
    • 提供给server服务和客户端client的服务,两个都用就选all
    • 对于langchain来说,就是可以快速简单的把chain暴露成网络服务,提供给其他应用访问
    • 启动server后,可以作为LCEL中的一环
    • 启动后,可以进入localhost:8000/docs页面看见所有暴露出来的后端接口(或者说方法),也可以直接在里面测试接口。
    • 启动后,可以进入localhost:8000/langchainDemo/playground页面,展现的就是一个比较像前端界面的功能口,可以直接在里面测试写好的功能或方法。不仅展示功能输入和结果,还会展示运行过程。
# 安装
# 构建langserver服务端的依赖
#!pip install "langserve[server]"
# 构建langserver客户端的依赖
#!pip install "langserve[client]"
# 服务端+客户端整合依赖
!pip install "langserve[all]"

# 构建一个简单的chain
# 提示词模板
prompt_template = ChatPromptTemplate.from_messages([
    ("system", "Translat the following from English into {language}"), 
    ("user", "{text}")
])
# 构建阿里云百炼大模型客户端
llm = ChatOpenAI(
    model="qwen-plus",
    base_url "https://dashscope_aliyunes_com/compatible-mode/v1",
    openai_api_key=load_key("BAILIAN_API_KEY")
)

# 结果解析器 StrOutputParser会AIMessage转换成为str,实际上就是获取AIMessage的content属性。
parser = StrOutputParser()
# 构建链
chain = prompt_template | llm | parser
# 直接调用链
print (chain.invoke({"text": "nice to meet you", "language": "Chinese"}))

# 构建server服务端
from fastapi import FastAPI
from langserve import add_routes
# 构建服务端对象
app = FastAPI(
    title="大模型语言翻译助手",
    version="v1.0",
    description="基于LangChain框架构建的大模型语言翻译助手")
# 添加路由信息
add_routes(app, chain, path="/LangchainDemo")

# 启动服务
if __name__ == "__main__" :
    import uvicorn
    uvicorn.run(app, host="0.0.0.0" port=8000)

以上这段代码要在python文件中运行

python ./langserver/myserver.py

提供给app使用

# 提供给app使用
from langserve import RemoteRunnable

client = RemoteRunnable("http://127.0.0.1:8000/LangchainDemo")
client.invoke({
    "text":"nice to meet you", 
    "language": "Chinese"
    })        
  • gradio
    • 用于构建前端界面,测试功能方法,语法简单,包含下拉框,按钮,文本框等大多数的前端组件,一键使用即可。
# 安装Gradio依赖。要求python版本>=3.10
!pip install -qU gradio

import gradio as gr 
def greet(name, intensity):
    return "Hello," + name + "!" * int(intensity)

demo = gr.Interface(
    fn=greet,
    inputs=[gr.Text(Label="Name"), gr.Slider (Label="Intensity", minimum=0, maximum=10, step=1)],
    outputs=[gr.Text(Label="Output")],
)

demo.Launch()
#share=True表示可以基于HuggingFace的虚拟服务直接分享这个页面给其他人。tizi

# 停止服务
demo.close()
posted @ 2026-08-04 17:11  leah-xx  阅读(5)  评论(0)    收藏  举报