摘要:本文是对自己学习基于LangChain学习LLM开发的记录,根据LangChain官网使用LCEL构建了一个简单的LLM应用程序。
1.获取各个LLM模型的api。比如OPENAI、讯飞星火大模型等。本文使用讯飞星火大模型进行开发。使用OPENAI的api显示超额,但是明明有18美元的余额,如果读者知道的话请解答。
获取讯飞星火大模型的api本文不再赘述。
2.本文使用PyCharm进行开发。anaconda配置虚拟环境
conda create -n llm python=3.9
3.接下来是对项目的说明。
第一步
创建提示模板
system_template = "Translate the following into {language}:"
prompt_template = ChatPromptTemplate.from_messages([
('system', system_template),
('user', '{text}')
])
第二步
创建调用的模型
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.5/chat'
SPARKAI_APP_ID = ''
SPARKAI_API_SECRET = ''
SPARKAI_API_KEY = ''
SPARKAI_DOMAIN = 'generalv3.5'
model = ChatSparkLLM(
spark_app_id=SPARKAI_APP_ID, spark_api_key=SPARKAI_API_KEY, spark_api_secret=SPARKAI_API_SECRET
)
其中 SPARKAI_APP_ID, SPARKAI_API_SECRET, SPARK_API_KEY 可以在讯飞星火大模型控制台获取api后得知。
第三步
创建解析器
parser = StrOutputParser()
解析器的作用是让调用大模型得到的输出更便于阅读。(本人刚开始学习的浅显见解)
第四步
创建链(链在一起)
chain = prompt_template | model | parser
第五步
FAST APP 的app定义
app = FastAPI(
title="LangChain Server",
version="1.0",
description="A simple API server using LangChain's Runnable interfaces",
)
第六步
添加链路
add_routes(
app,
chain,
path="/chain",
)
第七步
运行!
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="localhost", port=8000)
下面是最后的运行效果截图
访问地址是localhost:8000/chain/playground/ 别输错啦!
有一个问题希望看到的大佬解答
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = getpass.getpass()'''
这是根据官网的说明调用LANGSMITH查看后台数据,但是我运行这段的时候没有结果就好像无法连接一样,但是我使用了clash小猫,望解答!
下面是整个代码
#!/usr/bin/env python
from typing import List
from fastapi import FastAPI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_community.chat_models import ChatSparkLLM
from langserve import add_routes
# 1. Create prompt template
system_template = "Translate the following into {language}:"
prompt_template = ChatPromptTemplate.from_messages([
('system', system_template),
('user', '{text}')
])
# 2. Create model
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.5/chat'
SPARKAI_APP_ID = '7275269b'
SPARKAI_API_SECRET = 'ZmQ0NTRjYWYxZjExMjNiODY1ZGU1ZGQ3'
SPARKAI_API_KEY = '4794036911ddff294d676d6567f1daac'
SPARKAI_DOMAIN = 'generalv3.5'
model = ChatSparkLLM(
spark_app_id=SPARKAI_APP_ID, spark_api_key=SPARKAI_API_KEY, spark_api_secret=SPARKAI_API_SECRET
)
# 3. Create parser
parser = StrOutputParser()
# 4. Create chain
chain = prompt_template | model | parser
# 4. App definition
app = FastAPI(
title="LangChain Server",
version="1.0",
description="A simple API server using LangChain's Runnable interfaces",
)
# 5. Adding chain route
add_routes(
app,
chain,
path="/chain",
)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="localhost", port=8000)
以上就是我根据Langchain官网构建的第一个简单的LLM模型,作为我学习LLM开发的记录的第一篇文章,有任何不对的地方欢迎指正!
标签:template,chain,api,app,应用程序,API,LLM,LCEL,SPARKAI From: https://blog.csdn.net/java_lover222/article/details/140775942