manus_inifinite_context_3 / run_chatbot.py
ChangranHuuu's picture
Update run_chatbot.py
3e6d957 verified
import os
import openai
from longcepo.main import run_longcepo
# from config_sambanova import SAMBANOVA_API_KEY # Removed import
# Configure Sambanova client
# Read API key from environment variable (set as Hugging Face Secret)
SAMBANOVA_API_KEY = os.environ.get("SAMBANOVA_API_KEY")
if SAMBANOVA_API_KEY:
# Strip potential leading/trailing whitespace and newlines
SAMBANOVA_API_KEY = SAMBANOVA_API_KEY.strip()
if not SAMBANOVA_API_KEY:
raise ValueError("Sambanova API key not found or is empty. Please set the SAMBANOVA_API_KEY environment variable or Hugging Face Secret.")
client = openai.OpenAI(
api_key=SAMBANOVA_API_KEY,
base_url="https://api.sambanova.ai/v1",
)
# Define the model to use
# SAMBANOVA_MODEL = "Llama-4-Maverick-17B-128E-Instruct"
SAMBANOVA_MODEL = "Meta-Llama-3.1-8B-Instruct"
def process_with_longcepo(system_prompt: str, initial_query: str):
"""Processes a query using the modified LongCePO plugin with Sambanova backend."""
print(f"Processing query with LongCePO using model: {SAMBANOVA_MODEL}")
try:
# Call the core LongCePO logic, passing the configured client and model
answer, total_tokens = run_longcepo(
system_prompt=system_prompt,
initial_query=initial_query,
client=client,
model=SAMBANOVA_MODEL
)
print(f"LongCePO finished. Total tokens used: {total_tokens}")
return answer
except Exception as e:
print(f"Error during LongCePO processing: {e}")
# Print traceback for more detailed debugging
import traceback
traceback.print_exc()
return f"An error occurred: {e}"
# Example usage (for testing purposes)
if __name__ == "__main__":
test_system_prompt = "You are a helpful assistant designed to answer questions based on the provided context."
# Provide some dummy context and a slightly more complex query
dummy_context = """
Paris is the capital and most populous city of France. It is known for its art, fashion, gastronomy and culture.
Its 19th-century cityscape is crisscrossed by wide boulevards and the River Seine.
Beyond such landmarks as the Eiffel Tower and the 12th-century, Gothic Notre-Dame cathedral, the city is known for its cafe culture and designer boutiques along the Rue du Faubourg Saint-Honoré.
The Louvre Museum houses Da Vinci's Mona Lisa. The Musée d'Orsay has Impressionist and Post-Impressionist masterpieces.
France is a country in Western Europe. It borders Belgium, Luxembourg, Germany, Switzerland, Monaco, Italy, Andorra, and Spain.
The official language is French.
"""
test_query = "Based on the provided text, what are the main attractions in Paris and what countries does France border?"
# Combine context and query with the expected delimiter
test_initial_query = f"{dummy_context}<CONTEXT_END>{test_query}"
print("Running test query...")
result = process_with_longcepo(test_system_prompt, test_initial_query)
print(f"\nTest Result:\n{result}")