Synthesizer[ΨΦ]: 多用途LLM框架 💡
使用Synthesizer,用户可以:
- 自定义数据创建:通过LLM生成满足您需求的数据集。
- 支持Anthropic、OpenAI、vLLM和HuggingFace。
- 按需检索增强生成(RAG):内置RAG提供者接口,将生成的数据与真实世界的来源关联。
- 与Agent Search API无缝集成。
- 自定义数据创建:通过LLM生成满足您需求的数据集,用于LLM训练、RAG等多种用途。
快速设置
pip install sciphi-synthesizer
使用Synthesizer
-
生成合成问答对
export SCIPHI_API_KEY=MY_SCIPHI_API_KEY python -m synthesizer.scripts.data_augmenter run --dataset="wiki_qa"
tail augmented_output/config_name_eq_answer_question__dataset_name_eq_wiki_qa.jsonl { "formatted_prompt": "... ### Question:\nwhat country did wine originate in\n\n### Input:\n1. URL: https://en.wikipedia.org/wiki/History%20of%20wine (Score: 0.85)\nTitle:History of wine....", { "completion": "Wine originated in the South Caucasus, which is now part of modern-day Armenia ..."
-
评估RAG管道性能
export SCIPHI_API_KEY=MY_SCIPHI_API_KEY python -m synthesizer.scripts.rag_harness --rag_provider="agent-search" --llm_provider_name="sciphi" --n_samples=25
文档
欲了解更详细的信息、教程和API参考,请访问官方Synthesizer文档。
社区与支持
使用Synthesizer进行开发
快速设置RAG增强生成,可选择OpenAI、Anhtropic、vLLM和SciPhi等提供商:
# 需要在环境变量中设置SCIPHI_API_KEY
from synthesizer.core import LLMProviderName, RAGProviderName
from synthesizer.interface import LLMInterfaceManager, RAGInterfaceManager
from synthesizer.llm import GenerationConfig
# RAG提供者设置
rag_interface = RAGInterfaceManager.get_interface_from_args(
RAGProviderName("agent-search"),
limit_hierarchical_url_results=rag_limit_hierarchical_url_results,
limit_final_pagerank_results=rag_limit_final_pagerank_results,
)
rag_context = rag_interface.get_rag_context(query)
# LLM提供者设置
llm_interface = LLMInterfaceManager.get_interface_from_args(
LLMProviderName("openai"),
)
generation_config = GenerationConfig(
model_name=llm_model_name,
max_tokens_to_sample=llm_max_tokens_to_sample,
temperature=llm_temperature,
top_p=llm_top_p,
# 其他生成参数在这里设置...
)
formatted_prompt = raw_prompt.format(rag_context=rag_context)
completion = llm_interface.get_completion(formatted_prompt, generation_config)