langchain+langserver+langfuse整合streamlit构建基础智能体中心

Server Api******
#!/usr/bin/python

-- coding: UTF-8 --

import uvicorn
from fastapi import FastAPI
from base import FaissEngine
from langserve.server import add_routes
from langchain_core.prompts import PromptTemplate
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain.chains.retrieval_qa.base import RetrievalQA
from langchain.chains.summarize import load_summarize_chain
from langchain_community.chat_models.ollama import ChatOllama
from langchain.agents import AgentExecutor, create_react_agent
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_core.prompts.chat import HumanMessagePromptTemplate, SystemMessagePromptTemplate

TAVILY KEY

import os
os.environ[‘DISABLE_NEST_ASYNCIO’] = ‘True’
os.environ[‘TAVILY_API_KEY’] = ‘’

app = FastAPI(
name = “智能体服务器”,
title=“Agent Api Server”,
version=“0.1”,
description=“Agent Api 服务器”,
)

llm = ChatOllama(
model=“qwen:32b”,
base_url=“http://172.10.36.28:11434”, #callbacks=[StdOutCallbackHandler(), StreamingStdOutCallbackHandler()],
temperature=0.8)

翻译Agent

system_prompt = SystemMessagePromptTemplate(
prompt=PromptTemplate(
template="将以下内容翻译成 {language}: ",
input_variables=[“language”],
)
)

human_prompt = HumanMessagePromptTemplate(
prompt=PromptTemplate(
template=“{text}”,
input_variables=[“text”],
)
)

translate_template = ChatPromptTemplate.from_messages([system_prompt, human_prompt])
parser = StrOutputParser()
translate_agent = translate_template | llm | parser

add_routes(
app,
translate_agent,
path=“/translate”,
)

PDF 问答 Agent

faiss = FaissEngine()
vector_store = faiss.load_vector_store()
def get_qa_chain(vector_store):
prompt_template = “”“基于以下已知内容,简洁和专业的来回答用户的问题。
如果无法从中得到答案,清说"根据已知内容无法回答该问题”
答案请使用中文。
已知内容:
{context}
问题:
{question}“”"

    prompt = PromptTemplate(template=prompt_template,
                            input_variables=["context", "question"])

    return RetrievalQA.from_llm(llm=llm,
                                retriever=vector_store.as_retriever(),
                                prompt=prompt)

pdf_qa_agent = get_qa_chain(vector_store=vector_store)

add_routes(
app,
pdf_qa_agent,
path=“/pdf_qa”,
)

PDF 摘要 Agent

pdf_summary_template = “”"
以下是一组文档

{text}

根据这些文档,请确定主要主题。
答案请使用中文。
有用的答案:“”"

chain_type &

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值