Skip to content

A new package that analyzes text input to determine sentiment intensity and polarity toward specific tech CEOs or companies, returning structured scores and rankings. It uses pattern matching to ensur

Notifications You must be signed in to change notification settings

chigwell/tech-sentiment-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Tech Sentiment Analyzer

PyPI version License: MIT Downloads LinkedIn

A Python package for analyzing text input to determine sentiment intensity and polarity toward specific tech CEOs or companies. It provides structured scores and rankings with confidence metrics, ensuring consistent output through pattern matching.


📦 Installation

Install the package via pip:

pip install tech_sentiment_analyzer

✨ Features

  • Sentiment Analysis: Extracts sentiment intensity and polarity for tech-related entities (CEOs, companies).
  • Structured Output: Returns standardized scores and confidence metrics.
  • Pattern Matching: Ensures consistent output format via regex validation.
  • Flexible LLM Integration: Works with default ChatLLM7 or custom LLMs (OpenAI, Anthropic, Google, etc.).
  • No External Data Access: Processes only user-provided text (no API calls to external sources).

🚀 Usage

Basic Usage (Default LLM7)

from tech_sentiment_analyzer import tech_sentiment_analyzer

response = tech_sentiment_analyzer(
    user_input="Elon Musk's recent tweets show mixed sentiment about SpaceX's Mars mission."
)
print(response)

Custom LLM Integration

Using OpenAI:

from langchain_openai import ChatOpenAI
from tech_sentiment_analyzer import tech_sentiment_analyzer

llm = ChatOpenAI()
response = tech_sentiment_analyzer(
    user_input="Satya Nadella's leadership at Microsoft has been widely praised.",
    llm=llm
)
print(response)

Using Anthropic:

from langchain_anthropic import ChatAnthropic
from tech_sentiment_analyzer import tech_sentiment_analyzer

llm = ChatAnthropic()
response = tech_sentiment_analyzer(
    user_input="Tim Cook's focus on privacy at Apple has sparked debates.",
    llm=llm
)
print(response)

Using Google Generative AI:

from langchain_google_genai import ChatGoogleGenerativeAI
from tech_sentiment_analyzer import tech_sentiment_analyzer

llm = ChatGoogleGenerativeAI()
response = tech_sentiment_analyzer(
    user_input="Sundar Pichai's vision for Google's AI future is ambitious.",
    llm=llm
)
print(response)

🔧 Parameters

Parameter Type Description
user_input str The text input to analyze for sentiment.
api_key Optional[str] LLM7 API key (defaults to LLM7_API_KEY environment variable).
llm Optional[BaseChatModel] Custom LLM instance (e.g., ChatOpenAI, ChatAnthropic). Defaults to ChatLLM7.

🔑 API Key & Rate Limits

  • Default LLM: Uses ChatLLM7 (from langchain_llm7).
  • Free Tier: Sufficient for most use cases (check LLM7 docs for limits).
  • Custom API Key: Pass via api_key parameter or LLM7_API_KEY environment variable:
    response = tech_sentiment_analyzer(
        user_input="Example text...",
        api_key="your_llm7_api_key"
    )

📝 Output Format

The function returns a list of structured sentiment scores (e.g., polarity, intensity, confidence) extracted via regex-matching. Example output:

[
    {"entity": "Elon Musk", "polarity": "positive", "intensity": 0.85, "confidence": 0.92},
    {"entity": "SpaceX", "polarity": "neutral", "intensity": 0.30, "confidence": 0.88}
]

🛠️ Development & Support


🔗 References

Releases

No releases published

Packages

No packages published

Languages