llm_adaptive_router
1.0.0
LLM Adaptive Router เป็นแพ็คเกจ Python ที่เปิดใช้งานการเลือกโมเดลแบบไดนามิกตามเนื้อหาการสืบค้น มันใช้การค้นหาเวกเตอร์ที่มีประสิทธิภาพสำหรับการจัดหมวดหมู่เริ่มต้นและการเลือกแบบละเอียดตาม LLM สำหรับกรณีที่ซับซ้อน เราเตอร์สามารถปรับและเรียนรู้จากข้อเสนอแนะทำให้เหมาะสำหรับแอปพลิเคชันที่หลากหลาย
คุณสามารถติดตั้ง LLM Adaptive Router โดยใช้ PIP:
pip3 install llm-adaptive-routerนี่คือตัวอย่างพื้นฐานของวิธีการใช้ LLM Adaptive Router:
from llm_adaptive_router import AdaptiveRouter , RouteMetadata
from langchain_chroma import Chroma
from langchain_openai import OpenAIEmbeddings , ChatOpenAI
from dotenv import load_dotenv
load_dotenv ()
gpt_3_5_turbo = ChatOpenAI ( model = "gpt-3.5-turbo" )
mini = ChatOpenAI ( model = "gpt-4o-mini" )
gpt_4 = ChatOpenAI ( model = "gpt-4" )
routes = {
"general" : RouteMetadata (
invoker = gpt_3_5_turbo ,
capabilities = [ "general knowledge" ],
cost = 0.002 ,
example_sentences = [ "What is the capital of France?" , "Explain photosynthesis." ]
),
"mini" : RouteMetadata (
invoker = mini ,
capabilities = [ "general knowledge" ],
cost = 0.002 ,
example_sentences = [ "What is the capital of France?" , "Explain photosynthesis." ]
),
"math" : RouteMetadata (
invoker = gpt_4 ,
capabilities = [ "advanced math" , "problem solving" ],
cost = 0.01 ,
example_sentences = [ "Solve this differential equation." , "Prove the Pythagorean theorem." ]
)
}
llm = ChatOpenAI ( model = "gpt-3.5-turbo" )
router = AdaptiveRouter (
vectorstore = Chroma ( embedding_function = OpenAIEmbeddings ()),
llm = llm ,
embeddings = OpenAIEmbeddings (),
routes = routes
)
query = "How are you"
query2 = "Write a Python function to hello world"
selected_model_route = router . route ( query )
selected_model_name = selected_model_route
print ( selected_model_name )
invoker = selected_model_route . invoker
response = invoker . invoke ( query )
print ( f"Response: { response } " ) ใช้ฟังก์ชัน create_route_metadata เพื่อกำหนดเส้นทาง:
from llm_adaptive_router import create_route_metadata
route = create_route_metadata (
invoker = model_function ,
capabilities = [ "capability1" , "capability2" ],
cost = 0.01 ,
example_sentences = [ "Example query 1" , "Example query 2" ],
additional_info = { "key" : "value" }
) สร้างอินสแตนซ์ของ AdaptiveRouter ด้วยเส้นทางที่กำหนดไว้ของคุณ:
router = AdaptiveRouter (
vectorstore = your_vectorstore ,
llm = your_llm ,
embeddings = your_embeddings ,
routes = your_routes
) ใช้วิธี route เพื่อเลือกรุ่นที่เหมาะสมสำหรับการสืบค้น:
selected_model_route = router . route ( "Your query here" )
selected_model_name = selected_model_route . model
invoker = selected_model_route . invoker
response = invoker . invoke ( "Your query here" )ปรับปรุงประสิทธิภาพของเราเตอร์โดยให้ข้อเสนอแนะ:
router . add_feedback ( query , selected_model , performance_score )VectorStore จาก Langchain router . add_route ( "new_route" , new_route_metadata )
router . remove_route ( "old_route" ) router . set_complexity_threshold ( 0.8 )
router . set_update_frequency ( 200 )