Skip to main content

Synthesizer[ΨΦ]: A multi-purpose LLM framework 💡

SciPhi Logo

With Synthesizer, users can:

  • Custom Data Creation: Generate datasets via LLMs that are tailored to your needs.
    • Anthropic, OpenAI, vLLM, and HuggingFace.
  • Retrieval-Augmented Generation (RAG) on Demand: Built-in RAG Provider Interface to anchor generated data to real-world sources.
    • Turnkey integration with Agent Search API.
  • Custom Data Creation: Generate datasets via LLMs that are tailored to your needs, for LLM training, RAG, and more.

Fast Setup

pip install sciphi-synthesizer

Using Synthesizer

  1. Generate synthetic question-answer pairs

    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 ..."
    
  2. Evaluate RAG pipeline performance

    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
    

Documentation

For more detailed information, tutorials, and API references, please visit the official Synthesizer Documentation.

Community & Support

  • Engage with our vibrant community on Discord.
  • For tailored inquiries or feedback, please email us.

Developing with Synthesizer

Quickly set up RAG augmented generation with your choice of provider, from OpenAI, Anhtropic, vLLM, and SciPhi:

# Requires SCIPHI_API_KEY in env

from synthesizer.core import LLMProviderName, RAGProviderName
from synthesizer.interface import LLMInterfaceManager, RAGInterfaceManager
from synthesizer.llm import GenerationConfig

# RAG Provider Settings
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 Provider Settings
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,
    # other generation params here ...
)

formatted_prompt = raw_prompt.format(rag_context=rag_context)
completion = llm_interface.get_completion(formatted_prompt, generation_config)

Metadata

Release files for sciphi-synthesizer 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sciphi-synthesizer 1.0.5
File Size Uploaded
sciphi_synthesizer-1.0.5.tar.gz 144.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sciphi-synthesizer 1.0.5
File Interpreter ABI Platform
sciphi_synthesizer-1.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 308.5 kB

Release files / sciphi_synthesizer-1.0.5.tar.gz

Download URL sciphi_synthesizer-1.0.5.tar.gz
Size 144.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c8f5db3e4b222edb501d7096579bac6d2659fdbc180bbdd7b6e726eb6eedd6c5
BLAKE2b-256 checksum
How to use checksums
465008020d06f4453916627e2a9e62e873cadbb7f21455a0ce97d22c8de7813c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.9.18 Linux/6.2.0-1018-azure

Release files / sciphi_synthesizer-1.0.5-py3-none-any.whl

Download URL sciphi_synthesizer-1.0.5-py3-none-any.whl
Size 164.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be1a736e8e7c7ed41f2ec2d639d1f59be46dad871e52b8e28c37798419a2aa5a
BLAKE2b-256 checksum
How to use checksums
a1ce5e9562d6b76911186f1555b21a439ced43c2a5c18c9e5693146d807ef3fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.9.18 Linux/6.2.0-1018-azure

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page